Firmware written in Rust for the Ferris keyboard
Last updated Mar 11, 2026
45
Stars
0
Forks
3
Issues
0
Stars/day
Attention Score
26
Language breakdown
Rust 99.4%
RPC 0.6%
โธ Files
click to expand
README
Rust Firmware for the Ferris keyboard
This firmware written in Rust is targetted for the Ferris keyboard built with a STM32F072 MCU and a MCP23017 IO expander.
It is based on the Keyberon library.

Features
- Multi layers keymaps
- Multiple keymaps
- Different Ferris models
- Hold Tap actions
What's missing
- No support for controlling the mouse
- No RGB (support is in keyberon but not implemented here)
- Sequences
- One Shot Actions
- ...
Installing the needed tools
Considering one has rust installed by rustup.rs, then one has to run the following commands:
cargo install cargo-binutils
rustup component add llvm-tools-preview
Compile & Flashing
The name of the model to flash is set a cargo feature. The possible names are:
blingcompactminihigh
keymap_basickeymap_borisfaurekeymap_pierrec83
In order to generate and install the firmware for the mini model and the keymap keymap_basic:
cargo objcopy --release --no-default-features --features="mini,keymap_basic" -- -O binary ferris-firmware.bin
dfu-util -d 0483:DF11 -a 0 -s 0x08000000:leave -D ferris-firmware.bin๐ More in this category