

Hackpad (hack club)
3-key macropad with a volume knob: custom KiCad PCB, 3D-printed case, QMK firmware on a XIAO RP2040
- Size
- 21 × 80.1 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 5
- Nets
- 14
- Pads
- 50
- Tracks, vias
- 30, 0
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 12 Oct 2026
- Updated
- 12 Oct 2026
Overview
Hackpad (hack club) is an open-source printed circuit board by rayha-m, from the rayha-m/hackpad repository on GitHub. It is a 2-layer board of 21 × 80.1 mm with 5 parts on 14 nets, routed with 30 tracks and 0 vias.
Its parts include 4 switches and 1 IC. It belongs with the keyboards and input boards and the RP2040 boards of this library.
README
README.mdHackpad: 3 keys + a volume knob
A small macropad built for Hack Club's Hackpad program. It has three mechanical keys for copy, paste and undo, plus a rotary encoder knob that controls volume (turn) and mute (press). It runs custom QMK firmware on a Seeed XIAO RP2040.

Features
- 3 × MX-style keys: Cmd+C, Cmd+V, Cmd+Z (easy to remap in
Firmware/hackpad/keymaps/default/keymap.c) - 1 × EC11 rotary encoder: volume down/up, press to mute
- Direct-pin wiring, so no diodes are needed
- 2-layer PCB, 21 × 80 mm
- 3D-printed sandwich-mount case (bottom + top plate), 100.85 × 41.8 × 16 mm
Schematic

PCB

The XIAO is mounted on the back of the board, behind SW1, following the Hackpad guide.
| Part | XIAO pin | RP2040 GPIO |
|---|---|---|
| SW1 (top key) | 11 (D10) | GP3 |
| SW2 | 10 (D9) | GP4 |
| SW3 | 9 (D8) | GP2 |
| Encoder A | 3 (D2) | GP28 |
| Encoder B | 2 (D1) | GP27 |
| Encoder push | 1 (D0) | GP26 |
| GND (all switches, encoder C & S2) | 13 | GND |
Case

The case has two printed parts that sandwich the PCB:
- Bottom: 13 mm tall tray with a 3 mm floor, a pocket for the PCB (0.4 mm clearance per side) and a USB-C cutout at the XIAO end.
- Top: 3 mm plate with 14 × 14 mm openings for the three switches and the knob.
Four M3 screws go through the corners to hold the two parts together.
Firmware
QMK firmware lives in Firmware/hackpad. To build it:
qmk compile -kb hackpad -km defaultTo flash it, hold the XIAO's BOOT button while plugging it in, then drag production/firmware.uf2 onto the RPI-RP2 drive.
Bill of materials (BOM)
| Qty | Part | Notes |
|---|---|---|
| 1 | Seeed Studio XIAO RP2040 | Through-hole, mounted on the back of the PCB |
| 3 | MX-style mechanical switches | |
| 3 | 1u keycaps | |
| 1 | EC11 rotary encoder with push switch | Alps EC11E footprint |
| 1 | Knob for the EC11 encoder | |
| 4 | M3 × 16 mm screws | Hold the plate to the bottom |
| 1 | PCB | 2 layers, 21 × 80 mm (production/gerbers.zip) |
| 1 | 3D-printed bottom | production/Bottom.STEP |
| 1 | 3D-printed top plate | production/Top.STEP |
Repository layout
CAD/ full assembled model (hackpad.STEP) + FreeCAD source
PCB/ KiCad project (.kicad_pro, .kicad_sch, .kicad_pcb)
Firmware/ QMK source
production/ gerbers.zip, Top/Bottom.STEP, firmware.uf2
images/ screenshots for this READMEParts
5| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3 |
| 1 | MOUDLE-SEEEDUINO-XIAO | Seeed_XIAO:XIAO-RP2040-DIP | U2 |
| 1 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW4 |
Questions
How big is the Hackpad (hack club) PCB?
It measures 21 × 80.1 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Hackpad (hack club) use?
5 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 (hack club) KiCad files?
From the rayha-m/hackpad repository on GitHub, at the commit this page was made from: the board is PCB/hackpad (hack club).kicad_pcb and its schematic PCB/hackpad (hack club).kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Hackpad (hack club) design in my own project?
Its repository states no licence, so its author keeps all rights: ask rayha-m before reusing the design.
Similar boards
- 2 layers98 × 27 mm

- 2 layers21 × 33 mm

24g2usb pico2w
joypad-ai/joypad-os
Universal controller firmware for building adapters, dongles, and custom controllers.
5 parts1.7kApache-2.0 - 2 layers53.2 × 59.6 mm

A10 OLinuXino Lime Rev B SHIELD TEMPLATE
OLIMEX/OLINUXINO
OLINUXINO is Open Source / Open Hardware, low cost from EUR 24 Linux Industrial grade Single Board Computer capable to operate -25+85C
5 parts1.5k - 2 layers30 × 11 mm

Main control board servo tester
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.
5 parts1.1k - 2 layers78.8 × 35.3 mm

KiCadTest
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
5 parts915 - 2 layers50 × 23 mm

- 2 layers43.2 × 28.5 mm

- 2 layers20.3 × 15.2 mm

L0 light sensor
Luos-io/luos_engine
Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.
5 parts546MIT