Skip to the content
PCBKitNew board
2 layers67.2 × 84.7 mmMacropad, the printed circuit board in 3D

PrateekPad is a compact 9-key macropad powered by the Seeed XIAO RP2040.

Size
67.2 × 84.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
21
Nets
24
Pads
102
Tracks, vias
155, 12
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
2 Mar 2026
Updated
4 Mar 2026

Overview

Macropad is an open-source printed circuit board by Prateek12code, from the Prateek12code/PrateekPad repository on GitHub, published under the MIT licence. It is a 2-layer board of 67.2 × 84.7 mm with 21 parts on 24 nets, routed with 155 tracks and 12 vias.

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

README

README.md

PrateekPad – 9-Key OLED Macropad

Assembled Model

PrateekPad is my custom 9-key macropad built completely from scratch.
This was my first time designing a PCB, writing firmware for a microcontroller, and building a full 3D printed enclosure around it.

I started this project with zero experience in hardware design. Now it’s a fully working macropad with an OLED display, rotary encoder, custom PCB, and layered firmware system.


Overview

PrateekPad is a compact productivity macropad powered by the Seeed XIAO RP2040.

Features include:

  • 9 mechanical keys arranged in a 3×3 matrix
  • Rotary encoder with press functionality
  • 128×32 I2C OLED display
  • KMK firmware
  • Layer switching system
  • Custom 2-layer PCB
  • Fully 3D-printed enclosure

The goal of this project was to learn the complete workflow of designing a hardware product from scratch.


Assembled Model & Case Model

Macropad Assembly

This shows the full assembled design including the case, switches, OLED display, and rotary encoder.


PCB Layout

PCB

A custom 2-layer PCB was designed for the macropad using KiCad.
It integrates the switch matrix, OLED connections, rotary encoder, and the Seeed XIAO RP2040.


Schematic

Schematic

The schematic shows the switch matrix, diode configuration, rotary encoder wiring, and OLED interface.


Firmware

The firmware is written using KMK, which runs on the RP2040 microcontroller.

The macropad supports multiple layers that allow it to be used for:

  • Coding shortcuts
  • Media control
  • Editing shortcuts
  • Numpad input

The OLED display provides quick visual feedback about the current layer.


Design Constraints

This project follows the Hackpad design rules:

  • Through-hole Seeed XIAO RP2040
  • 2-layer PCB
  • PCB under 100mm × 100mm
  • Case under 200mm × 200mm × 100mm
  • Fewer than 16 inputs
  • Fully 3D printed enclosure

What I Learned

This project helped me learn many hardware design concepts including:

  • Designing and routing a PCB
  • Matrix scanning for keyboards
  • Firmware development with KMK
  • Mechanical design for 3D printing
  • Creating production-ready manufacturing files

Built by Prateek.

Parts

21
QtyValueFootprintReferences
91N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D3, D4, D5, D6, D7, D8, D9
9SW_Push_45degScottoKeebs_MX:MX_PCB_1.00uSW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10
1MOUDLE-SEEEDUINO-XIAOScottoKeebs_MCU:Seeed_XIAO_RP2040U1
1OLED_128x32ScottoKeebs_Components:OLED_128x32J1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW1

Questions

How big is the Macropad PCB?

It measures 67.2 × 84.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Macropad use?

21 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 Prateek12code/PrateekPad 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 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).

Similar boards

  • 2 layers28.3 × 39.8 mmLevelShifter, the printed circuit board in 3D

    LevelShifter

    gusmanb/logicanalyzer

    24 channel, 100Msps logic analyzer hardware and software

    21 parts5.1kGPL-3.0
  • 2 layers171.2 × 72.9 mmAmiga gfxcard before pour, the printed circuit board in 3D

    Amiga gfxcard before pour

    mntmn/amiga2000-gfxcard

    MNT VA2000, an Open Source Amiga 2/3/4000 Graphics Card (Zorro II/III), written in Verilog

    21 parts1k
  • 2 layers93.9 × 46 mmRectifier, the printed circuit board in 3D

    Rectifier

    rene-dev/stmbl

    AC Servo Driver for STM32F4

    21 parts990GPL-3.0
  • 2 layers45.5 × 42.9 mmEsphome han reader, the printed circuit board in 3D

    Esphome han reader

    hackclub/OnBoard

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

    21 parts915
  • 2 layers31.8 × 14.5 mmEsp prog, the printed circuit board in 3D

    Esp prog

    drandyhaas/KiCadRoutingTools

    A set of Python/Rust tools to aid routing in KiCad

    21 parts744MIT
  • 2 layers23.5 × 15.8 mmQuiverAttachPCB, the printed circuit board in 3D

    QuiverAttachPCB

    Arrow-air/project-quiver

    Project Quiver documentation, designs, and project artifacts.

    21 parts617CERN-OHL-S-2.0
  • 2 layers69.9 × 41.3 mmHeaterMeterLCD, the printed circuit board in 3D

    HeaterMeterLCD

    CapnBry/HeaterMeter

    HeaterMeter and LinkMeter Arduino BBQ Controller

    21 parts557MIT
  • 2 layers161.3 × 111.8 mmDoj, the printed circuit board in 3D

    Doj

    kelu124/echomods

    Open source ultrasound processing modules and building blocks

    21 parts463