

Macro pad
A custom wired 3x3 macro pad PCB with MX switches, an OLED display, and a rotary encoder. The first revision uses an Adafruit KB2040 running QMK firmware.
- Size
- 97.8 × 95.3 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 26
- Nets
- 35
- Pads
- 105
- Tracks, vias
- 110, 2
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 10 May 2026
- Updated
- 5 Jun 2026
Overview
Macro pad is an open-source printed circuit board by jabb4, from the jabb4/macro-pad repository on GitHub. It is a 2-layer board of 97.8 × 95.3 mm with 26 parts on 35 nets, routed with 110 tracks and 2 vias.
It is built around the 1N4148W and PEC11R-4220F-S0024. Its parts include 9 diodes, 9 switches, 1 IC and 1 connector. It belongs with the keyboards and input and lEDs and displays boards of this library.
Main components
2README
README.mdMacro Pad
A custom wired 3x3 macro pad PCB with MX switches, an OLED display, and a rotary encoder running QMK firmware.
PCB Parts
Core electronics:
- 1x Adafruit KB2040 RP2040 Kee Boar Driver
- 1x 0.96 inch 128x64 SSD1306 I2C OLED display module
- 1x Bourns PEC11R-4220F-S0024 rotary encoder with push button
- 1x 6 mm D-shaft knob for the encoder
- 9x 1N4148 SOD-123 diodes
Keyboard parts:
- 9x Kailh Red Cherry MX-style switches
- 9x keycaps
Mounting:
- 5x M3 screws, 6 mm
- 5x M3 heat-set inserts
PCB:
- 2-layer custom PCB
- 1.6 mm thickness
- 1 oz copper
- Lead-free HASL finish
- No assembly
Firmware
QMK keyboard source lives in firmware/.
Prerequisites
Install the ARM toolchain and pipx:
brew install --cask gcc-arm-embedded
brew install pipxInstall QMK:
pipx install qmk
qmk setupConfigure the path to the firmware. Run from the repo root:
qmk config user.overlay_dir=$(pwd)/firmwareCompiling
qmk compile -kb macropad -km default --compiledbThis produces firmware/macropad_default.uf2.
Flashing
First time
To enter boot mode, hold the BOOT button, press and release RESET, then release BOOT. A drive named RPI-RP2 will mount. Drop firmware/macropad_default.uf2 onto it; the board flashes, unmounts, and restarts automatically.
Re-flashing
Switch to the BOOT layer with the rotary encoder, then press any key. The board enters boot mode and the RPI-RP2 drive mounts again — drop the updated firmware/macropad_default.uf2 onto it.
Credits
- Adafruit KB2040 PCB symbol and footprint: drewgates/kb2040-kicad
Parts
26| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 1N4148W | Diode_SMD:D_SOD-123 | D1, D2, D3, D4, D5, D6, D7, D8, D9 |
| 9 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9 |
| 1 | OLED module | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J1 |
| 1 | PEC11R-4220F-S0024 | PEC11R-4220F-S0024:PEC11R4220FS0024 | ENC1 |
| 1 | kb2040 | kb2040:kb2040 | U1 |
The 21 most common of 26 parts.
Questions
How big is the Macro pad PCB?
It measures 97.8 × 95.3 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Macro pad use?
26 parts, built around the 1N4148W and PEC11R-4220F-S0024. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Macro pad KiCad files?
From the jabb4/macro-pad repository on GitHub, at the commit this page was made from: the board is pcb-design/macropad.kicad_pcb and its schematic pcb-design/macropad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Macro pad design in my own project?
Its repository states no licence, so its author keeps all rights: ask jabb4 before reusing the design.
Similar boards
- 2 layers65 × 62 mm

- 2 layers100 × 100 mm

- 2 layers70 × 110 mm

Nucleo144 DSP
mnemocron/Nucleo-DSP-Shield
Audio DSP Shield for STM32 Nucleo-144 Boards (H723zg) based on the TLV320 CODEC
70 parts2GPL-3.0 - 2 layers79.4 × 66.1 mm

Macropad
axooexe/Macropad-s-PCB
This repository contains the schematics and PCB layout files for a custom 8switches and an encoder macropad.
19 parts1 - 4 layers47 × 106 mm

- 2 layers85 × 120 mm

Home Assistant Control pad
Pegoku/Home-Assistant-Control-pad
This is a programmable Home Assistant Control Pad. It can control 4 Home assistant devices at a time, and has 4 togglable screens/zones (in total 16 devices).
111 parts1GPL-3.0 - 4 layers92.8 × 76 mm

Deck-8
varaddorle007/deck-8
Open-source 8-key macro pad with 2 knobs, OLED and Bluetooth: PCB, case and ZMK firmware
101 parts1MIT - 4 layers150 × 100 mm

Interrupter v1.2
Alberto0235/DRSSTC-Fiber-Optic-Interrupter
Custom 4-layer interrupter control board for DRSSTC systems. STM32F405-based, fiber-optically isolated outputs, hardware E-brake safety chain, and controlled-impedance routing (90Ω USB, 50Ω FSMC/SDIO).
212 partsMIT