Let's Make Robots!

Devices not used to their full potential

It seems to me some very cheap devices are not used to their full potential in robotics. Currently I am focused on optical mice. There are tutorials on the web and even an easy to use PS2 library for Arduino but I never see a robot on LMR using them.

I am currently experimenting with a cheap PS2 optical mouse as a high resolution quadrature encoder. With a resolution of 800 DPI, I can get an accuracy of 3600 counts per revolution (1/10th of a degree) by having the sensor mounted near the outer edge of a disc about 40mm in diameter.

40mm diameter x Pi = 126mm circumference = 4.9 inches * 800 gives me about 3900. Well over the 3600 I need for 1/10th of a degree resolution and a 40mm disc is quite small.

This is a cheap PS2 mouse that I cut in half to make it smaller. I used the PS2 mouse library to test it. Some mouse sensors can actually give you a grayscale picture of what they see but my sensor only has the basic mouse capabilities according to the datasheet.

Keyboards also offer a very cheap and simple means to get over 100 digital inputs using just 2x I/O pins.There is a PS2 keyboard library here: http://www.pjrc.com/teensy/arduino_libraries/PS2Keyboard.zip.
Read how to use it here: http://www.pjrc.com/teensy/td_libs_PS2Keyboard.html

Can you think of any other cheap devices that are not living up to their full potential?

PAN3401.pdf418.27 KB

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

This is the sole reason I want something Microsoft branded :-D 

Their old optical mice are perfect for this -- most of them are the types that /do/ give a grayscale image, and most have ended up in someones cardboard box with "old computer parts", so it's always worth asking family and friends for their unused accessoiries :-)

Pointing the sensor right on an encoder wheel is a good one..... Now I know what I did wrong: my "eye" looked at the floor and it worked fine as long as the surface is flat. (My bot used it to detect when it was picked up and put down again; to confirm movement; and also auto-calibrated it's "driving straight" this way. Also it could turn 45, 90, 180 or 360 degrees by  some measuring of the base of my robot [wheels-to-sensor distance, turning radius] combined with some maths)

The amazing is possible with old scavenged stuff  :)


The idea is an old one and certainly not original. I am going to do a tip/walkthrough in the near future but I wanted to get input from everyone first incase I miss something. I also want to go beyond the current tutorials and add some new ideas and uses. I have successfully used a second lens to increase the range. I hope to make a new version of my compound eye in this manner.

OddBot; Just a thumbs up for opening this; I have looked at mice so many times, wondering why on earth no clever nerd has made it easy to use it's inside for precise tracking. It is so obvious!

i just stumbled upon this,

It uses the cp210X chip which is mainly a usb to serial converter that can be easily used to upload sketches to arduino. or simply for MCU<->computer communication . and the main thing is that it costs 2.99 ! i buy only the ftdi232 chip here for about 6$!!!


i also made the mouse thingy, but never incorporated it in any project . (i have a pic of it)

Did you test your mouse? I do not see a lens on it.

I looked at the cable you linked to. I think you mis-interpereted the description. That cable allows an RC transmitter to plug into a USB port so you can program the transmitter to mix certain inputs. It does not do any transmitting.

I use the CP2102 interface IC on some of my products because of it's low price. Unfortunately they only come in a QFN-28 package which is almost impossible to solder by hand.

what about 'dead bug' style?

glue it to the board upside down, then solder wires from the pins to the pcb.
saw a guy do that on youtube, looked fairly doable...


I'd solder that by hand to the board quite easily...