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

A custom 6-key custom macropad with a rotary encoder, Cherry MX red mechanical switches, a custom PCB, and a 3D-printed case to take your workflow to the next level.

Size
49 × 91.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
15
Nets
23
Pads
61
Tracks, vias
59, 0
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
18 Jun 2026
Updated
20 Jul 2026

Overview

Macropad is an open-source printed circuit board by Ragh7av, from the Ragh7av/Macropad repository on GitHub, published under the MIT licence. It is a 2-layer board of 49 × 91.5 mm with 15 parts on 23 nets, routed with 59 tracks and 0 vias.

It is built around the RP2040-ZERO. Its parts include 6 switches and 2 ICs. It belongs with the keyboards and input boards and the RP2040 boards of this library.

Main components

1

README

README.md

Macropad

Screenshot 2026-06-27 155121

A custom 6-key custom macropad with a rotary encoder, Cherry MX red mechanical switches, a custom PCB, and a 3D-printed case to take your workflow to the next level.

https://cad.onshape.com/documents/96bc1078680b64831b101746/w/834816f7826d3f1ee40a2d83/e/93c4e7053cae44b7b10a563c?renderMode=0&uiState=6a3fa3953d8bda3797197edf

Overview

This project is a custom desktop macropad built around the RP2040-Zero. It includes 6 Cherry MX Red mechanical switches for satisfying tactile sounds while clocking, a KY-040 rotary encoder for volume or scroll control, a custom-designed PCB, and a sleek 3D-printed two-part enclosure.

Repository Contents

PathWhat it contains
3D_PRINTSSTL files for quick access to 3D printing the top and bottom enclosure halves
ASSEMBLYFiles related to the mechanical assembly of the macropad
BOMBill of materials details and cost breakdowns
FIRMWAREFirmware code (C++/CircuitPython/KMK) to program the keys and encoder
GERBERSReady-to-manufacture Gerber files for fabricating the PCB
IMAGESPhotos and screenshots of the project
PCBKiCad schematic and PCB layout files
ZINEProject zine documentation
CADProject 3D models

Why am I even building this?

I built this project as a part of an event called Fallout, organized by a non-profit organization called Hack Club. We build and ship hardware projects, and for that, we get some cool gifts and grants to build it IRL. After building hardware projects for 60 hours, we get invited to Shenzhen, China for a Hardware Hackathon. I am building this project to work toward those 60 hours.

Why Macropad?

So I spend a lot of time at my desk doing coding, editing, and general productivity tasks. I frequently need quick access to specific shortcuts, media controls, and repetitive keystrokes that are tedious to execute on a standard keyboard. I created this project to solve these problems and help myself get supercalifragilisticexpialidocious in building super cool hardware things while optimizing my workflow.

Zine

Zine

Printed Circuit Board (PCB)

Screenshot 2026-06-26 000245 Screenshot 2026-06-19 184742 Screenshot 2026-06-19 184433

Schematic

Screenshot 2026-06-20 071409

CAD

Screenshot 2026-06-20 013928 Screenshot 2026-06-20 013915 Screenshot 2026-06-20 014014 Screenshot 2026-06-20 013951 Screenshot 2026-06-20 013946 Screenshot 2026-06-20 013938 Screenshot 2026-06-27 155041 Screenshot 2026-06-27 155121 Screenshot 2026-06-27 155108 Screenshot 2026-06-27 155052

The Features

  1. 6 Programmable Keys: Features 6 Cherry MX Red linear mechanical switches for smooth, fast, and customizable keystrokes (copy/paste, media navigation, macro strings, etc.).
  2. Rotary Encoder: Includes a built-in KY-040 rotary encoder with a push-button function, perfect for controlling system volume, zooming, or scrolling through timelines.
  3. Custom PCB: A printed circuit board routing the switches and encoder directly to the RP2040-Zero while looking beautiful with a custom silkscreen designs.
  4. RP2040-Zero Brains: Powered by the compact Raspberry Pi RP2040-Zero microcontroller, ensuring fast response times and easy programmability.
  5. 3D Printed Enclosure: A custom-designed two-part (top and bottom) FDM 3D-printed case to keep the electronics safe and look great on a desk.

The Components Used

  1. RP2040-Zero (Raspberry Pi Microcontroller)
  2. KY-040 Rotary Encoder Module
  3. Cherry MX RED mechanical switches (x6)
  4. PBT DSA Blank Keycaps for MX Switches (x6)
  5. Custom Printed Circuit Board (PCB)
  6. 3D Printed Case (Top and Bottom halves)

Bill of Materials

