Skip to the content
PCBKitNew board
2 layers49 × 52 mmMacropad, the printed circuit board in 3D

A custom 3-key mechanical macropad layout featuring an integrated EC11 rotary encoder knob and two addressable SK6812MINI-E RGB underglow backlights, powered by a Seeed Studio XIAO RP2040 MCU and running the KMK firmware framework. (WORK IN PROGRESS: Enclosure .stl template is a placeholder and does not yet exactly match final PCB board.)

Size
49 × 52 mm
Copper layers
2
Thickness
1.6 mm
Parts
7
Nets
17
Pads
57
Tracks, vias
60, 4
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
3 Jun 2026
Updated
3 Jun 2026

Overview

Macropad is an open-source printed circuit board by Mo-Was-Here, from the Mo-Was-Here/HackPad repository on GitHub. It is a 2-layer board of 49 × 52 mm with 7 parts on 17 nets, routed with 60 tracks and 4 vias.

It is built around the SK6812MINI-E. Its parts include 4 switches, 2 diodes and 1 IC. It belongs with the keyboards and input and lEDs and displays boards of this library.

Main components

1

README

README.md

🚀 My Custom 3-Key Hackpad

⚠️ Development Note: The current 3D enclosure base file (Top.STL) is an initial layout draft to fulfill the folder architecture requirements. It is not currently matched to the exact final physical dimensions of the routed PCB and will be updated with precise mechanical alignments before final hardware fabrication.

A custom 3-key mechanical macro keypad featuring an integrated rotary encoder dial and individually addressable RGB backlight LEDs. The entire hardware framework is driven by a Seeed Studio XIAO RP2040 microcontroller and runs on the Python-based KMK keyboard firmware framework.


📐 Project Structure

This repository contains all source and manufacturing files required to build this project, organized according to Hack Club's shipping guidelines:

  • /CAD - Contains the structural 3D design file (Top.STL) for the switch plate enclosure.
  • /PCB - Contains the editable KiCad project, schematic, and board layout files.
  • /firmware - Contains the core KMK configuration script (main.py).
  • /production - Contains the manufacturing-ready gerbers.zip bundle and configuration assets.

📋 Bill of Materials (BOM)

ComponentDescriptionQtyPart Source Link
MCUSeeed Studio XIAO RP2040 Module1Seeed Studio Official
SwitchesCherry MX Mechanical Keyswitches3DigiKey Catalog
EncoderEC11 Rotary Encoder Dial with Built-in Switch1Adafruit Supply
LEDsSK6812MINI-E Individual Addressable RGB Components2JLCPCB Parts Library
Enclosure1.5mm Custom 3D-Printed Switch Plate Base Shell1Custom Manufactured STL File

🛠️ Pinout Mapping Reference

  • SW1 (Key 1) $\rightarrow$ GPIO Pin 11 (board.D10)
  • SW2 (Key 2) $\rightarrow$ GPIO Pin 10 (board.D9)
  • SW3 (Key 3) $\rightarrow$ GPIO Pin 9 (board.D8)
  • Rotary Encoder Pins $\rightarrow$ A: Pin 1 (board.D0) / B: Pin 2 (board.D1) / Switch: Pin 3 (board.D2)
  • NeoPixel Data Bus $\rightarrow$ Pin 7 (board.D6)
  • Common Rails $\rightarrow$ Positive: +3V3 / Negative Return Path: GND

💻 Firmware Setup Instructions

This board runs CircuitPython with the KMK framework library. To deploy:

  1. Flash the Seeed Studio XIAO with the latest CircuitPython .UF2 payload.
  2. Copy the kmk firmware directory onto the root directory of the microcontroller storage volume.
  3. Move the provided main.py configuration script onto the board to instantly map keybinds and lighting profiles.

Parts

7
QtyValueFootprintReferences
3SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.25u_PCBSW1, SW2, SW3
2SK6812MINI-Efootprints:SK6812MINI-E_fixedD1, D2
1MOUDLE-SEEEDUINO-XIAORF_Module:MCU_Seeed_ESP32C3U1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW4

Questions

How big is the Macropad PCB?

It measures 49 × 52 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Macropad use?

7 parts, built around the SK6812MINI-E. 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 Mo-Was-Here/HackPad repository on GitHub, at the commit this page was made from: the board is PCB/macropad.kicad_pcb and its schematic PCB/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 states no licence, so its author keeps all rights: ask Mo-Was-Here before reusing the design.

Similar boards

  • 4 layers234 × 84 mmMain panel, the printed circuit board in 3D

    Main panel

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    234 parts3kApache-2.0
  • 4 layers180.8 × 300.3 mmDilemma, the printed circuit board in 3D

    Dilemma

    Bastardkb/Dilemma

    The Dilemma is a vertical stagger low-profile keyboard with mods.

    383 parts590
  • 4 layers48 × 32 mmFlatSat, the printed circuit board in 3D

    FlatSat

    Pwnsat/FlatSat

    Flatsat v1.0 is a hardware based platform for aerospace cybersecurity research

    106 parts575GPL-2.0
  • 2 layersDemo, the printed circuit board in 3D

    Demo

    adamws/kicad-kbplacer

    KiCad plugin for automatic keyboard's key placement and routing

    48 parts547GPL-3.0
  • 2 layers97 × 78.5 mmDumbpad, the printed circuit board in 3D

    Dumbpad

    imchipwood/dumbpad

    Simple 4x4 numpad with rotary encoder. Powered by QMK via ATmega32u4 Pro Micro

    62 parts517GPL-2.0
  • 4 layers82.5 × 39.4 mmV4head, the printed circuit board in 3D

    V4head

    makerforgetech/modular-biped

    An open source framework for creating a bipedal modular companion robot.

    26 parts493GPL-3.0
  • 2 layers115.7 × 95.7 mmFifi split keeb, the printed circuit board in 3D

    Fifi split keeb

    raychengy/fifi_split_keeb

    Fifi Keyboard 🐶 ⌨️

    66 parts334
  • 4 layers70 × 54 mmPicoLab, the printed circuit board in 3D

    PicoLab

    CoretechR/PicoLab

    Web-GUI Embedded Multitool

    285 parts327GPL-3.0