34-key split ergonomic keyboard with dual TrackPoints and BLE wireless (no dongle).
- Choc V1 hotswap switches
- XIAO BLE (nRF52840) controllers
- Sprintek all-in-one TrackPoint modules on both halves
- ZMK firmware, BLE split — no dongle needed
- BLE split working — direct host connection, no dongle
- Left TrackPoint working (Sprintek AIO, PS/2 via UART)
- Right TrackPoint wired, testing in progress
- Mouse layer auto-activates on trackpoint movement
- Scroll mode on thumb key hold
- PCBs: prototype fabricated, iterating
- Case: wooden prototype
Host <--BLE-- Left (central + trackpoint) <--BLE-- Right (peripheral + trackpoint)
When moving trackpoint, the mouse layer auto-activates for 1 second after last movement.
Thumb keys: | SCROLL | LCLK | LCLK | RCLK |
- Scroll: Hold to convert movement to scroll wheel
- TrackPoint: Sprintek all-in-one module, PS/2 via UART
- Pins: D6 (SCL), D7 (SDA), P0.09 (reset)
- Both sides use identical wiring
- Controller: Seeed XIAO nRF52840 (BLE)
nix develop
just build # build both sides
just build-left # build left only
just keymap # generate keymap SVGFirmware outputs to firmware/out/.
PCB generation pipeline is documented in tools/readme.org.
justfile build commands (firmware + PCB) flake.nix nix dev environment nix/ nix package defs (kbplacer, kiswitch, keymap-drawer) tools/ PCB generation pipeline (see tools/readme.org) firmware/ ZMK workspace (shields, keymap, config) images/ project photos + renders

