RMK hits 0.2.0!

75 points haobogu_

Hello rustaceans! Several months ago, I open-sourced RMK, a keyboard firmware written in Rust. I got much more attentions and valuable feedbacks than I expected. Since then, RMK envolves a loooooooooot. Now I'd happy to annouce that RMK hits v0.2.0, with a bunch of exciting new features.

The following is a simple list of important updates from v0.1.0.

  • Wireless support for nRF52 and esp32. RMK now supports BLE/USB dual mode with auto-switch feature
  • A new configuration system based on toml. Now you can config almost everything of your keyboard with a single keyboard.toml, no Rust code is required! This makes RMK more user-friendly. If you want do more customization, you can still
  • A new rapid debouncer, which would trigger the key first and then do debouncing
  • Interrupt triggered matrix scanning, which reduces power consumption a lot
  • Support more advanced keyboard feature: mouse key, media key and tap/hold feature
  • Documentation and project-template got improved a lot

I also did some measurement about the performance and power consumption of RMK firmware. According to my testing on my nRF52840 GH60 board(open-sourced as rmk-ble-keyboard), the key latency of RMK is about 2 ms in wired mode and 10 ms in wireless(BLE) mode. The power consumption is about 200ua when advertising, 450ua when idling and 2ma when typing, which means RMK could provide about 2-3 months battery life with a 2000mah battery.

In the duration of implementing RMK, I got lots of help from Rust community. The Rust community is so great. Also, the great tooling provided by Rust makes the dev experience quite pleasurable. Finally, I'm looking forward to more feedbacks about the project. Any kinds of suggestions/feedbacks are welcome :D

Project link: https://github.com/haobogu/rmk