Skip to the content
PCBKitNew board
2 layers96 × 94.5 mmHackPad, the printed circuit board in 3D

HackPad is a custom-built 9-key macropad featuring a rotary encoder, an OLED display, a custom-designed PCB, and a fully 3D-printed enclosure.

Size
96 × 94.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
31
Nets
24
Pads
91
Tracks, vias
202, 5
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
21 Jun 2026
Updated
4 Aug 2026

Overview

HackPad is an open-source printed circuit board by Tanmay-1122, from the Tanmay-1122/HackPad repository on GitHub. It is a 2-layer board of 96 × 94.5 mm with 31 parts on 24 nets, routed with 202 tracks and 5 vias.

Its parts include 10 switches, 9 diodes and 2 ICs.

README

README.md

HackPad

HackPad is a custom-built 9-key macropad featuring a rotary encoder, an OLED display, a custom-designed PCB, and a fully 3D-printed enclosure.

The project was designed from scratch, including the schematic, PCB layout, custom PCB artwork, enclosure, and firmware.

Features

  • 9 mechanical keyboard switches in a 3×3 layout
  • Rotary encoder with push-button functionality
  • 0.91-inch I2C OLED display
  • Seeed Studio XIAO RP2040
  • Custom-designed PCB
  • Custom front and back silkscreen artwork
  • 3D-printed two-part enclosure
  • Programmable keys using CircuitPython

Project Preview

Enclosure

HackPad Case Side

HackPad Case Back


PCB

The PCB was designed in KiCad and contains the complete hardware for the HackPad, including the 3×3 switch matrix, rotary encoder, OLED display, and Seeed Studio XIAO RP2040.

The front of the PCB contains the main components and custom silkscreen artwork, including the Hack Club flag and other design elements.

Back Artwork

PCB Front PCB Back

The back of the PCB features large custom monochrome artwork integrated directly into the PCB silkscreen.


Hardware

ComponentQuantity
Seeed Studio XIAO RP20401
Mechanical switches9
Keycaps9
Rotary encoder1
0.91-inch I2C OLED display1
Diodes9
Custom PCB1
3D-printed top enclosure1
3D-printed bottom enclosure1
M3 screws6
M3 heat-set inserts6

Firmware

The firmware is written in CircuitPython and is located in:

Firmware/main.py

The firmware handles the 9 mechanical switches, rotary encoder, OLED display, and macropad functionality.

To use the firmware, install CircuitPython on the XIAO RP2040 and copy the required libraries and main.py to the board.


Repository Structure

text
HackPad/
├── CAD/
│   └── Hackpadoverall.step
│
├── Firmware/
│   └── main.py
│
├── PCB/
│   ├── Hackpad.kicad_pcb
│   ├── Hackpad.kicad_pro
│   └── Hackpad.kicad_sch
│
├── Production/
│   ├── Bottom.stl
│   ├── Top.stl
│   ├── gerbers.zip
│   └── main.py
│
├── images/
│   ├── caseback.png
│   ├── caseside.png
│   ├── casetop.png
│   ├── pcbback.png
│   └── pcbtop.png
│
└── README.md

Parts

31
QtyValueFootprintReferences
91N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D3, D4, D5, D6, D7, D8, D9
9SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9
7LOGOLOGOG***, G***, G***, G***, G***, G***, G***
1ER_OLEDM0.91_1x-I2CDisplay:ER_OLEDM0.91_1x-I2CU2
1MOUDLE-SEEEDUINO-XIAOfootprints:XIAO-Generic-Hybrid-14P-2.54-21X17.8MMU1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_CircularMountingHolesSW10

The 28 most common of 31 parts.

Questions

How big is the HackPad PCB?

It measures 96 × 94.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the HackPad use?

31 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 Tanmay-1122/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 states no licence, so its author keeps all rights: ask Tanmay-1122 before reusing the design.

Similar boards

  • 2 layers44.5 × 46.9 mmOSO SWAT B1-jig, the printed circuit board in 3D

    OSO SWAT B1-jig

    joeycastillo/Sensor-Watch

    A board replacement for the classic Casio F-91W wristwatch

    31 parts2.1k
  • 2 layers65 × 30 mmRgb to hdmi, the printed circuit board in 3D

    Rgb to hdmi

    hoglet67/RGBtoHDMI

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

    31 parts1kGPL-3.0
  • 2 layers191 × 98.5 mmMacroKeypad, the printed circuit board in 3D

    MacroKeypad

    hackclub/OnBoard

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

    31 parts915
  • 2 layers39 × 45.2 mmCH32V003F4P6-R0-1v1, the printed circuit board in 3D

    CH32V003F4P6-R0-1v1

    openwch/ch32v003

    CH32V003 is an ultra-cheap RISC-V MCU with 2KB SRAM, 16KB flash, and up to 18 GPIOs that sells for under $0.10

    31 parts599
  • 2 layers26.7 × 27.9 mmBreakout board, the printed circuit board in 3D

    Breakout board

    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.

    31 parts546MIT
  • 2 layers100 × 50 mmPixelix, the printed circuit board in 3D

    Pixelix

    BlueAndi/Pixelix

    Full RGB LED matrix, based on an ESP32 and WS2812B LEDs or emulated LEDs on TFT.

    31 parts447MIT
  • 2 layers77.2 × 69.8 mmCubesatsim solar, the printed circuit board in 3D

    Cubesatsim solar

    alanbjohnston/CubeSatSim

    CubeSatSim, the AMSAT CubeSat Simulator

    31 parts419GPL-3.0
  • 2 layers103 × 55 mmTd neck-294, the printed circuit board in 3D

    Td neck-294

    tdaede/td-crt

    tubes

    31 parts373