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

a 3x3 qmk macropad with a rotary encoder, rgb keys, and an oled with a clock and a spinning globe
MiniPad is an open-source printed circuit board by DagaVedant, from the DagaVedant/MiniPad repository on GitHub, published under the MIT licence. It is a 2-layer board of 96.4 × 90.9 mm with 34 parts on 32 nets, routed with 876 tracks and 83 vias.
It is built around the SK6812MINI-E. Its parts include 18 diodes, 10 switches and 2 ICs. It belongs with the keyboards and input and lEDs and displays boards and the RP2040 boards of this library.
a 3x3 macropad for shortcuts, built for hackpad. 9 keys, a rotary encoder, per key rgb, and a 0.91" oled that shows a clock and a spinning globe.

rendered from the actual case and board files in this repo, not a mockup. photo of the real thing goes here once it's printed and soldered.


96.38 x 90.90mm, 2 layers. chamfered corners, and 4x m3 mounting holes on an 88.226 x 82.748mm rectangle for a sandwich case.
the 9 sk6812mini-e leds are reverse mounted. they sit in milled slots in the board and shine up through the switches, so the lighting is per key rather than underglow.

a sandwich: 1.5mm switch plate on top, the pcb in the middle, tray bottom underneath. 102.38 x 96.90mm overall, 16.6mm tall closed.
the pcb rests on four bosses at 10mm, which leaves a 7.5mm cavity under the board for the reverse mounted leds and the xiao. m3 heatset inserts drop into the bosses from above, and four m3 screws through the plate into those inserts hold the stack together. the only overhang is the usb-c slot in the side wall, which is a 7mm bridge.
production/Top.STEP and production/Bottom.STEP are the two printable parts.
cad/Assembly.STEP is the whole thing put together, with the pcb in it.

the globe is generated from real natural earth coastline data. 24 frames, made by projecting the land polygons onto a tilted sphere, so those are actual continents at 32x32 pixels.
| qty | part | refs | in the hackpad kit? |
|---|---|---|---|
| 1 | seeed xiao rp2040 | U1 | yes (1 supplied) |
| 9 | mx style switch | SW1-SW9 | yes (16 supplied) |
| 9 | 1n4148 diode, do-35 | D10-D18 | yes (20 supplied) |
| 9 | sk6812mini-e rgb led | D1-D9 | yes (20 supplied) |
| 1 | ec11 rotary encoder, 20mm d-shaft | SW10 | yes (2 supplied) |
| 1 | 0.91" 128x32 i2c oled | U2 | yes (1 supplied) |
| 9 | dsa blank keycap | - | yes (16 supplied) |
| 4 | m3x16 screw | H1-H4 | yes (6 supplied) |
| 4 | m3x5x4 heatset insert | H1-H4 | yes (6 supplied) |
| 1 | knob for the encoder | - | no, print it or source it yourself |
everything except the encoder knob comes from the standard kit.
| open spotify | open chrome | open vs code |
| f11 | screenshot | calculator |
| copy | paste | undo |
the encoder does volume.
the three app launchers use windows taskbar shortcuts (win+1/2/3), so
pin spotify, chrome and vs code to the first three taskbar slots and the top
row works with no extra software.
there's no rtc on the board and usb hid can't send the time, so the clock free runs from a timer and you set it by hand:
it resets to 00:00:00 whenever you unplug it, and drifts a few seconds a day.
| xiao pin | rp2040 | function |
|---|---|---|
| d0, d1, d2 | gp26, gp27, gp28 | matrix columns |
| d3, d7, d10 | gp29, gp1, gp3 | matrix rows |
| d4, d5 | gp6, gp7 | oled i2c (sda, scl) |
| d6 | gp0 | sk6812 data |
| d8, d9 | gp2, gp4 | encoder b, a |
3x3 matrix, row2col. all 11 gpio are used, which is why the encoder's push
switch isn't wired.
qmk. production/firmware.uf2 is prebuilt, so to flash it just double tap reset
on the xiao and drag the file onto the drive that appears.
to build it yourself, drop firmware/ into
qmk_firmware/keyboards/minipad/ and run:
qmk compile -kb minipad -km defaultpcb/ kicad source and the board step
firmware/ qmk source
cad/ assembled case model
production/ everything you need to build one: gerbers, the two
printable case parts, and the prebuilt uf2
assets/ images for this readme| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 1N4148 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D10, D11, D12, D13, D14, D15, D16, D17, D18 |
| 9 | SK6812MINI-E | footprints:SK6812MINI-E_fixed | 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 |
| 4 | MountingHole_3.2mm_M3 | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 1 | ER_OLEDM0.91_1x-I2C | Display:ER_OLEDM0.91_1x-I2C | U2 |
| 1 | MOUDLE-SEEEDUINO-XIAO | footprints:XIAO-Generic-Hybrid-14P-2.54-21X17.8MM | U1 |
| 1 | RotaryEncoder | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW10 |
It measures 96.4 × 90.9 mm and has 2 copper layers, 1.6 mm thick.
34 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 DagaVedant/MiniPad repository on GitHub, at the commit this page was made from: the board is pcb/minipad.kicad_pcb and its schematic pcb/minipad.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).

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.

