Take the 2-minute tour ×

Can a computer mouse (optical) be considered an embedded device? Does it adhere to the definition of an embedded system?

Is there any good reference for how a computer mouse is made?

share|improve this question

closed as primarily opinion-based by Majenko, Daniel Grillo, Matt Young, Leon Heller, Nick Alexeev Jun 27 '14 at 17:57


Possibly if you were writing the code that runs on the image recognition chip. You might be able to find a teardown such as : ifixit.com/Teardown/Cabstone+Wired+Optical+Mouse+Teardown/13252 –  pjc50 Jun 27 '14 at 15:58
First you have to answer the question "what is an embedded system", and then consider "what is a computer mouse" and see if they match. Some mice could be considered an embedded system, some definitely could not. Because of that fuzziness this is mostly going to be about peoples opinions, not facts. As such the question can not be answered correctly and so doesn't fit on this site. –  Majenko Jun 27 '14 at 16:06
The average HID optical mouse is definitely an embedded system. –  Matt Young Jun 27 '14 at 17:27
I tried to answer this, but the question was closed as I was typing. So I'll put my thoughts here, because I don't think the issue of wired vs wireless was brought up. 1) older style mechanical mouse with a mouse ball and wired connection to the PC, either PS/2 or RS232 but not USB - not embedded; 2) any optical mouse, whether wired or not - embedded; 3) any mouse with USB, whether mechanical or optical - embedded; 4) any wireless mouse, whether mechanical or optical - embedded. I don't know why this was closed as opinion based, seems pretty cut and dried to me. –  tcrosley Jun 27 '14 at 18:07
I can't see how this is opinion based. The definitions involved here are used in many hardware design / computer organization books like Patterson and Hennessy which I brought as an example (they also support the rest of the "opinions" I presented). Their books are de facto standard in most computer organization classes. Anyone who took EE classes is familiar with these standard definitions. The fact someone comes along and writes something different due to lack of understanding doesn't validate his opinion (which is not referenced BTW). –  user34920 Jun 28 '14 at 7:56

2 Answers 2

up vote 8 down vote accepted

An embedded system is a computer which is found inside another device to serve a specific purpose. Old mice (with balls) did not have all the components of a computer inside them, so they were equipped with logic devices but not a computer and if you don't have a computer it can't be an embedded system.

The definition of a computer I'm using is of a device that can be programmed with some form of CPU, memory and perhaps some I/O. Other definitions exist and are more or less similar.

Modern optical mice have a processor integrated into an ASIC that drives a camera that takes pictures of a surface, records them to memory, and compares them against newer pictures and decides in which direction the device was moved. This qualifies as an embedded system so a modern mouse is an embedded system.

The fact you connect it as a peripheral is not contradictory.

share|improve this answer
Anything that gives a consistent output for a given input (or a given sequence of inputs) is a "computer", even a simple analog circuit. –  markt Jun 28 '14 at 0:12
You refer to a "dictionary" definition, which is valid but incomplete. The components that make up a computer could be digital or analog, doesn't matter. The implementation could be something like the 1910 Analytical Engine which is mechanical - still a computer. The definition you brought up is behavioral vs. the one I presented which is structural and is widely accepted in the hardware world (Patterson & Hennessy for example). The problem with the behavioral def. is that it suggests an FSM is a computer, however it might not be (a binary counter for example). –  user34920 Jun 28 '14 at 0:49

An optical mouse is an embedded system. Because it is meant for a specific (not general purpose) or dedicated function or use.

My suggestion is, first try to understand how a mouse works. Then read about various mouse protocols. I think those resources are sufficient to design a mouse.

share|improve this answer
do you mean that we have to program the controller inside a mouse to do what it does? –  DesirePRG Jun 27 '14 at 16:06
@DesirePRG Yes. The analog values output of optical sensor must be converted digital data. This digital data should be sent to PC in a 'specific' format. For doing these you need a controller. To detect a device as mouse, the controller inside the mouse has to send a few initial commands also. –  nidhin Jun 27 '14 at 16:11
You have to use any standard mouse protocols for communication. And you need a controller for implementing that. –  nidhin Jun 27 '14 at 16:16
so any computer mouse is an embedded device? –  DesirePRG Jun 27 '14 at 16:22
@nidhin, Embedded Device refers to the on-board systems that run the mouse. The mouse is considered an embedded device because it is run by an embedded system. –  sherrellbc Jun 27 '14 at 16:52
