Skip to the content
PCBKitNew board
2 layers98 × 80 mmHackpad Rainier, the printed circuit board in 3D

A 3×3 macropad with OLED, encoder, LED backlight, and KMK firmware (Seeed XIAO RP2040).

Size
98 × 80 mm
Copper layers
2
Thickness
1.6 mm
Parts
43
Nets
40
Pads
175
Tracks, vias
374, 13
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
2 Jul 2025
Updated
15 Apr 2026

Overview

Hackpad Rainier is an open-source printed circuit board by Rainier-PS, from the Rainier-PS/Hackpad-Rainier repository on GitHub. It is a 2-layer board of 98 × 80 mm with 43 parts on 40 nets, routed with 374 tracks and 13 vias.

It is built around the SK6812MINI-E. Its parts include 28 diodes, 10 switches and 1 IC. It belongs with the keyboards and input and lEDs and displays boards and the RP2040 boards of this library.

Main components

1

README

README.md

Hackpad

This hackpad is a small 3x3 macropad featuring an encoder, OLED display, LED backlight, and various keymap layers. It is constructed using KMK firmware and the Seeed XIAO RP2040. It is designed to facilitate shortcuts, media management, number entry, and visual feedback for different layers.

Features

  • 3×3 key configuration (9 physical buttons)
  • EC11 rotary encoder that includes a push button
  • Layer switching through encoder press or key combinations
  • OLED display for showing layers and modes
  • SK6812 MINI-E LEDs backlight with several brightness settings
  • KMK firmware
  • Custom-designed PCB (2-layer) and a 3D-printed case

Visual Overview

Assembled Hackpad

cad_screenshot cad_screenshot

In accordance with the submission requirements, the interior of both the top and bottom parts of the case are branded with my name.

Schematic

Schematic

PCB Layout

PCB

Layer Configuration

Layer 0 – Shortcuts and Media

Top ColMiddle ColBottom Col
Media PrevPlay/PauseMedia Next
UndoRedoSave
CopyPasteCut

Encoder: Volume control (default)
Encoder button: Toggle between volume, zoom, brightness, and timeline scrubbing

Layer 1 – Numpad

Top ColMiddle ColBottom Col
123
456
789

Encoder and screen modes remain active.

Firmware

  • Written in Python using KMK firmware
  • Supports multiple layers and encoder modes
  • Keymap stored in keymap.py
  • OLED uses SSD1306 I²C (SDA = GP6, SCL = GP7)
  • LEDs controlled on GP1
  • Fully customizable layout

BOM: Bill of Materials

ComponentQuantityNotes
MX-Style switches9Any MX-style switch (linear/tactile/clicky)
Blank DSA keycaps (White)9Or any compatible keycaps
Through-hole 1N4148 Diodes12For switch matrix and rotary encoder
EC11 rotary encoder1With built-in push button
0.91" 128x32 OLED (I²C)1SSD1306-compatible (GND/VCC/SCL/SDA)
SK6812 MINI-E LEDs16For underglow or key backlighting
Seeed XIAO RP20401Through-hole version (required for compatibility)
Custom PCB12-layer, ≤100×100mm
3D Printed Case1Two parts: top and bottom
M3×5m×4mm heat-set inserts7Used for assembly
M3x16mm screws7For screwing into inserts

This project follows the Hackpad requirements: only approved parts are used,the case is entirely 3D printed, with no non-printed parts involved.

Parts

43
QtyValueFootprintReferences
16SK6812MINIDownloads:SK6812-MINI-ED1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16
12D_SmallDiode_THT:D_T-1_P5.08mm_HorizontalD17, D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28
9SW_PushLibrary:SW_Cherry_MX_1.00u_PCBSW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10
1RotaryEncoderRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW1
1XIAO-RP2040-DIPOPL:XIAO-RP2040-DIPU1
1~Downloads:SSD1306-0.91-OLED-4pin-128x32OLED1

The 40 most common of 43 parts.

Questions

How big is the Hackpad Rainier PCB?

It measures 98 × 80 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Hackpad Rainier use?

43 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 Rainier KiCad files?

From the Rainier-PS/Hackpad-Rainier repository on GitHub, at the commit this page was made from: the board is PCB/Hackpad-Rainier.kicad_pcb and its schematic PCB/Hackpad-Rainier.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Hackpad Rainier design in my own project?

Its repository states no licence, so its author keeps all rights: ask Rainier-PS 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