This is my first foray into custom built mechanical keyboards. I designed this as a mini project to get into pcb design and embedded code in rust.
It has been awesome.
This board takes a lot of inspiration from the Corne and Kyria boards.
I really liked the 3 rows from the Corne, as well as the rotaries from the Kyria. I wanted a single row thumb cluster and a column stager that fitted my hands. In then end, I ended up with what is in this repo.
Before I really had much info about open source keyboards, I decided I wanted to write my own firmware in rust. A well supported chip and board is the (WeAct MiniSTM32F4x1)[https://github.com/WeActTC/MiniSTM32F4x1] aka "the blackpill".
This board has a different footprint to a Pro Micro, which in hindsight has probably made this board very niche. I know of other blackpill boards (like the Grandiceps), but they seem limited at the moment.
The firmware is custom, written in rust using the keyberon as a base. At the moment, it manages communication between each side, the ssd1306 displays and has code to enable media keys in a second usb HID report. The most important feature is bongo cat animated displays. Thank you to dancarrol for the inspiration.
- Install rust (see here)
- Install the compile target for the black-pills
rustup target install thumbv7em-none-eabihf - Install binutils to create a binary file
cargo install cargo-binutilsandrustup component add llvm-tools-preview - Build the binary
cargo objcopy --release -- -O binary out.bin - Put the black-pill in dfu boot loader. Hold the
NRSTandBOOT0buttons at the same time, then let go ofNRSTwhile still holdingBOOT0button for a second longer. - Check you can see it with
lsusb - Flash with dfu-util or similar
- Repeat for both sides