Tools used:

  • KiCad (for schematic and PCB)
  • Fusion 360 (for 3D printed case)
  • Arduino IDE (for Teensy code)
  • JLCPCB (for PCB fabrication)
  • Monoprice MP Mini (3D printer used for case)

Known issues:

  •  The built in LED on one of the Teensy pins draws enough current for the built in pull-up resistor to be overwhelmed. An extra pull-up resistor in parallel with that pin is needed.
  • The center knob's pushbutton isn't wired up. I ran out of pins. The final pushbutton pin has been broken out so a bodge wire can connect it to one of the teensy's extra IO pads. I haven't bothered.
  • The code is probably a bit jank, but it works well enough for me that I haven't changed it further.