Designing a Split Chord Keyboard

keychordz is a split mechanical keyboard designed for chorded input. Because existing keyboard firmware like QMK had insufficient chording support, I built the entire firmware from scratch in Rust. The PCBs are designed from scratch in KiCad.

The keyboard was designed and built starting February 2021, with the first revision being done in April 2021 and the second revision in May 2022.

Revision 1: Rectangular PCB with Bodges

The first revision was manufactured as a rectangular PCB with visible bodge wires fixing electrical issues.

Both halves assembled9MS rectangular PCB back with microcontroller and switch matrix

An example of how easy it is to mess up soldering small components like the RGB LEDs:LED missing pad sideLED missing pad top

I also designed the path for the data wires through the LEDs backwards, which required some rework. An example of that can be seen below:LED missing pad bodged

Revision 2: Split PCB with Improved Layout

The second revision includes the Arduino directly on the PCB with all the individual components soldered to it. I'm quite proud of the PCB layout design, which works for both left and right halves by doubling some traces and mirroring others.V2 split keyboard fully assembled

An improvised switch using a wire soldered in such a way to make contact when pressed down:Mechanical switch close-up

Showing off the backwards compatibility of the new revision:Both halves connected with coiled cable - backwards compatible

3D printing the case:

I was clearly very excited to see the keyboard working: