The Pirate

The Pirate

The pirate was one of my first completed hardware projects. It was (an admittedly bad) chorded keyboard - that is, a keyboard where combinations of keys are used to write letters. The point was that with a few rocker switches, a joystick, and a button, you could control your computer pretty effectively with something that fit into your hand.

The Hardware

  • Arduino Leonardo
    • Used because it had native USB
  • Rocker switches (3 inputs each)
  • Flat joystick
  • 5-way switch
  • Push button
  • Maybe a SPI I/O expander... I don't recall
  • Duct tape - how else to keep it together?

The Software

The software was written in C++ using the Arduino IDE. The Leonardo was configured to act as a mouse and keyboard, with the joystick and push button acting as the mouse inputs. Aside from I/O mapping, the core of the code was a mapping of button combinations to keyboard key presses. The chord combinations were assigned based on probability of use - so the most common letters had the least complicated chords. There was also a 5 way switch, which acted as a mode selector - it could be "shift", "control", etc. etc., or it might change to a different chord set.

Lessons Learned

Two primary issues arose, both around ergonomics. The obvious one is that hand cut blocks of wood aren't necessarily the nicest thing to hold - at least not with the quality of work I put into it. The real issue however was that the switches were not mechanically suited for the task. The idea was sound, but they could get caught in the middle and therefore you couldn't go very fast. I think with a similar but more slidable switch design and a revised case (3D printers exist now...) it would be a fun project to revisit.