saybur
Well-known member
Over the past few weeks I've been working on something to share peripherals between multiple old Macs (keyboards/mice/whatever). Here's what I've come up with:
This supports five ADB buses (4 computers and 1 set of peripherals) via a Pico W. I've got (very) basic ADB keyboard and mouse sharing working at this point. The code is janky and needs lots of refinement, this is definitely not ready for general use. That said I'm pretty happy with what I've come up with so far, and I wanted to share my progress and get thoughts from others with more ADB experience than I have.
Unlike period ADB switches this is 100% emulated, all traffic flows through the RP2040 on the Pico. This should make it immune to issues with ADB devices dropping off the bus, the firmware continues to respond to Macs on inactive ports and it can handle systems going online and offline while the switch is active. I've also tried to make it easy to add new types of devices in the future. The PIO units on the RP2040 are doing a lot of the heavy lifting so this design has free CPU time to do fancy things; I'm hoping to (eventually) add Bluetooth device and remote-control functionality via WiFi, for example.
This project is free and open: firmware is GPL and hardware is CERN-OHL-S. Just be aware that as of now this is really experimental and there will likely be large changes made during future development. Source is here:
https://github.com/saybur/hootswitch
Thanks for reading! Feedback is welcome
This supports five ADB buses (4 computers and 1 set of peripherals) via a Pico W. I've got (very) basic ADB keyboard and mouse sharing working at this point. The code is janky and needs lots of refinement, this is definitely not ready for general use. That said I'm pretty happy with what I've come up with so far, and I wanted to share my progress and get thoughts from others with more ADB experience than I have.
Unlike period ADB switches this is 100% emulated, all traffic flows through the RP2040 on the Pico. This should make it immune to issues with ADB devices dropping off the bus, the firmware continues to respond to Macs on inactive ports and it can handle systems going online and offline while the switch is active. I've also tried to make it easy to add new types of devices in the future. The PIO units on the RP2040 are doing a lot of the heavy lifting so this design has free CPU time to do fancy things; I'm hoping to (eventually) add Bluetooth device and remote-control functionality via WiFi, for example.
This project is free and open: firmware is GPL and hardware is CERN-OHL-S. Just be aware that as of now this is really experimental and there will likely be large changes made during future development. Source is here:
https://github.com/saybur/hootswitch
Thanks for reading! Feedback is welcome