

Hackpad
MarcinhoPad is a simple, custom-built macro keyboard designed using KiCad. Built with mechanical switches and integrated, it serves as a compact shortcut pad to streamline your daily workflow and macro controls.
- Size
- 82 × 63 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 19
- Nets
- 22
- Pads
- 72
- Tracks, vias
- 93, 1
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 15 Sep 2026
- Updated
- 28 Sep 2026
Overview
Hackpad is an open-source printed circuit board by Developer-Vini, from the Developer-Vini/MarcinhoPad repository on GitHub, published under the MIT licence. It is a 2-layer board of 82 × 63 mm with 19 parts on 22 nets, routed with 93 tracks and 1 via.
Its parts include 7 switches, 6 diodes, 2 ICs and 1 resistor. It belongs with the keyboards and input boards of this library.
README
README.mdMarcinhoPad
Custom macropad designed for the Hack Club Hackpad program.
Overview
MarcinhoPad is a compact macro keyboard built around a Seeed XIAO RP2040. It features 6 mechanical switches, a rotary encoder for volume control, and an OLED display for visual feedback.
Requirements Compliance
- MCU: Seeed XIAO RP2040 (through-hole)
- PCB: 2-layer, under 100mm x 100mm
- Case: 3D-printed only, fits within 200x200x100mm
- Inputs: 6 switches + 1 encoder (7 total, under 16 limit)
- Firmware: KMK (CircuitPython)
Screenshots
PCB

Schematic

Case
The case is 3D-printed in two parts (base + lid). See production/case/ for STL files.


I couldn't place the 3D model of the PCB with the components inside the case because I wasn't able to export the 3D models in KiCad.
Bill of Materials
| Designator | Quantity | Value | Footprint | Part Number |
|---|---|---|---|---|
| U1 | 1 | Seeed XIAO RP2040 | XIAO-Generic-Hybrid-14P-2.54-21X17.8MM | Seeed XIAO RP2040 |
| U2 | 1 | 0.91" OLED SSD1306 | ER_OLEDM0.91_1x-I2C | 0.91" OLED I2C |
| SW1, SW2, SW3, SW4, SW5, SW6 | 6 | Tactile Switch 45° | SW_Cherry_MX_1.00u_PCB | Kailh Choc / compatible |
| SW10 | 1 | Rotary Encoder | RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | Alps EC11E |
| D1, D2, D3, D4, D5, D6 | 6 | 1N4148 Diode | D_DO-35_SOD27_P7.62mm_Horizontal | 1N4148 |
| R1 | 1 | 330Ω Resistor | R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | 330Ω |
Assembly Notes
- U1 (XIAO RP2040) is the main MCU, flashed with KMK firmware
- U2 (OLED) connects via I2C on D4 (SDA) and D5 (SCL)
- D1-D6 provide reverse polarity protection for switch matrix
- R1 is a current-limiting resistor for the OLED or indicator LED
- SW1-SW6 are the 6 key switches
- SW10 is the rotary encoder with integrated push button
Firmware
The firmware is written in KMK for CircuitPython.
Parts
19| Qty | Value | Footprint | References |
|---|---|---|---|
| 6 | 1N4148 | Diode_THT:D_DO-35_SOD27_P7.62mm_Horizontal | D1, D2, D3, D4, D5, D6 |
| 6 | SW_Push_45deg | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3, SW4, SW5, SW6 |
| 1 | 330R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1 |
| 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_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW10 |
The 16 most common of 19 parts.
Questions
How big is the Hackpad PCB?
It measures 82 × 63 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Hackpad use?
19 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.
Where can I download the Hackpad KiCad files?
From the Developer-Vini/MarcinhoPad repository on GitHub, at the commit this page was made from: the board is PCB/hackpad.kicad_pcb and its schematic PCB/hackpad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Hackpad design in my own project?
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).
Similar boards
- 2 layers43.9 × 27.7 mm

- 2 layers50 × 60 mm

Debate Device
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
19 parts915 - 2 layers102.9 × 96.7 mm

ISA adapter
polpo/picogus
Emulation of ISA sound cards and CD-ROM on Raspberry Pi Pico (GUS, SB/Adlib, MPU-401, Tandy, CMS, Panasonic CD-ROM) with USB mouse/joystick support
19 parts805 - 2 layers60 × 39 mm

- 2 layers70.1 × 43.2 mm

Iaq device
nkitanov/iaq_board
IAQ Board is a DIY (Do-It-Yourself) device for measuring internal air quality
19 parts396 - 2 layers80 × 80 mm

- 2 layers25.4 × 25.4 mm

Ina169
Ardumower/ardumower
Develop an open source robotic lawn mower (HW+SW reference platform)
19 parts282 - 2 layers58.4 × 28.6 mm

New rele
zmaker/arduino_cookbook
gli sketch del nuovo progetto Arduino Cookbook e dei video di YouTube
19 parts269