Overview
Split ergonomic mechanical keyboard. Machined aluminum case, custom PCB, firmware written in Rust from the matrix scan up, all built from scratch. Functional, in daily use.
Specifications
| MCU | RP2040, dual-core Cortex-M0+ (one per half) |
| Program storage | W25Q128JV, 128 Mbit SPI NOR flash |
| Reference clock | 12 MHz crystal (ABM8-272-T3) |
| USB IDs | VID 0x16c0 / PID 0x27dd |
| Language | Rust, no_std, no RTOS |
| Core split | core0: USB/HID; core1: matrix scan, UART, display |
| Layers | 2, momentary switching |
| Build variants | 4, Cargo features: {master,slave} x {left,right} |
| Matrix | 5 rows x 6 columns per half, PIO-scanned |
| Debounce | none, state reflects the last PIO scan |
| Interfaces | 2, Boot (6KRO) + Report (128-bit NKRO) |
| Protocol switch | negotiated via SET_PROTOCOL, tracked per-report |
| Reset interface | vendor class, forces reboot without BOOTSEL |
| LEDs | SK6812SMINI-EA, 29 per side |
| Panel | I²C OLED, per half, address 0x3C |
| Construction | machined aluminum, 3-piece sandwich per half |
| CAD | 6 STEP files (mechanical/) |
Documentation
Status
Functional and in daily use. CAD files, a full BOM, and a build guide have not been published yet.