A simple 4x4 handwired macropad with rotary encoder.
- 1x Raspberry Pi Pico
- 15x Cherry MX compatible switches
- 1x Rotary encoder (EC11)
- 16x 1N4148 diodes
- 4x 3M 10mm metal screws
- Wire for handwiring
- 15x Keycaps (any profile)
- MX encoder adapter: Thingiverse Thing:3770166
- QMK Firmware (for customization)
- Computer with USB port
- Soldering iron and solder
- Wire strippers
- 3D printer or printing service
- Basic hand tools
- Hold top-left key while plugging in USB
- Copy
firmware/jacco_4x4_macropad_default.uf2to the RPI-RP2 drive - Done!
┌───┬───┬───┬───┐
│ 7 │ 8 │ 9 │ / │
├───┼───┼───┼───┤
│ 4 │ 5 │ 6 │ * │
├───┼───┼───┼───┤
│ 1 │ 2 │ 3 │ - │
├───┼───┼───┼───┤
│ 0 │ . │Ent│ + │
└───┴───┴───┴───┘
Encoder: Volume up/down
firmware/- Ready-to-flash .uf2 filesqmk-config/- QMK keyboard definition (copy to your QMK install)hardware/- Handwiring guide, BOM, and assembly instructionscase/- 3D printable case filescase.3mf- 3mf file for main casecase.3fd- fusion design filestl/- STL files for printingTop.stl- Top case partBottom.stl- Bottom case part
images/- Assembly photos and reference imagestop_view.jpg- Completed macropad from aboveside_view.jpg- Side profile viewrows.jpg- Initial row wiringrows+diodes.jpg- Rows with diodes installedrows+columns.jpg- Complete switch matrixfull_wired_on_pi_pico.jpg- Final assembly with controller
- Print
case.3mf(main case) - Print MX encoder adapter from Thingiverse Thing:3770166
- Settings: 0.2mm layer height, 20% infill, PLA or PETG
See hardware/README.md for the full Bill of Materials.
Follow the detailed guide in hardware/assembly.md to:
- Wire the switch matrix
- Connect the Raspberry Pi Pico
- Install the encoder with MX adapter
Use the Quick Start guide above.
Copy qmk-config/jacco_4x4_macropad/ to ~/qmk_firmware/keyboards/ then:
# Edit keymap
nano ~/qmk_firmware/keyboards/jacco_4x4_macropad/keymaps/default/keymap.c
# Edit keyboard.json if needed
nano ~/qmk_firmware/keyboards/jacco_4x4_macropad/keyboard.json
# Compile and flash
qmk flash -kb jacco_4x4_macropad -km defaultSee QMK docs for more info.
Open source hardware and software. See individual files for specific licenses.

