Skip to the content
PCBKitNew board
2 layers97.8 × 95.3 mmMacro pad, the printed circuit board in 3D

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

2

README

README.md

Macro 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:

sh
brew install --cask gcc-arm-embedded
brew install pipx

Install QMK:

sh
pipx install qmk
qmk setup

Configure the path to the firmware. Run from the repo root:

sh
qmk config user.overlay_dir=$(pwd)/firmware

Compiling

sh
qmk compile -kb macropad -km default --compiledb

This 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

Parts

26
QtyValueFootprintReferences
91N4148WDiode_SMD:D_SOD-123D1, D2, D3, D4, D5, D6, D7, D8, D9
9SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9
1OLED moduleConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1
1PEC11R-4220F-S0024PEC11R-4220F-S0024:PEC11R4220FS0024ENC1
1kb2040kb2040:kb2040U1

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 mmController, the printed circuit board in 3D

    Controller

    Karpova-Lab/syringe-pump

    Easy-to-build syringe pump with microliter accuracy

    51 parts33
  • 2 layers100 × 100 mmGrow, the printed circuit board in 3D

    Grow

    soundslikefrank/grow

    A Eurorack genetic sequencer

    140 parts3GPL-3.0
  • 2 layers70 × 110 mmNucleo144 DSP, the printed circuit board in 3D

    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 mmMacropad, the printed circuit board in 3D

    Macropad

    axooexe/Macropad-s-PCB

    This repository contains the schematics and PCB layout files for a custom 8switches and an encoder macropad.

    19 parts1
  • 2 layers85 × 120 mmHome Assistant Control pad, the printed circuit board in 3D

    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 mmDeck-8, the printed circuit board in 3D

    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 mmInterrupter v1.2, the printed circuit board in 3D

    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