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.