
Main panel
google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards

Custom 3x3 macro pad with rotary encoder, OLED, and RGB underglow — powered by Seeed XIAO RP2040 and QMK firmware
MacroPad is an open-source printed circuit board by nghids, from the nghids/NghiPad repository on GitHub. It is a 2-layer board of 91.9 × 91.4 mm with 27 parts on 26 nets, routed with 133 tracks and 15 vias.
It is built around the SK6812MINI-E. Its parts include 11 diodes, 10 switches and 1 IC. It belongs with the keyboards and input and lEDs and displays boards and the RP2040 boards of this library.

A custom 3x3 macro pad featuring a rotary encoder, OLED display, and RGB underglow — powered by a Seeed XIAO RP2040. Designed in KiCad with a 3D-printed case.


| Top Plate | Switch Plate | Base |
|---|---|---|
![]() | ![]() | ![]() |
| Ref | Component | Quantity | Notes |
|---|---|---|---|
| U2 | Seeed XIAO RP2040 | 1 | Microcontroller |
| SW1–SW9 | MX-compatible key switches | 9 | Cherry MX / Gateron / etc. |
| SW17 | EC11 rotary encoder | 1 | With push button |
| D1–D9 | 1N4148 diode | 9 | Through-hole |
| D10–D11 | SK6812MINI-E | 2 | RGB LED, reverse-mount |
| O1 | SSD1306 OLED module (0.91", 128x32) | 1 | 4-pin I2C |
| — | MX-compatible keycaps | 9 | 1u |
| — | 3D-printed case | 1 set | Top plate, switch plate, base |
| — | M2 screws + heat-set inserts | 4 | For case assembly |
| Function | GPIO | XIAO Pin |
|---|---|---|
| Column 0 | GP26 | Pin 1 |
| Column 1 | GP27 | Pin 2 |
| Column 2 | GP28 | Pin 3 |
| Row 0 | GP1 | Pin 8 |
| Row 1 | GP2 | Pin 9 |
| Row 2 | GP4 | Pin 10 |
| Encoder A | GP29 | Pin 4 |
| Encoder B | GP0 | Pin 7 |
| OLED SDA | GP6 | Pin 5 |
| OLED SCL | GP7 | Pin 6 |
| RGB Data | GP3 | Pin 11 |
This pad runs QMK Firmware. The firmware source lives in:
| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 1N4148 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D1, D2, D3, D4, D5, D6, D7, D8, D9 |
| 9 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9 |
| 2 | SK6812MINI-E | LED_SMD:LED_SK6812MINI_PLCC4_3.5x3.5mm_P1.75mm | D10, D11 |
| 1 | OLEd | Library:SSD1306-0.91-OLED-4pin-128x32 | O1 |
| 1 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW17 |
| 1 | XIAO-RP2040-DIP | XIAO_PCB:XIAO-RP2040-DIP | U2 |
The 23 most common of 27 parts.
It measures 91.9 × 91.4 mm and has 2 copper layers, 1.6 mm thick.
27 parts, built around the SK6812MINI-E. 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 nghids/NghiPad 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 states no licence, so its author keeps all rights: ask nghids before reusing the design.

google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards

Bastardkb/Dilemma
The Dilemma is a vertical stagger low-profile keyboard with mods.

Pwnsat/FlatSat
Flatsat v1.0 is a hardware based platform for aerospace cybersecurity research

adamws/kicad-kbplacer
KiCad plugin for automatic keyboard's key placement and routing

imchipwood/dumbpad
Simple 4x4 numpad with rotary encoder. Powered by QMK via ATmega32u4 Pro Micro

makerforgetech/modular-biped
An open source framework for creating a bipedal modular companion robot.

