
Breakout 112pin Connector
rusefi/rusefi
rusefi - GPL internal combustion engine control unit

Feature-packed macro board with a 0.91" OLED, two rotary encoders, and hardware anti-ghosting. 14-pin connector for expansion. KiCad design files and gerbers included.
HackPad is an open-source printed circuit board by yahyaGoblin, from the yahyaGoblin/HackPad-v2 repository on GitHub, published under the MIT licence. It is a 2-layer board of 100 × 100 mm with 42 parts on 50 nets, routed with 305 tracks and 17 vias.
Its parts include 16 diodes, 16 switches, 2 ICs, 1 capacitor and 1 connector.
The natural successor to Project 1: same 16-key staggered matrix, but now with an IO expander for cleaner pin management, per-key diodes to eliminate ghosting, and a 0.91" OLED display over I2C showing layer info or animations. The key layout is generated via a Python script running in KiCad's scripting console, placing all 16 keys in a proper staggered grid in seconds.
The original Hackpad felt unfinished — no diodes meant ghosting was possible, no screen meant wasted potential, and manually placing keys once was enough to know a script needed to do it next time. This project was about fixing every corner that got cut the first time around.
| Ref | Component | Part | Qty | Unit Price (AUD) | Supplier | Notes |
|---|---|---|---|---|---|---|
| C1 | Decoupling Capacitor | 100nF, C_0805_2012Metric | 1 | ~$0.10 | LCSC C49678 | Hand solder pad |
| D1–D16 | Diodes | 1N4148, SOD-123 | 16 | ~$0.03 ea | LCSC C2128 | One per key; buy a strip of 20 |
| ENC1, ENC2 | Rotary Encoders | EC11 Encoder with Switch – Half Shaft 15mm | 2 | $4.00 | KEEBD | 5-pin THT, push-click |
| — | Encoder Knobs | Aluminum Alloy Encoder Knob | 2 | $4.50 | KEEBD | Match shaft type (Half D or Plum) |
| H1–H4 | Mounting Holes | M3 brass standoff + screw | 4 | ~$0.20 ea | Generic | M3×5mm standoffs |
| J1 | Connector | 1×04 2.54mm pin header | 1 | ~$0.20 | Generic | |
| SW1–SW16 | Switches | Gateron Blue, PCB Mount 5-pin | 16 | $4.00 / 10pk | KEEBD | Clicky, 50g, 2mm pre-travel; order 2 packs |
| U1 | Microcontroller | Seeed XIAO RP2040 | 1 | $12.00 | KEEBD | Dual-core RP2040, 264KB SRAM, 2MB Flash, USB-C |
| U2 | IO Expander | MCP23017-E/SP, DIP-28 | 1 | ~$3.50 | LCSC C128374 | I2C, 16 GPIO |
| DISP1 | OLED Display | 0.91″ OLED Module 128×32 | 1 | $6.00 | KEEBD | SSD1306 driver, 3.3–5V, I2C |
| — | Keycaps | MX-compatible, 1u | 16 | varies | Generic | DSA or XDA profile recommended |
| — | PCB | Custom (this repo) | 1 | ~$20 | JLCPCB / PCBWay | Must fit within 100×100mm; 5-pack min order |
| — | USB Cable | USB-C | 1 | varies | Generic | For flashing and power |
Estimated build cost (KEEBD sourced items): ~AUD $35.00
Estimated total (all parts, excl. keycaps & shipping): ~AUD $69.00
A machine-readableBOM.csvis included in the root of this repo.
Gerber files are in the /gerbers folder, ready to send to JLCPCB, PCBWay, or your preferred fab.
Compatible with KMK (CircuitPython) or QMK. OLED support via SSD1306 is built into both frameworks. For KMK, the busio I2C interface maps directly to the XIAO RP2040's SDA/SCL pins.
Open source hardware — feel free to modify and build your own.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 16 | D_Small | Diode_SMD:D_SOD-123 | D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16 |
| 16 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12, SW13, SW14, SW15, SW16 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 2 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_MountingHoles | ENC1, ENC2 |
| 1 | 100 nF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1 |
| 1 | Conn_01x04 | Connector:FanPinHeader_1x04_P2.54mm_Vertical | J1 |
| 1 | MCP23017x-x-SP | Package_DIP:DIP-28_W7.62mm | U2 |
| 1 | MOUDLE-SEEEDUINO-XIAO | Xiao:XIAO-Generic-Hybrid-14P-2.54-21X17.8MM | U1 |
It measures 100 × 100 mm and has 2 copper layers, 1.6 mm thick.
42 parts. 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 yahyaGoblin/HackPad-v2 repository on GitHub, at the commit this page was made from: the board is HackPad/HackPad.kicad_pcb and its schematic HackPad/HackPad.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).

rusefi/rusefi
rusefi - GPL internal combustion engine control unit


hackclub/sprig
🍃 Learn to code by making games in a JavaScript web-based game editor.

jamro/tiny-engineer
A small desktop robot that brings an AI coding assistant to life, physically acting out when it reads files, thinks, writes code, and finishes work.

hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

