Wow, thank you for putting this Anachro Mouse project together and sharing this Aviancy, I'm impressed!
I bought a pair of Pi Pico boards with this exact intent many months ago with a larger order, but just haven't made the time to work on the project - I don't really have much programming experience for that to go well yet. So I've got these boards handy and some TTL to RS232 boards ready to use, this evening I put one together.
Thanks for putting a ready to use build up in the github project page. That was very easy to load up, just connect it to the PC, boot it with the flash button pressed, drop in the firmware and it's done.
The hardware side was a little tougher though. Initially it didn't go well and I found a slight error in the schematic - the schematic shows an RS232 male connector, but the RS232 for a mouse is female, so the CTS needs to be pin 7 rather than 8, the TX should be on 2 and the RX should be on 3.
My ready-made MAX3232 adapter had the TX/RX already positioned correctly, but I put the CTS in the wrong place and was wondering why it didn't work. Ended up having another go on the breadboard and that worked. In Windows it detects as a Standard Serial Mouse:
At last the LED on the Pi Pico went green to indicate detection and it was detected by ctmouse in DOS.
Once I had it working, I starting putting it back into the original config, I want to have the Pi Pico zip tied to the plastic of the RS232. The Micro USB port remains and is just used for power, while the USB port for the mouse connects up to the power and USB data pins.
I hit a snag in that there doesn't seem to be a way to have the Micro-USB used just for power - I'm guessing my little USB charger does something to the USB D+ & D- pins. I think a USB power cable that just has the power wires would've resolved it.
While troubleshooting, the Micro-USB port got damaged and won't work for data to the PC anymore, so I cut the USB data traces to the port and hooked the USB port for the mouse directly to the traces before the cut:
It's hooked up to my Toshiba Portege 610CT, a great little laptop marred by the poor trackpoint and the PS/2 ports being reserved for the impossible to find dock:
Your adapter works extremely well! So far I've tried a couple of games, the detection of CTmouse with it forced to use com1 (because otherwise it uses the bad PS/2 trackpointer otherwise) detected as an MS mouse without issue. Windows 95 eventually detected it and motion is very good on a VGA screen - although a bit quick, I'm keen to try out anything you can add for changing the sensitivity slightly. The Pico has enough GPIO that jumpers / dip switches could work?
In terms of compatibility, it's worked well with the 2x microsoft USB mice I've tried with it. It doesn't work with my Logitech M185 wireless mouse, or my cheap Silvercrest wireless mouse from lidl, but that's probably limits of tinyusb and USB-HID mouse drivers.
Latency was not perceptible with my MS Basic Optical mouse v2, it did feel a little less responsive with the original intellimouse. At this point I've got so many old mice, I can't test with newer ones 😀
It may be worth posting about this in the general hardware forum, it may have gone under the radar in the releases section.
Since PS/2 mice (or USB mice that can fallback to PS/2) are getting harder to find, there should be some interest I think, especially if someone lijke matze79 can make an easy to use adapter board.