Skip to the content
PCBKitNew board
2 layers57 × 55 mmMacropad Project, the printed circuit board in 3D

This project is a fully custom macropad created as part of Hack Club’s Blueprint program. It includes hardware design, firmware development, and key mapping to streamline workflows for coding, media control, and everyday tasks.

Size
57 × 55 mm
Copper layers
2
Thickness
1.6 mm
Parts
12
Nets
19
Pads
55
Tracks, vias
127, 8
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
29 Mar 2026
Updated
2 Oct 2026

Overview

Macropad Project is an open-source printed circuit board by FallenFireGit, from the FallenFireGit/Macropad-Project-Hackclub repository on GitHub. It is a 2-layer board of 57 × 55 mm with 12 parts on 19 nets, routed with 127 tracks and 8 vias.

Its parts include 5 diodes, 5 switches, 1 IC and 1 connector. It belongs with the keyboards and input boards and the RP2040 boards of this library.

README

README.md

V2 IS COMPLETED. README NOT UPDATED

image

https://cad.onshape.com/documents/9fae68e933ab6ca3eb6c6fbd/w/e29f54b044d25261ca5eb345/e/77b8e0202e6b1857755b35e1?configuration=List_9OLYDYIAN7BGAN%3DDefault&renderMode=0&uiState=6abfb8134bd670947d70477b

Macropad-Project-Hackclub

This project is a fully custom macropad created as part of Hack Club’s Blueprint program. It includes hardware design, firmware development, and key mapping to streamline workflows for coding, media control, and everyday tasks.


Final Design


Screenshot 2026-03-28 202114

Schematic (Not the greatest schematic OAT, but it works)


Screenshot 2026-03-28 202304

PCB


Screenshot 2026-03-28 202355

Exploded View

Do note that the PCB is connected to the plate via an M2 screw (needed to be small to fit between switches), which screws into the plastic on the bottom plate. Since the switches are soldered to the PCB, the top plate is secured by being sandwiched between the MX switches and then the bottom plate. (The little red part for the OLED is held together with friction with the pins on the OLED. Once I actually get it, I will superglue it or use AMS in later revisions.)


image

BOM

  • 1x SEEEDUINO XIAO RP2040
  • 4x MX Cherry Style switches
  • 4x DSA Keycaps
  • 1x EC11 Rotary Encoder
  • 1x 0.91-inch OLED display
  • 5x 1N4148 diodes
  • 1x M2 Screw

Firmware

The macropad runs KMK on CircuitPython. The board mounts as a USB drive, so edits take effect on save -- no toolchain, no compiling, no reflashing.

Four MX switches across two layers:

SwitchProgrammingCAD
Top middleUPCtrl+Z undo
Bottom middleDOWNCtrl+Y redo
Bottom leftLEFTESC
Bottom rightRIGHTENTER

The rotary encoder does triple duty:

EncoderAction
TurnVolume, or menu navigation when a menu is open
Single clickPlay / pause
Double clickOpen the menu

The menu holds a layer picker, a 25-minute Pomodoro timer, and a USB power indicator. Whenever nothing else needs the screen, the OLED loops a fire animation.

Pinout, install steps, and how to remap keys: Firmware/circuitpython/README.md


Changing the OLED animation

OLED Studio turns any GIF or image into the format the display reads and copies it onto the board:

bash
python Tools/oled_studio.py

Open a GIF, drag the threshold slider until the live preview looks right, then press Send to macropad. There is a command-line mode for scripting:

bash
python Tools/oled_studio.py fire.gif --size 32x32 --dither --send

Needs Python 3.10+ and Pillow (pip install pillow).


Repository layout

PathContents
PCB/KiCad schematic and board layout
CAD/Case model
Production/Gerbers and printable plates
Firmware/circuitpython/The firmware running on the board, and its animation
Tools/OLED Studio, the animation uploader

Parts

12
QtyValueFootprintReferences
5DDiode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D3, D4, D5
4SW_PushMisc.:MX-Solderable-1USW2, SW3, SW4, SW5
1OLED_DISPLAYConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1
1RotaryEncoder_SwitchMisc.:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW1
1Seeed Studio XIAO RP2040Misc.:XIAO-Generic-Hybrid-14P-2.54-21X17.8MMU1

Questions

How big is the Macropad Project PCB?

It measures 57 × 55 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Macropad Project use?

12 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 Project KiCad files?

From the FallenFireGit/Macropad-Project-Hackclub repository on GitHub, at the commit this page was made from: the board is PCB/Macropad_Project.kicad_pcb and its schematic PCB/Macropad_Project.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Macropad Project design in my own project?

Its repository states no licence, so its author keeps all rights: ask FallenFireGit before reusing the design.

Similar boards

  • 2 layersNrf bga, the printed circuit board in 3D

    Nrf bga

    github-linguist/linguist

    Language Savant. If your repository's language is being reported incorrectly, send us a pull request!

    12 parts14kMIT
  • 2 layers66.9 × 74.5 mmDeskHop, the printed circuit board in 3D

    DeskHop

    hrvach/deskhop

    Fast Desktop Switching Device

    12 parts7.9kGPL-3.0
  • 2 layers40 × 15 mmSensors, the printed circuit board in 3D

    Sensors

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    12 parts3kApache-2.0
  • 2 layers42.7 × 56.5 mmTle6240 driver, the printed circuit board in 3D

    Tle6240 driver

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    12 parts1.2k
  • 2 layers49 × 25 mm5v boost regulator, the printed circuit board in 3D

    5v boost regulator

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    12 parts915
  • 2 layers28.3 × 10.3 mmTap Photosensor PCB, the printed circuit board in 3D

    Tap Photosensor PCB

    VoronDesign/Voron-Tap

    Tap is a nozzle-based z-probe for the V2 and Trident printer designs. The entire toolhead moves to trigger an optical switch. Tap offers many advantages:

    12 parts716GPL-3.0
  • 2 layers25.4 × 70.4 mmTpmsniffer, the printed circuit board in 3D

    Tpmsniffer

    stacksmashing/pico-tpmsniffer

    A simple, very experimental TPM sniffer for LPC bus

    12 parts696