PCB Design
RP2040 macro pad with hot-swap keys, rotary encoder and RGB lighting
A USB-C macro pad with an RP2040, 9 hot-swap mechanical keys, a rotary encoder and RGB lighting under every key, on a 2-layer board ready to manufacture and assemble.
The goal
A compact programmable keypad: 9 mechanical keys that can be changed without soldering, a rotary encoder with a push button, RGB lighting under every key and a USB-C connection. The board had to be cheap to make and easy to assemble.
What I did
- Designed the full schematic around the RP2040, with external QSPI flash, a 12 MHz crystal and an SWD debug connector.
- Designed the USB-C input with ESD protection, a fuse and a 3.3 V regulator.
- Added a level shifter so the 3.3 V microcontroller drives the 5 V RGB LEDs reliably.
- Used hot-swap sockets, so the keys plug in and can be changed at any time.
- Added BOOT and RESET buttons to load firmware over USB, and test points on the main power rails.
- Did the 2-layer layout in KiCad (87 × 68 mm), with every SMD part on one side so the board is assembled in a single pass, and decoupling capacitors close to each supply pin.
- Prepared the Gerbers, the BOM with distributor part numbers and the assembly files.
The result
A complete design, ready to order with assembly. The manufacturer fits every SMD part, and only the key switches and the encoder go in by hand.


