Awesome
Unsplitted ergo Keyberon
Presentation
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
Gallery
First version
Second version
The dev board has a dedicated cutout.
6×3+4 layout with a bit more stagger.
Third version
The "plate" is now thick and play the role of case, with just a flat sheet for the back.
Default version (6×3+4):
Minimal version, for testing, with
nb_cols=2;
nb_rows=2;
nb_thumbs=2;
Fourth version
Choc height and spacing (optional), aligned thumb cluster (optional).
Side view, with choc switches on the left, and MX switches on the right. 5 euro cent coin (21.25 mm of diameter) for scale.
I use this keyboard mostly over the laptop keyboard.
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.
Building
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.
Compiling
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 -w -d 0483:df11 -a 0 --dfuse-address 0x08000000:leave -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.