Optical mouses basically are built of LED and low resolution camera. Older mouses like Logitech RX 250 comes with 15×15 pixel sensor. Newer ones probably have more pixels like 30×30 to get more resolution. Older mouses seems to be easier to hack due to large package sensors used. Frenki have build a fun project where he interfaces Logitech RX 250 ADNS-5020 optical sensor to Arduino. It reads sensor data through serial interface.
Arduino reads sensor data and sends it to PC as bunch of data that has to be combined in to image. For this Frenki used Java script based webpage where he recreated image that refresh in real time. It may seem useless but mouse camera data may be used further in more complex projects like machine learning, robot navigation or simply for creating nice effect.