Component NameQuantityPrice (INR)Total Cost (INR)Shipping (INR)Total Price (INR)Link
PCB (Robu PCB Manufacturing)118090049949https://robu.in/pcb-manufacturing-service/
Keycaps for MX keys (ATORSE 12Pcs Blank)652.25627Free627https://www.amazon.in/s?k=ATORSE+12Pcs+PBT+DSA+Blank+Keycaps
Cherry MX RED mechanical keys644.9449Free449https://www.thecosmicbyte.com/product/cherry-mx-mechanical-switches-compatible-with-hot-swappable-keyboards-pack-of-10/
Raspberry Pi RP2040 Zero123523524.5259.5https://robu.in/product/rp2040-zero-for-raspberry-pi-microcontroller-with-soldering/
KY-040 Rotary encoder1595924.583.5https://robu.in/product/green-rotary-encoder-module-for-arduino-without-demo-code/
Case bottom half (40% infill)115915949.5208.5https://3dprintings.in/fdm-3d-printing-service/
Case top half (40% infill)1909049.5139.5https://3dprintings.in/fdm-3d-printing-service/
Subtotal25191972716

How to Build it?

To replicate, follow the steps below:

  1. First, grab the PCB Gerber files from the GERBERS folder and send them to your preferred PCB manufacturer (like Robu, JLCPCB, etc.).
  2. Next, grab the 3D models from the 3D_PRINTS folder and print the top and bottom case halves (recommended 40% infill for a solid feel).
  3. Purchase the parts mentioned in the BOM.
  4. Solder the RP2040-Zero, Cherry MX switches, and the rotary encoder onto your fabricated PCB.
  5. Flash the firmware from the FIRMWARE folder onto your RP2040-Zero via USB-C.
  6. Test the keys and encoder on your computer to ensure all keystrokes register.
  7. Assemble the PCB into the 3D-printed shell, pop on your keycaps, and secure everything together!

Firmware setup

  • Connect your RP2040-Zero to your computer via USB-C.
  • If using Arduino IDE: Select the appropriate RP2040 board under Tools > Board, select the Port, compile, and click Upload.
  • Customize your keybindings in the firmware code to map to your preferred macros, shortcuts, or media controls before uploading.

Parts

15
QtyValueFootprintReferences
6SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW1, SW2, SW3, SW4, SW5, SW6
4LOGOLOGOG***, G***, G***, G***
1KY-040footprints:KY-040-PORTU2
1RP2040-ZEROfootprints:FP_RP2040U3

The 12 most common of 15 parts.

Questions

How big is the Macropad PCB?

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

What parts does the Macropad use?

15 parts, built around the RP2040-ZERO. 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 Ragh7av/Macropad 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 layers132.3 × 94.9 mmCheapino, the printed circuit board in 3D

    Cheapino

    tompi/cheapino

    An affordable split 36 keys keyboard

    59 parts1.2kCC-BY-4.0
  • 2 layers321 × 92.3 mmMx40, the printed circuit board in 3D

    Mx40

    zzeneg/stront

    Split keyboards with 38 or 40 keys, LCD display and Cirque trackpad

    181 parts353MIT
  • 2 layers255.9 × 99.3 mmZerosprey42, the printed circuit board in 3D

    Zerosprey42

    beekeeb/zerosprey42

    Zerosprey42 Keyboard is a wired, beginner friendly, choc hotswap, MonoBlockSplit (Unibody), column-staggered, DIY mechanical keyboard.

    96 parts140
  • 2 layers146.3 × 69.5 mmStress, the printed circuit board in 3D

    Stress

    GroooveBob/Stress

    Pocket Arcade Fight Pad

    22 parts102MIT
  • 2 layers54 × 64 mmDonConIOmini, the printed circuit board in 3D

    DonConIOmini

    ravinrabbid/DonCon2040

    RP2040 based firmware and hardware for DIY Taiko no Tatsujin Drum Controllers

    96 parts66MIT
  • 2 layers52 × 50 mmRP2040-TestPatternGenerator VGA, the printed circuit board in 3D

    RP2040-TestPatternGenerator VGA

    nmur/RP2040-TestPatternGenerator

    A simple test pattern generator running on the RP2040 microcontroller

    12 parts64GPL-3.0
  • 2 layers120 × 40 mmBuinchiez40, the printed circuit board in 3D

    Buinchiez40

    ChrisChrisLoLo/bunchiez40

    A pocket keyboard that makes use of mouse switches to achieve a miniscule size

    90 parts56GPL-3.0
  • 2 layers305.2 × 76.2 mmSoroka, the printed circuit board in 3D

    Soroka

    kapee1/soroka

    40% DIY-keyboard with base kit support

    126 parts47Unlicense