Rust-Based Keyboard Firmware RMK: A Challenging Upgrade

2025-04-03
Rust-Based Keyboard Firmware RMK: A Challenging Upgrade

The author flashed their Ferris Sweep keyboard with RMK, a Rust-based keyboard firmware, contrasting it with the previous QMK firmware. While RMK is younger and lacks QMK's extensive pre-built configurations, its Cargo-based package management and Rust features make configuration both appealing and challenging. The article details the author's journey from installing rmkit, configuring keyboard.toml (including the painful pin mapping process), creating vial.json, to finally flashing the firmware and debugging issues. Challenges included half-duplex UART communication and vial.json compatibility. Despite these hurdles, the author successfully runs RMK and shares their experience and suggested improvements. While less mature than QMK, RMK's asynchronous runtime and compile-time code generation make it a compelling project.

Read more
Development keyboard firmware