Skip to content

Repository files navigation

rmk-zsa-voyager

RMK firmware for the ZSA Voyager split keyboard.

The Voyager ships with a GD32F303CB microcontroller (STM32F303CB-compatible). This firmware targets that MCU directly using RMK and the Embassy async embedded Rust ecosystem, replacing ZSA's stock QMK-based firmware.

Features

  • Live keymap editing via Vial - remap keys without reflashing
  • Animated per-key RGB - six switchable effects powered by rmk-palettefx: Gradient, Flow, Vortex, Sparkle, Ripple, and Reactive (key-press ripples)
  • 16 built-in colour palettes - cycle with the RGB hue keys
  • Layer status LEDs - 4-bit binary display of the active layer
  • Chordal hold - unilateral-tap behaviour (mod-taps resolve instantly when both keys are on the same hand), matching the QMK PermissiveHold feel

Keymap

Three compiled-in layers using the default Voyager layout; all are live-editable via Vial.

Building

Either use the Nix development shell environment provided in flake.nix:

nix develop

Or install the Rust toolchain and the Cortex-M4F target:

rustup target add thumbv7em-none-eabihf

Build a release binary:

cargo build --release
cargo objcopy --release -- -O binary rmk-zsa-voyager.bin

Flashing

Put the Voyager into DFU mode (press the reset button on the top-side of the board, or press the Bootloader key from Layer 2).

Flash with dfu-util:

dfu-util -d 3297:0791 -a 0 -s 0x08002000:leave -D rmk-zsa-voyager.bin

Or use ZSA Keymapp to flash the .bin file via its graphical interface.

Flashing is safe: the DFU bootloader lives in protected flash and cannot be overwritten by a firmware image.

Dependencies

Crate Role
rmk Keyboard framework (key scanning, HID, Vial, storage)
embassy-stm32 Async HAL for STM32F303
rmk-palettefx Palette-driven RGB animation effects

License

Licensed under either of Apache License 2.0 or MIT at your option.


This project is not affiliated with or endorsed by ZSA Technology Labs, Inc.

About

RMK firmware for the ZSA Voyager

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages