Talks - Jeff Epler: Connecting Old to New with CircuitPython: Retrocomputer input devices on...

Learn how to use CircuitPython and RP2040 microcontrollers to convert vintage keyboards and mice into modern USB devices while preserving original hardware.

Key takeaways
  • CircuitPython can be used to convert vintage input devices to modern USB HID devices using microcontrollers like the RP2040

  • Three main projects demonstrated: converting a Commodore keyboard, Tandy keyboard, and NeXT computer bus mouse to USB

  • Key matrix keyboards use a grid arrangement of switches, allowing many keys (64) to be controlled with fewer pins (16)

  • The RP2040’s PIO (Programmable I/O) feature is crucial for handling timing-sensitive operations that would be too slow in regular CircuitPython code

  • Non-invasive approach is important when working with vintage hardware - using proper connectors rather than cutting/modifying original equipment

  • Many vintage computers have active preservation communities that maintain documentation and technical specs online

  • Some vintage keyboards used unique key switches that are irreplaceable today, making preservation especially important

  • 5V to 3.3V voltage level differences can be managed, though slightly out of spec, with minimal risk to modern components

  • Quadrature encoding is used in vintage mice to determine movement direction and amount

  • Open-source documentation, including 3D printable cases and wiring diagrams, makes these conversion projects reproducible by others