A handwired unsplitted ergo keyboard. It uses keyberon for its firmware.
The case is totally parametric: you can customize a lot of things, including:
- number of rows
- number of columns
- number of thumb keys
- angle between the two halves
- column stagger
Bill of Materials
- a WeAct MiniF4 development board
- a 3D printed plate
- a 3D printed case
- 44 Cherry MX compatible keyboard switches (for the default parameters)
- 44 Cherry MX compatible 1U keycaps (for the default parameters)
- 44 1N4148 diodes (for the default parameters)
- Polyurethane Enameled Copper Wire 0.2mm
- 8 4mm M3 screws (or 9 if you opt for center screw in the parameters)
- 8 3mm M3 brass inserts (or 9 if you opt for center screw in the parameters)
- a USB-C cable
- a soldering kit
Everything can be found for less than $60 new on Aliexpress without the case.
You can follow the building guide of keyberon grid or any other handwiring guide. I recommand to read a few to have different visions.
For the wiring of the dev board, refer to the source code for the pins.
Install the rust toolchain
curl https://sh.rustup.rs -sSf | sh rustup target add thumbv7em-none-eabihf rustup component add llvm-tools-preview cargo install cargo-binutils
Compile the firmware
cargo objcopy --bin keyberon-f4 --release -- -O binary keyberon.bin
Flashing using DFU
Put the developement board in DFU mode by pushing reset while pushing boot, and then release boot. Then flash it:
dfu-util -d 0483:df11 -a 0 --dfuse-address 0x08000000 -D keyberon.bin
The LED on the board should react to caps lock (if you push caps lock on another keyboard, the light should toggle), and the user button send space.