Skip to the content
PCBKitNew board
2 layers101.7 × 66.7 mmHackPad, the printed circuit board in 3D

A custom mini keyboard or macro board, where every physical key is fully programmable to launch apps, trigger shortcuts, control media, or run multi-step automated commands with a single press of a button.

Size
101.7 × 66.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
38
Nets
35
Pads
173
Tracks, vias
91, 1
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
12 Oct 2026
Updated
18 Oct 2026

Overview

HackPad is an open-source printed circuit board by poojithas956, from the poojithas956/HackPad repository on GitHub, published under the MIT licence. It is a 2-layer board of 101.7 × 66.7 mm with 38 parts on 35 nets, routed with 91 tracks and 1 via.

It is built around the RP2040-ZERO. Its parts include 13 switches, 12 diodes, 1 IC and 1 connector. It belongs with the keyboards and input boards and the RP2040 boards of this library.

Main components

1

README

README.md

HackPad

A 12-key macropad I built as my second hardware project for Stasis, designed to pair with my 60% keyboard for editing, shortcuts, media control, etc...

Hi there, this is my fully custom keypad from scratch, and I tried to keep it clean, practical, and actually buildable.

Quick Project Summary

  • Project: 3x4 macropad + rotary encoder
  • MCU: RP2040 Zero
  • Switches: 12x MX-style
  • Extra input: 1x EC11 rotary encoder with push switch
  • Matrix: 3 rows x 4 columns
  • PCB size target: about 100mm x 65mm
  • Case workflow: KiCad PCB export -> Onshape assembly -> custom bottom case + plate

Why I Made This

I wanted a dedicated macropad next to my keyboard for common shortcuts (copy/paste, app switching, media, timeline scrubbing, etc.) and I wanted to learn the full flow:

  1. keyboard layout planning
  2. schematic capture
  3. PCB routing
  4. case CAD around real board geometry

Features

  • 12 programmable keys (MX style)
  • Rotary encoder with click for volume/scroll/tool size/etc.
  • RP2040-based and easy to firmware-program
  • Through-hole diodes for matrix
  • UART header exposed
  • Custom silkscreen logos for personality

Progress pictures

Firmware progress

CAD case design

CAD assembly

Case front view

Case side view

PCB routing progress

Board routing

Front silkscreen

Back silkscreen

Keyboard layout

Schematic capture

Project kickoff

Onshape: Link

Bill of Materials (BOM)

Approximate vendor pricing based on 1 USD = 94 INR.

ItemQtyVendorPrice (USD)Price (INR)Notes
PCB5Robu$10Rs. 960PCB
Waveshare RP2040 Zero without header1Robu$4.47₹420Main controller
1N4148 diode12Robu$0.83 total₹78 totalMatrix diodes
EC11 rotary encoder with push switch1Robu$0.62₹58Knob + click
MDA Lavender numpad keycaps12Stackskb$1.60₹150Keycaps
Gateron Baby Kangaroo 2.0 tactile switches20Stackskb$9.57₹900Pack of 20
Gateron hotswap sockets13Stackskb$1.38 total₹130 totalSocketed switch support
1x4 right-angle pin header1Self-supplied$0.00₹0UART / expansion
Tax and Shipping$5Rs400incl. Tax + Shipping fee + Conversion rate to INR
Total——$35₹2,636Estimated project total

For the KiCad design BOM, see production/bom.csv. The full project buying list is also available in bom.csv.

Design Files Included

Firmware

KMK firmware for this board is included in:

It is preconfigured for the exact matrix and encoder pins used in this PCB.

What I Learned

  • Importing the actual PCB into CAD early saves a lot of pain later.
  • Matrix labeling in schematic makes routing way less confusing.
  • Tiny mechanical details (insert depth, nut traps, plate thickness) matter a lot more than expected.
  • Silkscreen art is optional, but morale is not.

Parts

38
QtyValueFootprintReferences
121N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12
12SW_Push_45degPCM_marbastlib-xp-mx:SW_MX_HS_KS-2P02B01-01_1uSW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12
5MountingHoleMountingHole:MountingHole_2.7mm_M2.5H, H1, H2, H3, H4
1Conn_01x04_PinConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_HorizontalJ1
1LOGOlogo:HackClubPogo
1RP2040-ZERORP2040-ZERO:MODULE_RP2040-ZEROU1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_MountingHolesSW13

The 33 most common of 38 parts.

Questions

How big is the HackPad PCB?

It measures 101.7 × 66.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the HackPad use?

38 parts, built around the RP2040-ZERO. 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 poojithas956/HackPad 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 layers132.3 × 94.9 mmCheapino, the printed circuit board in 3D

    Cheapino

    tompi/cheapino

    An affordable split 36 keys keyboard

    59 parts1.2kCC-BY-4.0
  • 2 layers321 × 92.3 mmMx40, the printed circuit board in 3D

    Mx40

    zzeneg/stront

    Split keyboards with 38 or 40 keys, LCD display and Cirque trackpad

    181 parts353MIT
  • 2 layers255.9 × 99.3 mmZerosprey42, the printed circuit board in 3D

    Zerosprey42

    beekeeb/zerosprey42

    Zerosprey42 Keyboard is a wired, beginner friendly, choc hotswap, MonoBlockSplit (Unibody), column-staggered, DIY mechanical keyboard.

    96 parts140
  • 2 layers146.3 × 69.5 mmStress, the printed circuit board in 3D

    Stress

    GroooveBob/Stress

    Pocket Arcade Fight Pad

    22 parts102MIT
  • 2 layers54 × 64 mmDonConIOmini, the printed circuit board in 3D

    DonConIOmini

    ravinrabbid/DonCon2040

    RP2040 based firmware and hardware for DIY Taiko no Tatsujin Drum Controllers

    96 parts66MIT
  • 2 layers52 × 50 mmRP2040-TestPatternGenerator VGA, the printed circuit board in 3D

    RP2040-TestPatternGenerator VGA

    nmur/RP2040-TestPatternGenerator

    A simple test pattern generator running on the RP2040 microcontroller

    12 parts64GPL-3.0
  • 2 layers120 × 40 mmBuinchiez40, the printed circuit board in 3D

    Buinchiez40

    ChrisChrisLoLo/bunchiez40

    A pocket keyboard that makes use of mouse switches to achieve a miniscule size

    90 parts56GPL-3.0
  • 2 layers305.2 × 76.2 mmSoroka, the printed circuit board in 3D

    Soroka

    kapee1/soroka

    40% DIY-keyboard with base kit support

    126 parts47Unlicense