
GDEK
GilDev/GDEK
Low-profile, compact, beginner-friendly, assembly-friendly 4×6 with 5-keys thumb cluster ergonomic keyboard with universal keyswitch support, per-key RGB LED, encoder and RP2040 controller. Phew, that’s a lot!

A Custom Macro Pad I Designed and Built based on the RP2040
MacroPad is an open-source printed circuit board by landodoughty, from the landodoughty/MacroPad repository on GitHub, published under the MIT licence. It is a 2-layer board of 79.2 × 106.7 mm with 111 parts on 94 nets, routed with 776 tracks and 139 vias.
It is built around the RP2040, 74AHCT1G125SE and W25Q128JVSIQ, with the 1N4148WS and ABM8-272-T3 among its other parts. Its parts include 40 diodes, 37 capacitors, 20 switches, 5 resistors and 4 ICs. It belongs with the keyboards and input boards and the RP2040 boards of this library.
A Custom Macro Pad I Designed and Built based on the RP2040
The PCB: In this repository you can find the raw PCB files and the Gerber files which can allow you to manufacture the PCB through a service such as PCBWay or JLCPCB. I have also attached a BOM containing all the parts for the PCB. Most of the parts utilized on the PCB are very standard, and if you are assembling through JLCPCB the BOM already contains LCSC part numbers for most items. The only items which don't have part numbers, because I did not have them assembled through JLCPCB are the USB Micro-B connector, the reverse mount neopixel LEDs, the MX keyswitch sockets, and a small two pin 2.54mm pitch connector. The USB connector and the two pin connector can be easily bought from many places or even salvaged from old electronics. The reverse mount LEDs and MX keyswitch sockets are from adafruit.
Switches: You can use any MX compatible switches with the PCB, but keep in mind that they all have varying heights. The STLs provided are designed for switches with a 7mm above-board height with DSA keycaps, significantly less than most switches. If you want to use a different heigh you will likely have to adjust the STEP file provided to match your keyheight.
Code: The code is provided but you will need to adjust it to fit your desires. This includes changing the LED modes and key press actions. Currently, the LED modes includes a constant color mode, an RGB mode, and a layer specific mode. To change layers, you press the first two buttons on the top row and then press the third button. To change colors in the constant color mode, you again press the first two buttons on the top row but then press the fourth button to change colors. To change the actions, scroll down to find the section where they are defined. The code shows how to do shortcuts, go to links, make a number pad, and how to create a shift key for a layer. To upload the code for the first time, short the two pins in the 2.54mm connector and then plug the MacroPad in through USB. It should pop up as detected and then yo ucan unshort the pins. Once you have done this once, you should be able to upload just with USB but if you are having issues uploading you may need to repeat the process.
The Case: The case is 3d printed and I have provided both STL and STEP files for your conveinance. This means you can easily customize the case to your liking. The case needs 2 M3 heat set inserts, 2 M3 washers, and 2 M3 x 6 screws to assemble.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 20 | 0.1u | Capacitor_SMD:C_0402_1005Metric | C21, C22, C23, C24, C25, C26, C27, C28, C29, C30, C31, C32, C33, C34, C35, C36 +4 |
| 20 | 1N4148WS | Diode_SMD:D_SOD-323 | D21, D22, D23, D24, D25, D26, D27, D28, D29, D30, D31, D32, D33, D34, D35, D36 +4 |
| 20 | NeoPixel_THT | neoPixel:NEO3535_REVERSECorrected | D1, D2, D3, D4, D5, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20 +4 |
| 20 | SW_SPST | keyswitches:Kailh_socket_MX | SW1, SW2, SW3, SW4, SW5, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20 +4 |
| 10 | 100n | Capacitor_SMD:C_0402_1005Metric | C5, C6, C7, C9, C11, C12, C13, C14, C15, C16 |
| 3 | 10u | Capacitor_SMD:C_0805_2012Metric | C3, C4, C17 |
| 2 | 15p | Capacitor_SMD:C_0603_1608Metric | C1, C2 |
| 2 | 1k | Resistor_SMD:R_0402_1005Metric | R1, R3 |
| 2 | 1u | Capacitor_SMD:C_0402_1005Metric | C8, C10 |
| 2 | 27 | Resistor_SMD:R_0402_1005Metric | R4, R5 |
| 2 | MountingHole | MountingHole:MountingHole_3.2mm_M3_ISO14580_Pad | H1, H2 |
| 1 | 74AHCT1G125 | Package_TO_SOT_SMD:SOT-23-5 | U4 |
| 1 | ABM8-272-T3 | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | AMS1117-3.3SOT223 | Package_TO_SOT_SMD:SOT-223 | U1 |
| 1 | Conn_01x02 | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J2 |
| 1 | DNF | Resistor_SMD:R_0402_1005Metric | R2 |
| 1 | RP2040 | Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm | U3 |
| 1 | USB_B_Micro | Connector_USB:USB_Micro-B_Amphenol_10103594-0001LF_Horizontal | J1 |
| 1 | W25Q128JVS | Package_SO:SOIC-8_5.23x5.23mm_P1.27mm | U2 |

GilDev/GDEK
Low-profile, compact, beginner-friendly, assembly-friendly 4×6 with 5-keys thumb cluster ergonomic keyboard with universal keyswitch support, per-key RGB LED, encoder and RP2040 controller. Phew, that’s a lot!



Brillar0101/agentdeck
RP2040 macropad for supervising AI coding agents: 13 hot-swap keys with per-key RGB status, encoder, joystick, 4-layer PCB, CircuitPython firmware, printable enclosure


Fredrik-Reinholdsen/Vesper
A split keyboard designed from scratch, including electronics, software and 3D printed mechanics


It measures 79.2 × 106.7 mm and has 2 copper layers, 1.6 mm thick.
111 parts, built around the RP2040, 74AHCT1G125SE, W25Q128JVSIQ and 1N4148WS. 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.
From the landodoughty/MacroPad repository on GitHub, at the commit this page was made from: the board is MacroPad.kicad_pcb and its schematic MacroPad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
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).