

Macropad
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
1README
README.mdMacropad
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=6a3fa3953d8bda3797197edfOverview
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
| Path | What it contains |
|---|---|
3D_PRINTS | STL files for quick access to 3D printing the top and bottom enclosure halves |
ASSEMBLY | Files related to the mechanical assembly of the macropad |
BOM | Bill of materials details and cost breakdowns |
FIRMWARE | Firmware code (C++/CircuitPython/KMK) to program the keys and encoder |
GERBERS | Ready-to-manufacture Gerber files for fabricating the PCB |
IMAGES | Photos and screenshots of the project |
PCB | KiCad schematic and PCB layout files |
ZINE | Project zine documentation |
CAD | Project 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
Printed Circuit Board (PCB)
Schematic
CAD
The Features
- 6 Programmable Keys: Features 6 Cherry MX Red linear mechanical switches for smooth, fast, and customizable keystrokes (copy/paste, media navigation, macro strings, etc.).
- 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.
- Custom PCB: A printed circuit board routing the switches and encoder directly to the RP2040-Zero while looking beautiful with a custom silkscreen designs.
- RP2040-Zero Brains: Powered by the compact Raspberry Pi RP2040-Zero microcontroller, ensuring fast response times and easy programmability.
- 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
- RP2040-Zero (Raspberry Pi Microcontroller)
- KY-040 Rotary Encoder Module
- Cherry MX RED mechanical switches (x6)
- PBT DSA Blank Keycaps for MX Switches (x6)
- Custom Printed Circuit Board (PCB)
- 3D Printed Case (Top and Bottom halves)
Bill of Materials
| Component Name | Quantity | Price (INR) | Total Cost (INR) | Shipping (INR) | Total Price (INR) | Link |
|---|---|---|---|---|---|---|
| PCB (Robu PCB Manufacturing) | 1 | 180 | 900 | 49 | 949 | https://robu.in/pcb-manufacturing-service/ |
| Keycaps for MX keys (ATORSE 12Pcs Blank) | 6 | 52.25 | 627 | Free | 627 | https://www.amazon.in/s?k=ATORSE+12Pcs+PBT+DSA+Blank+Keycaps |
| Cherry MX RED mechanical keys | 6 | 44.9 | 449 | Free | 449 | https://www.thecosmicbyte.com/product/cherry-mx-mechanical-switches-compatible-with-hot-swappable-keyboards-pack-of-10/ |
| Raspberry Pi RP2040 Zero | 1 | 235 | 235 | 24.5 | 259.5 | https://robu.in/product/rp2040-zero-for-raspberry-pi-microcontroller-with-soldering/ |
| KY-040 Rotary encoder | 1 | 59 | 59 | 24.5 | 83.5 | https://robu.in/product/green-rotary-encoder-module-for-arduino-without-demo-code/ |
| Case bottom half (40% infill) | 1 | 159 | 159 | 49.5 | 208.5 | https://3dprintings.in/fdm-3d-printing-service/ |
| Case top half (40% infill) | 1 | 90 | 90 | 49.5 | 139.5 | https://3dprintings.in/fdm-3d-printing-service/ |
| Subtotal | 2519 | 197 | 2716 |
How to Build it?
To replicate, follow the steps below:
- First, grab the PCB Gerber files from the
GERBERSfolder and send them to your preferred PCB manufacturer (like Robu, JLCPCB, etc.). - Next, grab the 3D models from the
3D_PRINTSfolder and print the top and bottom case halves (recommended 40% infill for a solid feel). - Purchase the parts mentioned in the BOM.
- Solder the RP2040-Zero, Cherry MX switches, and the rotary encoder onto your fabricated PCB.
- Flash the firmware from the
FIRMWAREfolder onto your RP2040-Zero via USB-C. - Test the keys and encoder on your computer to ensure all keystrokes register.
- 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| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3, SW4, SW5, SW6 |
| 4 | LOGO | LOGO | G***, G***, G***, G*** |
| 1 | KY-040 | footprints:KY-040-PORT | U2 |
| 1 | RP2040-ZERO | footprints:FP_RP2040 | U3 |
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 mm

- 2 layers321 × 92.3 mm

- 2 layers255.9 × 99.3 mm

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 mm

- 2 layers54 × 64 mm

DonConIOmini
ravinrabbid/DonCon2040
RP2040 based firmware and hardware for DIY Taiko no Tatsujin Drum Controllers
96 parts66MIT - 2 layers52 × 50 mm

RP2040-TestPatternGenerator VGA
nmur/RP2040-TestPatternGenerator
A simple test pattern generator running on the RP2040 microcontroller
12 parts64GPL-3.0 - 2 layers120 × 40 mm

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 mm
