First I would like to thank u/_spindle, without whose keyplus it will be impossible to build this keyboard.

The idea comes from making a custom keyboard by myself. An ideal keyboard of me is conceived as follows:

  • The keyboard should be wireless. I am tired of always having a keyboard cable on the table.

  • The keyboard should be ergonomic. The prototype I chose was ergodox, but I do not like the design of thumbs keys of ergodox: they take signifcant space, but are not easily reachable.

  • The wireless module should have a long lifetime. Therefore bluetooth is not suitable for a split design, because one of the keybooard has to be set to receiver mode if we want to use bluetooth, and significant energy consumption is expected in receiver mode.

  • The keyboard should be programmable, which is necessary for a small form factor keyboard.

The first idea I came across is modding a Logitech unifying keyboard, as two unifying keyboards can be connected to one unifying receiver. I first tried to get the pcb of a unifying keyboard and tested this idea. Unfortunately, unifying is not a good choice, because two keys on seperated keyboards cannot be pressed together, this will make the keyboard non-programmable.

Later on I came across the project of keyplus, which is a keyboard controller firmware which enables using two keyboards as senders and a nother module as a receiver to build a wireless split setup. This is exactly what I need!

After having conceived the whole setup in my mind, I started by designing the layout of the keyboard. I am choosing all 1u keys to save space, and I designed the staggered key columns considering the length of different fingers.

layout
layout

The next thing to do is to design the keyboard case. I myself like the feel of a metal case, but I am aware of that a full metal case will consist a Faraday cage, which will block the wireless signal (Look at the stupid F60 that iQunix made). I chose a combination of a metal top and a plastic bottom. Besides, I want the case to be unibody for aesthetic considerations.

case top
case top
full case
full case

I also designed the pcb, in order to connect the key switches, controller, and wireless module in a stable way.

pcb
pcb

After a long time waiting for the CNC of the case and the printing of the pcb, I have finally received all the components and assembled the two parts of the keyboard.

keyboard

keyboard
keyboard

keyboard
keyboard

I do not have flat profile keycaps that can be used on this keyboard, what I am waiting for is the XDA canvas. Don’t let me down, Mito!

Some possible improvements in the future:

  • Use nrf52840 as controller to support usb and wireless connectivity at the same time.

  • Use Kailh hot swappable sockets.

  • Use CNC instead of 3D printing for bottom case.