Get the latest tech news
Rust on the Ferris Sweep
The other day, I stumbled upon RMK, a keyboard firmware written in Rust. Given that my Ferris Sweep has a Ferris the crab logo on the silkscreen, it felt only fitting that I flash it with RMK. Since I first built it, my Ferris Sweep has been running QMK, a very mature C-based keyboard firmware. QMK is a great project, and doing basic keymaps for an already-supported keyboard is straightforward and well-documented.
A day or 2 of investigation later revealed that the half-duplex serial implementation only used the RP2040’s internal pull-up resistors, which for my keyboard and TRRS cable were insufficient for a baud rate of 115200. This was (temporarily) fixed by setting a lower baud rate in the RMK source code, but for the long term, I’ve made a PR mirroring QMKs solution to this problem, which has since been merged. However, if you are interested and have some prior experience, it has some really cool ideas, such as the use of an async runtime in a microcontroller (thanks to embassy), and compile time parsing of its keyboard.toml file with a proc-macro to generate code for the firmware without forcing the user to write Rust.
Or read this on Hacker News