Skip to the content
PCBKitNew board
2 layers93.8 × 82 mmHackpad, the printed circuit board in 3D

Homemade macropad: 9 keys in a 3x3 grid, a rotary encoder, and a 0.91" OLED screen. Every switch has its own RGB LED for backlighting, all chained together on a single data pin.

Size
93.8 × 82 mm
Copper layers
2
Thickness
1.6 mm
Parts
35
Nets
70
Pads
160
Tracks, vias
417, 60
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
18 Jul 2026
Updated
13 Aug 2026

Overview

Hackpad is an open-source printed circuit board by HexFud, from the HexFud/HexKeyboard repository on GitHub. It is a 2-layer board of 93.8 × 82 mm with 35 parts on 70 nets, routed with 417 tracks and 60 vias.

It is built around the SK6812MINI-E. Its parts include 18 diodes, 10 switches and 2 ICs.

Main components

1

README

README.md

9-key macropad + encoder + OLED

Homemade macropad: 9 keys in a 3x3 grid, a rotary encoder, and a 0.91" OLED screen. Every switch has its own RGB LED for backlighting, all chained together on a single data pin.

Hardware

  • Seeed XIAO RP2040
  • 0.91 inch OLED display
  • Rotary encoder with built-in push button
  • 9x MX-Style switches, each with its own 1N4148 diode, 3x3 matrix
  • 9x SK6812MINI-E LEDs daisy-chained for per-key backlighting

Schematic

Schematic

PCB Render

PCB

PCB

PCB

Case

Case

Case Heated Inserts

Case

You can put heated inserts in the highlited zones and then screw the pcb in

BOM

QtyPartNotes
1Seeed XIAO RP2040main MCU
10.91 inch OLED displaySSD1306 driver
1Rotary encoder
9Mechanical switches (MX-style)
9SK6812MINI-E RGB LEDdaisy-chained backlight
101N4148 diode9 for the key matrix + 1 for the encoder push button
9Keycaps
—Case (top plate + bottom plate)3D printed
8M3x16mm screws
4M3x5x4mm heatset inserts

Firmware

  1. Flash CircuitPython onto the XIAO
  2. Clone the KMK library (github.com/KMKfw/kmk_firmware) and copy its kmk/ folder onto the CIRCUITPY drive. Also install these CircuitPython libraries onto the board: adafruit_display_text, adafruit_displayio_ssd1306.
  3. Copy boot.py and code.py to the root of the CIRCUITPY drive.
  4. Reset the board (boot.py only runs on reset/power-up, not on save).

What it does

  • 9 programmable keys
  • Encoder: function described below
  • Screen: shows the progress bar of whatever track is playing
  • Per key RGB backlighting

The music bar

I implemented a feature called music bar, if you are playing something in the background the duration of the media is showed on the display and you can controll it with the encoder. If you want to use this function you need to run the .py program in the firmware folder because otherwise the microcontroller doesn't know what is the device playing

Note

The push button of the encoder is intentionally disconnected because there were no pins left on the microcontroller to connect it

Parts

35
QtyValueFootprintReferences
91N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD20, D21, D22, D23, D24, D25, D26, D27, D28
9SK6812MINI-ELED_SMD:LED_SK6812MINI-E_3.2x2.8mm_P1.5mm_ReverseMountD2, D3, D4, D5, D6, D7, D8, D9, D10
9SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19
4MountingHole_Padfootprints:MountingHole_3.2mm_M3_Pad_ViaH1, H2, H3, H4
1clipboard:462f2333-586c-4cc8-b04d-9995b911b9d8
1ER_OLEDM0.91_1x-I2Cv:SSD1306-0.91-OLED-4pin-128x32U2
1MOUDLE-SEEEDUINO-XIAOfootprints:XIAO-Generic-Hybrid-14P-2.54-21X17.8MMU1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW4

Questions

How big is the Hackpad PCB?

It measures 93.8 × 82 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Hackpad use?

35 parts, built around the SK6812MINI-E. 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 HexFud/HexKeyboard 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 HexFud before reusing the design.

Similar boards

  • 4 layers234 × 84 mmMain panel, the printed circuit board in 3D

    Main panel

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    234 parts3kApache-2.0
  • 4 layers180.8 × 300.3 mmDilemma, the printed circuit board in 3D

    Dilemma

    Bastardkb/Dilemma

    The Dilemma is a vertical stagger low-profile keyboard with mods.

    383 parts590
  • 4 layers48 × 32 mmFlatSat, the printed circuit board in 3D

    FlatSat

    Pwnsat/FlatSat

    Flatsat v1.0 is a hardware based platform for aerospace cybersecurity research

    106 parts575GPL-2.0
  • 2 layersDemo, the printed circuit board in 3D

    Demo

    adamws/kicad-kbplacer

    KiCad plugin for automatic keyboard's key placement and routing

    48 parts547GPL-3.0
  • 2 layers97 × 78.5 mmDumbpad, the printed circuit board in 3D

    Dumbpad

    imchipwood/dumbpad

    Simple 4x4 numpad with rotary encoder. Powered by QMK via ATmega32u4 Pro Micro

    62 parts517GPL-2.0
  • 4 layers82.5 × 39.4 mmV4head, the printed circuit board in 3D

    V4head

    makerforgetech/modular-biped

    An open source framework for creating a bipedal modular companion robot.

    26 parts493GPL-3.0
  • 2 layers115.7 × 95.7 mmFifi split keeb, the printed circuit board in 3D

    Fifi split keeb

    raychengy/fifi_split_keeb

    Fifi Keyboard 🐶 ⌨️

    66 parts334
  • 4 layers70 × 54 mmPicoLab, the printed circuit board in 3D

    PicoLab

    CoretechR/PicoLab

    Web-GUI Embedded Multitool

    285 parts327GPL-3.0