Skip to the content
2 layers97.5 × 115 mmMacropadProject, the printed circuit board in 3D

A custom 4x3 mechanical macropad built with an RP2040, EC11 encoder, and OLED display using QMK.

Size
97.5 × 115 mm
Copper layers
2
Thickness
1.6 mm
Parts
28
Nets
45
Pads
135
Tracks, vias
136, 7
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
6 Oct 2026
Updated
6 Oct 2026

Overview

MacropadProject is an open-source printed circuit board by LucasS1206, from the LucasS1206/Custom-4x3-Programable-Macropad repository on GitHub. It is a 2-layer board of 97.5 × 115 mm with 28 parts on 45 nets, routed with 136 tracks and 7 vias.

Its parts include 14 switches, 12 diodes and 1 connector. It belongs with the keyboards and input and lEDs and displays boards of this library.

README

README.md

Custom 4x3 Macropad (with Rotary Encoder & OLED)

A custom 4x3 mechanical macropad I designed and built from scratch. This was designed for the intention of a dedicated keypad for a daily computer setup. I used this project as an opportunity to walk through the entire hardware development process from designing the circuit board in KiCad to writing the embedded C firmware in QMK.

System Features

Layout: A 4x3 grid (12 keys) for custom shortcuts and macros.

Rotary Encoder: An EC11 clickable dial for master volume and media control.

Display: A 1.3" SH1106 OLED screen for real-time visual feedback.

Microcontroller: Pro Micro RP2040.

Firmware: Custom QMK integration, giving me complete control over every key switch, screen display, and dial action.

Hardware Design (KiCad)

The hardware architecture and PCB were developed using KiCad 10.0:

Schematics: Built a 4x3 switch matrix with diodes to prevent key ghosting, alongside the specific pin routing for the encoder and microcontroller.

PCB Layout: Routed a compact, custom circuit board.

Iterative Design: During the layout phase, I caught and fixed an orientation error with the microcontroller footprint and adjusted the top-layer copper pour clearances to make sure the board would manufacture correctly without short-circuiting.

QMK Firmware

The /firmware directory contains the configuration files (keymap.c, keyboard.json, config.h, and rules.mk) required to run the system.

Repository Structure

/Hardware: The primary KiCad 10.0 design files (.kicad_pro, .kicad_sch, .kicad_pcb).

/firmware/testpad: The custom QMK configuration source files.

/Images: System documentation through images of all parts of the design proccess.

Parts

28
QtyValueFootprintReferences
13SW_PushMX_Solderable:MX-Solderable-1USW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12, SW13
121N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12
1Conn_01x04_SocketConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW99
1~pro_micro_rp2040:pro_micro_rp2040Pro_Micro_RP2040_U1

Similar boards

  • 2 layers44.5 × 72.7 mmOSO SWAT C1-jig, the printed circuit board in 3D

    OSO SWAT C1-jig

    joeycastillo/Sensor-Watch

    A board replacement for the classic Casio F-91W wristwatch

    28 parts2.1k
  • 2 layers95 × 54 mmEinkPDA screen, the printed circuit board in 3D

    EinkPDA screen

    TalismanDesign/PocketMage_PDA

    An E-Ink PDA device using the ESP32 S3.

    28 parts2kApache-2.0
  • 2 layers45 × 45 mmSmartbuttons, the printed circuit board in 3D

    Smartbuttons

    hackclub/OnBoard

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

    28 parts915
  • 2 layers24.1 × 36.2 mmEsp32miniBT, the printed circuit board in 3D

    Esp32miniBT

    asterics/esp32_mouse_keyboard

    ESP32 implementation for HID over GATT Keyboard and Mouse (Bluetooth Low Energy). Including serial API for external modules (similar to Adafruit EZKey HID)

    28 parts911GPL-3.0
  • 2 layers34.8 × 12.2 mmInfnoise goldfingers, the printed circuit board in 3D

    Infnoise goldfingers

    waywardgeek/infnoise

    The world's easiest TRNG to get right

    28 parts854CC0-1.0
  • 2 layers55.9 × 99.1 mmStm32f0 disco Luos shield, the printed circuit board in 3D

    Stm32f0 disco Luos shield

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    28 parts546MIT
  • 2 layers88 × 25 mmEleLab v2 Frontpanel a, the printed circuit board in 3D

    EleLab v2 Frontpanel a

    Chrismettal/EleLab_v2

    Cheap DIY lab system for hobbyists and the tinkering folk

    28 parts531GPL-3.0

Questions

How big is the MacropadProject PCB?

It measures 97.5 × 115 mm and has 2 copper layers, 1.6 mm thick.

What parts does the MacropadProject use?

28 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 MacropadProject KiCad files?

From the LucasS1206/Custom-4x3-Programable-Macropad repository on GitHub, at the commit this page was made from: the board is Hardware/MacropadProject.kicad_pcb and its schematic Hardware/MacropadProject.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the MacropadProject design in my own project?

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