borisfaure
ferris-rs
Rust

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

CI

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.

Ferris Bling Keyboard

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:

  • bling
  • compact
  • mini
  • high
The possible keymaps are:
  • keymap_basic
  • keymap_borisfaure
  • keymap_pierrec83
Some of them were converted with help from the tool qmk-layout-to-keyberon.

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

ยฉ 2026 GitRepoTrend ยท borisfaure/ferris-rs ยท Updated daily from GitHub