| Crates.io | rmk |
| lib.rs | rmk |
| version | 0.7.8 |
| created_at | 2023-08-16 09:31:45.332208+00 |
| updated_at | 2025-07-23 14:45:00.480617+00 |
| description | Keyboard firmware written in Rust |
| homepage | https://github.com/haobogu/rmk |
| repository | https://github.com/haobogu/rmk |
| max_upload_size | |
| id | 945672 |
| size | 866,235 |
A feature-rich keyboard firmware written in Rust.
👉 Join our Discord server for discussions, support, and community collaboration!
keyboard.toml configuration file. For Rust enthusiasts, the firmware remains highly customizable using Rust codeasync_matrix feature enabled, power consumption is significantly reduced—a 2000mAh battery can power your keyboard for several months
Quickly bootstrap your project using rmkit and the official RMK project template.
cargo install rmkit flip-link
# If you encounter installation issues on Windows, try this alternative command:
# powershell -ExecutionPolicy ByPass -c "irm https://github.com/haobogu/rmkit/releases/download/v0.0.13/rmkit-installer.ps1 | iex"
rmkit init
For comprehensive guidance, refer to the User Guide.
Browse the examples in the examples directory. Below are step-by-step instructions for rp2040 development. The process is similar for other microcontrollers when using a debug probe.
Install probe-rs
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/latest/download/probe-rs-tools-installer.sh | sh
Build the firmware
cd examples/use_rust/rp2040
cargo build --release
Flash using a debug probe
With a debug probe connected to your rp2040 board, simply run:
cd examples/use_rust/rp2040
cargo run --release
(Optional) Flash via USB
Without a debug probe, you can use elf2uf2-rs to flash via USB:
cargo install elf2uf2-rsexamples/use_rust/rp2040/.cargo/config.toml to use elf2uf2:
- runner = "probe-rs run --chip RP2040"
+ runner = "elf2uf2-rs -d"
cd examples/use_rust/rp2040
cargo run --release
Upon successful completion, you'll see output similar to:
Finished release [optimized + debuginfo] target(s) in 0.21s
Running `elf2uf2-rs -d 'target\thumbv6m-none-eabi\release\rmk-rp2040'`
Found pico uf2 disk G:\
Transfering program to pico
173.00 KB / 173.00 KB [=======================] 100.00 % 193.64 KB/s
Current roadmap of RMK can be found here.
RMK is developed against the latest stable Rust release. While other versions may work, they are not fully tested.
RMK is licensed under either of
at your option.