rmk-rs/rmk
A modern, easy-to-use, and feature-rich keyboard firmware written in Rust. observed · 2026-08-28
Health v2 · maintenance only
82/100
- Activity 99
- Release rhythm 62
- Longevity 78
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.
- gap_med: 10.5
- age_days: 1092
- days_rel: 258
- days_push: 7
- n_releases_24m: 25
Adoption not part of the score
1736 stars · 220 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
RMK is a feature-rich, async Rust keyboard firmware framework built on the Embassy ecosystem. It supports many microcontrollers (STM32, nRF52/54, RP2040, ESP32) with USB and BLE wireless connectivity, configurable via a single keyboard.toml file.
Use cases
- build custom keyboard firmware in Rust
- make a wireless BLE mechanical keyboard
- configure keyboard keymaps with a toml file
- create a split keyboard with low battery power usage
- add Vial real-time keymap editing to a keyboard
- flash custom firmware to RP2040 or ESP32 keyboard
- build a keyboard with rotary encoders and trackpads
When to choose
- you want a modern Rust-based alternative to QMK/ZMK
- you need BLE wireless support with months of battery life
- you want easy TOML-based configuration with optional Rust customization
- you target STM32, nRF, RP2040, or ESP32 microcontrollers
When to avoid
- your microcontroller is not among the supported chips
- you need a mature ecosystem with extensive community keymaps and tooling like QMK
- you prefer C-based firmware or Arduino-style development
- you need features not yet implemented in RMK's feature matrix
Facets
framework · maturity active
embedded sdk configuration-management embedded-systems hardware cross-platform developer-tools embedded rust cross-platform keyboard-firmware usb-hid ble embassy vial keymap stm32 rp2040 esp32 nrf52 split-keyboard wireless
5 sources
- readme: https://github.com/rmk-rs/rmk · fetched 2026-08-28 · 3b1e93c6e491
- homepage: https://rmk.rs · fetched 2026-08-29 · 671c692428f3
- site_page: https://rmk.rs/docs/user_guide/guide_overview.html · fetched 2026-08-29 · 033f5914367b
- site_page: https://rmk.rs/docs/getting_started/introduction.html · fetched 2026-08-29 · c7c9cc5741e9
- site_page: https://rmk.rs/docs/getting_started/introduction · fetched 2026-08-29 · 3b4e7edfbee3
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| rmk-rs/rmk | main | 82 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem