You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Guillaume Pinot 5be1a9fbf9 fix typo in 2 years ago
firmware fix race condition 2 years ago
images Images and updates of the md files 2 years ago
pcb Images and updates of the md files 2 years ago
.gitignore first compiling firmware 2 years ago
.gitmodules right advances 2 years ago
LICENSE Initial commit 2 years ago fix typo in 2 years ago



KeySeeBee is a split ergo keyboard. It is only 2 PCB (so the name) with (almost) only SMD components on it. It's only a keyboard, no LED, no display, nothing more than keys and USB.

The firmware is Keyberon, a pure rust firmware.


  • 44 keys, using Cherry MX or Kailh choc switches, only 1U keycaps;
  • USB-C connector on the 2 sides;
  • TRRS cable for connecting the 2 halves (for power and UART communication between the 2 halves);
  • 2 STM32F072 MCU, with hardware USB DFU bootloader and crystal less USB;
  • Only onboard SMD component (except for the switches and TRRS connector).


  • Plaid for "show the components"
  • GergoPlex for "just a keyboard" and "only a PCB with SMD components"
  • Lily58 for the thumb cluster
  • Kyria for "don't be affraid of pinky stagger"

From above with one side upside down

Side view

Compiling and flashing

Install the complete toolchain and utils:

curl -sSf | sh
rustup target add thumbv6m-none-eabi
rustup component add llvm-tools-preview
cargo install cargo-binutils
sudo apt-get install dfu-util


cd firmware
cargo objcopy --bin keyseebee --release -- -O binary keyseebee.bin

To flash using dfu-util, first put the board in dfu mode by pressing BOOT, pressing and releasing RESET and releasing BOOT. Then:

dfu-util -d 0483:df11 -a 0 -s 0x08000000:leave -D keyseebee.bin

The fist time, if the write fail, your flash might be protected. To unprotect:

dfu-util -d 0483:df11 -a 0 -s 0x08000000:force:unprotect -D keyseebee.bin