RMK BLE split firmware for Ergohaven keyboards and trackballs (nRF52840).
| Keyboard | Layout | Encoders | Trackball |
|---|---|---|---|
| K:03 | 5×6 + 5 thumb | 3+3 | — |
| K:04 | 5×6 + 5 thumb | 1+1 | — |
| K:04 Qube | 5×6 + 5 thumb | 1+1 | Qube dongle + ST7789 |
| K:04 Micro | 3×5 + 3 thumb | 1+1 | — |
| Imperial44 | 4×6 + 3 thumb | 1+1 | — |
| OP36 | 3×5 + 3 thumb | — | — |
| OP36 Qube | 3×5 + 3 thumb | — | Qube dongle + ST7789 |
| Velvet | 4×6 + 5 thumb | — | — |
| Velvet UI | 4×6 + 5 thumb | — | PMW3610 |
| Device | Buttons | Modes |
|---|---|---|
| Trackball Royale | 6 | Normal, Scroll, Sniper, Adjust |
| Trackball Mini v3.1 | 4 | Normal, Scroll, Sniper, Adjust |
| Trackball Mini v3.0 | 2 | Normal, Scroll, Sniper, Adjust |
| Tool | Description |
|---|---|
| settings_reset | Erases keymap and BLE bonds, resets to bootloader |
cd keyboards/k03
cargo build --release --bin central
cargo build --release --bin peripheralCurrent K:04/OP36 regression matrix:
./scripts/build_k04_matrix.sh- Put device into bootloader (double-tap reset)
- Copy
.uf2file to the mounted USB drive - For split keyboards: flash central and peripheral separately
Flash settings_reset.uf2 to erase all saved keymap/BLE data, then re-flash keyboard firmware.
Every push builds all devices in parallel via GitHub Actions. UF2 artifacts available as build downloads.
Based on RMK 0.8.2 with nRF52840 BLE support.
The root rmk, rmk-macro, rmk-types, and rmk-config crates are the
source of truth for firmware targets in this repository. K:04 selects one of
two explicitly named split BLE backends through [split].backend:
common: ordinary no-Qubekeyboards/k04halves.qube:keyboards/k04_qubedongle/halves connection path.