borisfaure / ferris-rs

Firmware written in Rust for the Ferris keyboard

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

Firmware written in Rust for the Ferris keyboard

License:Other


Languages

Language:Rust 99.4%Language:RPC 0.6%