/keyseebee

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.

Primary LanguageRustMIT LicenseMIT

KeySeeBee

KeySeeBee

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.

Features

  • 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).
  • Plate files (optional).

Inspiration

  • 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"

Gallery

v0.1, build by TeXitoi

From above with one side upside down

Side view

v0.1, build by TeXitoi, Gateron silent clear (MX footprint), 3D printed plate

From above

v0.2, build by eropleco, with 1.2mm anodized aluminium plate

Left

Right

v0.3, build by TeXitoi, Gateron silent clear, 3D printed fat plate

Side view

Bill Of Materials

Price is for 5 keyboards including shipping.

Item Package Qty Remarks Price
Left PCB 1 Ordered at JLCPCB
Right PCB 1 Ordered at JLCPCB 33.14€
USB-C connector 16 pins 2 1.44€
1N4148WS SOD-323 44 Price is for 1000 2.82€
PJ320A TRRS connector 2 1.01€
STM32F072CBT6 MCU LQFP-48 2 STM32F072C8T6 would also work 9.65€
XC6206P332MR regulator SOT-23 2 Price is for 50 1.93€
SMD switch 3×6mm 4 Price is for 100 1.35€
5.1kΩ resistor 0805 6 Price is for 100
1µF capacitor 0805 4 Price is for 100
100nF capacitor 0805 10 Price is for 100 3.46€
Bumpers 5×2mm 10 Price is for 100 1.75€
Cherry MX compatible or Kailh Choc switch 5 pins (PCB mount) 44
1U keycap compatible with the chosen switches 44
TRRS cable Jack 3.5mm 1 4 contacts needed
USB-C cable 1 USB-2 is enough

About 60€ without switches, keycaps and cables for 5 keyboards (12€/keyboard).

Compiling and flashing

Install the complete toolchain and utils:

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

Compile:

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

To flash using dfu-util, launch it with:

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

Then, put the board in dfu mode by pressing BOOT, pressing and releasing RESET and releasing BOOT. The upload should began as soon as the computer detect the board in dfu mode.

The first 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

Ideally both sides needs to be flashed, but for changes that only affect the layout it's strictly not needed as the side connected with the USB cable will determine the layout. In fact, you can have different layouts stored on each half, meaning you can switch back and forth between two layouts by moving the USB cable between the two halves.

What's the layout

Here is the empty keyboard-layout-editor describing the layout.

I use the ergol layout, so this is the main layer when I type.

The layer 1 is activated by holding space.

The layer 2 is activated by holding Layer 2.

The layer 3 is activaded by holding space then Layer 2.