Convert Your Old Optical Mouse CCD into a Scanner ! (Tutorial Contest)

chiragchirag MemberNAT Warrior
Are you using an optical mouse right now? Ever wanted to see your desktop through the eye on the bottom of it? Me neither, I already know I have to clean my desktop

People get bored sometimes, and when I get bored I sometimes open up stuff to find out what makes it tick. One time, I did this with an old optical mouse. Well, a mouse only has 2 chips inside: the optical sensor and a chip for the usb/ps2-interfacing. I looked up the datasheet of the optical sensor (which is an ADNS2610) and it told me the sensor has a tiny 18x18 CCD, which can be read out using the serial port (the one which normally interfaces to the PS2/USB-chip).

So I start Visual Basic (I usually do my stuff under Linux, but I'm no star at using anything graphical like QT or GTK, so for this quick'n'dirty project I fell back in my old habits) and hack something up using a few wires to the trusty ole parallel port. The result: crisp lo-res b&w imaging

IMAGE
http://sprite.student.utwente.nl/~je...mouseeye/e.png

As you can see, the mouse was over some text with an 'e' in it.

One of the more obvious features of a mouse, however, is that it can detect movement. Combine this with the just-aquired imaging features, and we have a ghetto b&w handscanner. This is a 'scanned' piece of a receipt:

IMAGE
http://sprite.student.utwente.nl/~je...odschappen.jpg

I can understand you can't wait to have such a handy scanner yourself. And now, you can! The software is downloadable here.

h**p://sprite.student.utwente.nl/~jeroen/projects/mouseeye/readmouse.zip


The software works on mice which use an ADNS-2610 optical sensor, recognisable by the eight pins, the sun-like mark and the text 'A2610'. I've seen this sensor in most cheap optical mice that aren't too old. To hook it up, check out the pinout in the datasheet, then on the PCB cut the traces running from the sensors SCK- and SDIO-pins to the rest of the mouse. Then connect the sensor, using a diode, to a parallel port, like this:

pp: adns-2610:
25
GND

12
+
SDIO
5
|<|--+

9
SCK

Plug in the USB/PS2-plug (or apply 5V to the Vcc-pin of the sensor), run the software and you should be OK
Sign In or Register to comment.