Button Box
Hardware Project, 2026
If a colleague asks you if they can build a DIY keyboard-shortcut-button-box-for-powerpoint-ui-papercuts, you should always agree to do it.
Part List / BOM
| Amount | Part | |
|---|---|---|
| 1× | Adafruit KB2040 - RP2040 Kee Boar Driver | comes with pin two rows of headers |
| 8x | Arcade Button, 30 mm, transparent | |
| 1× | Breadboard (170 pin or 400 pin) | |
| 16× | long wire (120 mm) | two for each button |
| 2× | short jumper wire (40 mm) | to connect GND to the -rails |
While it is in theory possible to wire this up completely solderless, I strongly recommend soldering the pin headers to the board and soldering cables to the buttons at least. For a “perma-proto” version, which is then interconnected on the breadboard. If you’re happy, you can then either stick the breadboard inside the casing with double-sided tape or solder the wires to the outside of the pin header.
Process
While it is possible to buy ready-made jumper cables, it is much cheaper to get a large spool of 0.6 mm diameter solid core wire and chop it up to the desired lengths. We used a special plier that can trim and clean the wire ends neatly, but this can also be achieved with a basic wire cutter and some patience.

Soldering this project is suitable for absolute beginners with minimal oversight. If you’re planning to build this alone and have no clue, watch a few videos first, take your time, and everything will be fine. Adafruit has tutorial videos for close to any kind of soldering job.

We decided to not solder all GND wires together. This allows the new owner to detach the buttons and create and switch out inlays of the large transparent arcade buttons. The casing is printed on a rather old Ultimaker 3 with a heated glass plate. According to tradition, the glass plate must be coated with glue stick, which left some residue visible in the photo below.


Code
TBD
Useful links:
- Adafruit Kee Boar Documentation: Adafruit KB2040
- Circuit Python Essentials: CircuitPython HID Keyboard and Mouse
- Circuit Python HID Library: github.com/adafruit/Adafruit_CircuitPython_HID