Trying upgrade this PCB, by adding additional status diodes, since it looks like this schematics fits very close to layout
Tested in XWindows (Linux) that indeed this SoC has ability to add DPI switch, which switches between 1000CPI and 1600DPI-it works by pressing this black puch button, but it is possible also to add LED indicator for this, so I will try do it since, instead of LED i can use optocoupler internal dioded if needed and try to switch to 1600DPI using small MPU, which will "press" this DPi switch button and check on status LED if it is changed.
However, according to schematics (from SoC datasheet) linked above, we need to ad 2.2k resistor and when checked tracks, I will have to cut part of one track to insert this additional resistor, since in current design they didn't prepared PCB for this CPI LED status feature (or I missed something), but additionally something like power diode can be easy added, so I will add green for power status and yellow to test this DPI switch modes.
BTW: When we calculate what 1600 DPI means it is 25.4mm/1600 ~ 0.016 mm
Not so bad, for precise adjustments
Fighting with this Z-axis encoder, since when tried probe desoldered, unfortunatelly I can't see any shorting to ground on two of its pins, so I do not know, not sure what kind of encoder signal is send-2 bit gray code or something else-it is not described in this SoC preliminary datasheet.
That is interesting, that there are some pattents around this Z-axis encoding
Mouse-associated Z-axis encoder
http://www.freepatentsonline.com/6285355.pdfWe'are too lazy today to investigate this after 60km bike trip between hills, so I someone have some idea what we could expect from those two pins when wheel mouse (Z-axis) is uses let us know, to complete quite succesful teardown and rapair of failed optical mouse button, with additional enhancements of this tiny PCB by adding resistors and LEDs to unpopulated pads on this PCB
Update: Probably it can be 2-bit gray code in this optical mouse Z-axis.
Interesting usage of three mouse buttons and wheel below
CNC control with a mouse (pseudo pendant)
The wheel(encoder) will either move positive or negative 1mm for each change on the encoder
Left click changes to X axis---Right click changes to Y axis---Wheel click changes to Z axis.
There is no wheel no more, but MPU can be used and additional step up/down buttons connceted to its pins, than MPU will output correct 2-bit gray code,
so we can choose axis and eg. by holding up/down buttons make 1mm auto increments every 1 second, etc
Yep, we'll try 2-bit gray code as inputs to those those ZA/ZB SoC pins, without loosing time on oryginal optical mouse wheel Z-axis encoder