

Macropad
My simple 4-button macro pad design with an OLED screen.
- Size
- 71.5 × 61 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 8
- Nets
- 14
- Pads
- 40
- Tracks, vias
- 45, 0
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 25 Mar 2026
- Updated
- 30 Mar 2026
Overview
Macropad is an open-source printed circuit board by Dudek-wi, from the Dudek-wi/macropad repository on GitHub. It is a 2-layer board of 71.5 × 61 mm with 8 parts on 14 nets, routed with 45 tracks and 0 vias.
Its parts include 4 switches, 1 IC and 1 connector. It belongs with the keyboards and input and lEDs and displays boards of this library.
README
README.mdXIAO 4-key macropad (hackpad) with 128 by 32 OLED
Anyone looking for an easy-to-use macro panel will find what they’re looking for here. Built on the Seeeduino XIAO, it lives inside KMK Firmware using CircuitPython - so all actions speak without any need to compile. Four mechanical buttons connect straight into place while an OLED screen shows what matters.
I am fresh at this, my code stays simple for now. As my knowledge grows, I will make changes - step by step.
Features:
- Python powers KMK Firmware: connect it and start using it.
- OLED screen: A 128x32 SSD1306 display shows your device status.
- Direct pin layout: A simple wiring configuration.
Keyboard shortcuts:
- SW1- CTRL + C (copy)
- SW2- CTRL + V (paste)
- SW3- CTRL + Z (undo)
- SW4- CTRL + SHIFT + ESC (Task Manager)
OLED screen displays two lines of text: "XIAO MACROPAD" and "Ready!".
BOM
- 1x Seeed XIAO RP2040
- 4x MX-Style switches
- 1x 0.91 inch OLED display
- 4x white blank DSA keycaps
- 2x M3x16mm screws
- 2x M3x5mmx4mm heats inserts
- 1x custom PCB
Hardware Specification
Pin mapping:
- SW1 - D10 - Key Switch 1
- SW2 - D9 - Key Switch 2
- SW3 - D8 - Key Switch 3
- SW4 - D7 - Key Switch 4
- OLED SDA - D4 - I2C Data
- OLED SCL - D5 - I2C Clock
Oled pin
- Ground
- 3.3v
- SCL
- SDA
Software
- kb.py: Handle hardware stuff
- code.py: Controls the logic
Getting Started
- Flash CircuitPython onto the Seeeduino XIAO
- Start by placing the KMK folder along with the Adafruit libraries inside the lib/ directory of the device.
- Place kb.py together with code.py into the main folder named CIRCUITPY.
- A fresh signal kicks it back online, ready to act like keys. After that reset, typing begins without extra steps.
- Folder lib/ kmk/ adafruit_bus_device/ "adafruit_ssd1306.py" "adafruit_framebuf.py"
Fine, just plug it in. Then off you go.
I make this project under the MIT License. You are free to use it.
Parts
8| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3, SW4 |
| 1 | Conn_01x04_Pin | OLED_0.91inch_I2C-main:0.91_OLED_128x32_I2C | J1 |
| 1 | MOUDLE-SEEEDUINO-XIAO | footprints:XIAO-Generic-Hybrid-14P-2.54-21X17.8MM | U1 |
The 6 most common of 8 parts.
Questions
How big is the Macropad PCB?
It measures 71.5 × 61 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Macropad use?
8 parts. 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 Macropad KiCad files?
From the Dudek-wi/macropad repository on GitHub, at the commit this page was made from: the board is PCB/test.kicad_pcb and its schematic PCB/test.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Macropad design in my own project?
Its repository states no licence, so its author keeps all rights: ask Dudek-wi before reusing the design.
Similar boards
- 2 layers20.5 × 24.8 mm

- 2 layers14.4 × 10.5 mm

OSO SWAB B1-00 Sensor Watch Accelerometer
joeycastillo/Sensor-Watch
A board replacement for the classic Casio F-91W wristwatch
8 parts2.1k - 2 layers7.9 × 39.1 mm

Brain board STM32F407 SD wing it
rusefi/rusefi
rusefi - GPL internal combustion engine control unit
8 parts1.2k - 2 layers59.9 × 25.7 mm

Buffer
hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI
8 parts1kGPL-3.0 - 2 layers52 × 12.6 mm

USB
shanteacontrols/OpenDeck
A platform for building interactive control and sensing devices using MIDI and OSC built with Zephyr RTOS.
8 parts960Apache-2.0 - 2 layers87.5 × 48.5 mm

7 input macropad
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
8 parts915 - 2 layers36.2 × 63.1 mm

PicoMemcard pico
dangiu/PicoMemcard
Emulating PSX Memory Card (or controller) using a Raspberry Pi Pico
8 parts694GPL-3.0 - 2 layers36 × 10 mm

PCB4-PWR BTN Rev.A
OLIMEX/DIY-LAPTOP
Do It Yourself Open Source Hardware and Software Modular Hacker's Friendly Laptop
8 parts578Apache-2.0