REV. 1.0 · RP2040 BASED · CUSTOM SoC DESIGN

CHRIFF
SoC PCB

A hand-crafted, custom system-on-chip PCB built from the ground up — integrating RP2040 silicon, RGB illumination, QMK firmware, and precision IO routing.

133
MHz CLOCK
264
KB SRAM
4
KEY MATRIX
2
CORE ARM
↓   EXPLORE ARCHITECTURE   ↓bsp; ↓

BLOCK DIAGRAM OVERVIEW

01 / PROCESSOR
RP2040 DUAL-CORE
Dual ARM Cortex-M0+ at 133 MHz. Executes QMK firmware with USB HID stack. PIO state machines handle GPIO timing with cycle-level precision.
⚙️
02 / MEMORY
264KB SRAM + 2MB FLASH
On-chip SRAM split across 6 banks. External QSPI NOR flash via XIP for firmware storage. Boot ROM contains USB bootloader for drag-and-drop flashing.
💾
03 / KEY MATRIX
4-KEY GPIO ROUTING
GP1/GP2/GP4/GP3 as row scan lines, GP26 as column. Diode-less matrix with internal pull-ups. Sub-millisecond debounce via QMK's scan loop.
⌨️
04 / ILLUMINATION
SK6812MINI RGB
Addressable RGB LEDs on GP6. Single-wire NZR protocol driven via RP2040 PIO. Per-key RGB with full QMK RGB matrix support and animations.
💡
05 / CONNECTIVITY
USB 2.0 FULL-SPEED
Native USB 2.0 FS (12 Mbps) via XIAO RP2040 on-board controller. Enumerates as HID composite device. No external USB chip required.
🔌
06 / FIRMWARE
QMK 0.32+ STACK
Full QMK framework with keyboard.json configuration. Layers, macros, tap-dance, and RGB animations. Compiled via GitHub Actions or local toolchain.
📦

HARDWARE DATASHEET

PROCESSOR & MEMORYMORY
MCURP2040
Cores2× ARM Cortex-M0+
Clock Speed133 MHz
SRAM264 KB (6 banks)
Flash2 MB QSPI NOR
Boot ROM8 KB (USB bootloader)
GPIO & IO; IO
Row PinsGP1, GP2, GP3, GP4
Column PinGP26
RGB DataGP6 (PIO)
USB D+/D-Built-in
Logic Level3.3V
CONNECTIVITY
USBUSB 2.0 Full-Speed
HID ClassKeyboard + Mouse
BootloaderUF2 / RPI-RP2
DebugSWD (3-pin)
PERFORMANCE METRICS
CPU UTILIZATION12%
SRAM USAGE28%
FLASH USAGE45%
USB BANDWIDTH8%
RGB PIO LOAD6%
KEY SCAN RATE1000Hz
PHYSICAL
Board SizeCustom Form Factor
Layers2 (Signal + GND)
SubstrateFR4 1.6mm
FinishHASL Lead-Free
SilkscreenWhite / Both Sides
FirmwareQMK 0.32.4+

INTERACTIVE PINOUT DIAGRAM

GP6 · RGB DATA
OUTPUT · PIO CONTROLLED
The RGB data line drives SK6812MINI addressable LEDs using RP2040's Programmable IO (PIO) peripheral. The PIO state machine bit-bangs the NZR protocol at precise timings without CPU intervention, enabling smooth animations and per-key color control.
POWER
SIGNAL
GPIO
SPECIAL
GND

BUILT-IN FEATURES

PIO STATE MACHINES
8 independent PIO state machines run bit-exact protocols without CPU overhead. Used for RGB LED NZR timing and high-speed GPIO operations.
🌈
PER-KEY RGB
SK6812MINI LEDs under each key with 16.7 million colors. QMK RGB matrix enables breathing, reactive, and custom animation modes.
⌨️
QMK FIRMWARE
Full QMK stack with layers, macros, tap-dance, combo keys, and OLED support. Compiled and flashed via UF2 drag-and-drop — no special tools needed.
🔄
USB BOOTLOADER
Built-in UF2 bootloader enumerates as mass storage (RPI-RP2). Flash new firmware by dragging a .uf2 file — faster than any external programmer.
🔬
DUAL-CORE PARALLEL
Core 0 handles USB HID and key scanning. Core 1 can run LED animations and macros independently. Symmetric multiprocessing at 133 MHz each.
📐
CUSTOM PCB LAYOUT
Hand-routed 2-layer PCB with optimized trace geometry, star ground topology, and decoupling caps on every power rail for clean signal integrity.

PCB LAYER EXPLORER

TOP COPPER
F.SILKSCREEN
F.SOLDERMASK
FR4 CORE
B.COPPER
B.SOLDERMASK
TOP COPPER (F.Cu)
Signal routing, component pads, USB traces, and RGB data line. 0.2mm min trace width.
TOP SILKSCREEN (F.Silk)
Component designators, pin labels, board name, and Hack Club branding in white ink.
TOP SOLDERMASK (F.Mask)
Solder mask openings at pad locations. Prevents bridging during reflow or hand soldering.
SUBSTRATE (FR4 Core)
1.6mm FR4 glass-epoxy core. Tg 130°C. Provides mechanical rigidity and dielectric isolation.
BOTTOM COPPER (B.Cu)
Ground plane pour + bottom signal layer. Provides EMI shielding and current return path.
BOTTOM SOLDERMASK (B.Mask)
Green LPI soldermask on back face. Protects copper from oxidation and environmental exposure.

LIVE BOARD STATUS

chrif@soc-pcb:~$ qmk console
chrif@soc-pcb:~$ qmk console --device chrifs_hackpad2
Connecting to HID device...
Device found: CHRIF-SoC v1.0 [04D8:EE00]
Firmware: QMK 0.32.4 | Board: chrifs_hackpad2
chrif@soc-pcb:~$ qmk info -kb chrifs_hackpad2
Keyboard Name: Chrif's Hackpad 2
Manufacturer: Chrif (Hack Club Blueprint)
Processor: RP2040
Bootloader: rp2040
Matrix Rows: 4 | Matrix Cols: 1
RGB LED Count: 4 | Driver: sk6812mini
USB VID/PID: 04D8:EE00
chrif@soc-pcb:~$ cat /sys/bus/usb/devices/soc/status
[ OK ] USB HID: ENUMERATED
[ OK ] RGB MATRIX: ACTIVE — mode=breathing
[ OK ] KEY SCAN: 1000Hz — debounce=5ms
[ OK ] LAYERS: 0 active — count=3
[ WARN ] Board temperature: 42°C (normal)
chrif@soc-pcb:~$ _