Skip to the content
2 layers79.2 × 106.7 mmMacroPad, the printed circuit board in 3D

A Custom Macro Pad I Designed and Built based on the RP2040

Size
79.2 × 106.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
111
Nets
94
Pads
447
Tracks, vias
776, 139
Pours
3
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
24 Jun 2025
Updated
7 Aug 2026

Overview

MacroPad is an open-source printed circuit board by landodoughty, from the landodoughty/MacroPad repository on GitHub, published under the MIT licence. It is a 2-layer board of 79.2 × 106.7 mm with 111 parts on 94 nets, routed with 776 tracks and 139 vias.

It is built around the RP2040, 74AHCT1G125SE and W25Q128JVSIQ, with the 1N4148WS and ABM8-272-T3 among its other parts. Its parts include 40 diodes, 37 capacitors, 20 switches, 5 resistors and 4 ICs. It belongs with the keyboards and input boards and the RP2040 boards of this library.

Main components

5

README

README.md

MacroPad

A Custom Macro Pad I Designed and Built based on the RP2040

Features:

  • Programmable keys allow shortcuts, macros, or controls to be customized.
  • Hotswappable MX switches allows you to customize your typing feel.
  • RGB Backlighting allows per-key lighting using WS2812/NeoPixel LEDs
  • Custom 3d printed case provides a sleek, ergonomic look.

Building the MacroPad

The PCB: In this repository you can find the raw PCB files and the Gerber files which can allow you to manufacture the PCB through a service such as PCBWay or JLCPCB. I have also attached a BOM containing all the parts for the PCB. Most of the parts utilized on the PCB are very standard, and if you are assembling through JLCPCB the BOM already contains LCSC part numbers for most items. The only items which don't have part numbers, because I did not have them assembled through JLCPCB are the USB Micro-B connector, the reverse mount neopixel LEDs, the MX keyswitch sockets, and a small two pin 2.54mm pitch connector. The USB connector and the two pin connector can be easily bought from many places or even salvaged from old electronics. The reverse mount LEDs and MX keyswitch sockets are from adafruit.

Switches: You can use any MX compatible switches with the PCB, but keep in mind that they all have varying heights. The STLs provided are designed for switches with a 7mm above-board height with DSA keycaps, significantly less than most switches. If you want to use a different heigh you will likely have to adjust the STEP file provided to match your keyheight.

Code: The code is provided but you will need to adjust it to fit your desires. This includes changing the LED modes and key press actions. Currently, the LED modes includes a constant color mode, an RGB mode, and a layer specific mode. To change layers, you press the first two buttons on the top row and then press the third button. To change colors in the constant color mode, you again press the first two buttons on the top row but then press the fourth button to change colors. To change the actions, scroll down to find the section where they are defined. The code shows how to do shortcuts, go to links, make a number pad, and how to create a shift key for a layer. To upload the code for the first time, short the two pins in the 2.54mm connector and then plug the MacroPad in through USB. It should pop up as detected and then yo ucan unshort the pins. Once you have done this once, you should be able to upload just with USB but if you are having issues uploading you may need to repeat the process.

The Case: The case is 3d printed and I have provided both STL and STEP files for your conveinance. This means you can easily customize the case to your liking. The case needs 2 M3 heat set inserts, 2 M3 washers, and 2 M3 x 6 screws to assemble.

View in CADPreview

Parts

111
QtyValueFootprintReferences
200.1uCapacitor_SMD:C_0402_1005MetricC21, C22, C23, C24, C25, C26, C27, C28, C29, C30, C31, C32, C33, C34, C35, C36 +4
201N4148WSDiode_SMD:D_SOD-323D21, D22, D23, D24, D25, D26, D27, D28, D29, D30, D31, D32, D33, D34, D35, D36 +4
20NeoPixel_THTneoPixel:NEO3535_REVERSECorrectedD1, D2, D3, D4, D5, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20 +4
20SW_SPSTkeyswitches:Kailh_socket_MXSW1, SW2, SW3, SW4, SW5, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20 +4
10100nCapacitor_SMD:C_0402_1005MetricC5, C6, C7, C9, C11, C12, C13, C14, C15, C16
310uCapacitor_SMD:C_0805_2012MetricC3, C4, C17
215pCapacitor_SMD:C_0603_1608MetricC1, C2
21kResistor_SMD:R_0402_1005MetricR1, R3
21uCapacitor_SMD:C_0402_1005MetricC8, C10
227Resistor_SMD:R_0402_1005MetricR4, R5
2MountingHoleMountingHole:MountingHole_3.2mm_M3_ISO14580_PadH1, H2
174AHCT1G125Package_TO_SOT_SMD:SOT-23-5U4
1ABM8-272-T3Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
1AMS1117-3.3SOT223Package_TO_SOT_SMD:SOT-223U1
1Conn_01x02Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ2
1DNFResistor_SMD:R_0402_1005MetricR2
1RP2040Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmU3
1USB_B_MicroConnector_USB:USB_Micro-B_Amphenol_10103594-0001LF_HorizontalJ1
1W25Q128JVSPackage_SO:SOIC-8_5.23x5.23mm_P1.27mmU2

Similar boards

  • 2 layers149 × 224 mmGDEK, the printed circuit board in 3D

    GDEK

    GilDev/GDEK

    Low-profile, compact, beginner-friendly, assembly-friendly 4×6 with 5-keys thumb cluster ergonomic keyboard with universal keyswitch support, per-key RGB LED, encoder and RP2040 controller. Phew, that’s a lot!

    324 parts3CERN-OHL-S-2.0
  • 2 layers446.9 × 141.7 mmPerson keyboard, the printed circuit board in 3D

    Person keyboard

    jtljac/person-keyboard

    My personal Keyboard Design

    374 parts
  • 2 layers131.2 × 132.5 mmMacropad, the printed circuit board in 3D

    Macropad

    earthtojake/text-to-cad

    Design physical products with AI

    73 parts26kMIT
  • 4 layers95 × 95 mmAgentDeck, the printed circuit board in 3D

    AgentDeck

    Brillar0101/agentdeck

    RP2040 macropad for supervising AI coding agents: 13 hot-swap keys with per-key RGB status, encoder, joystick, 4-layer PCB, CircuitPython firmware, printable enclosure

    101 partsMIT
  • 4 layers40 × 58.5 mmPicoFox PCB, the printed circuit board in 3D

    PicoFox PCB

    ai6ym/PicoFox

    The open source fox transmitter.

    143 parts16
  • 4 layers216.2 × 218.6 mmVesper, the printed circuit board in 3D

    Vesper

    Fredrik-Reinholdsen/Vesper

    A split keyboard designed from scratch, including electronics, software and 3D printed mechanics

    470 parts1
  • 2 layers77.4 × 128.5 mmOak, the printed circuit board in 3D

    Oak

    tpcarlson/synth-diy

    Mostly Eurorack projects

    109 parts107
  • 4 layers51.8 × 68.3 mmButton Matrix RP2040, the printed circuit board in 3D

    Button Matrix RP2040

    hazenluk/RP2040_AS3394

    An AS3394 Voice Card with built in RP2040

    229 parts3

Questions

How big is the MacroPad PCB?

It measures 79.2 × 106.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the MacroPad use?

111 parts, built around the RP2040, 74AHCT1G125SE, W25Q128JVSIQ and 1N4148WS. 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 landodoughty/MacroPad repository on GitHub, at the commit this page was made from: the board is MacroPad.kicad_pcb and its schematic MacroPad.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 publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).