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.
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.
I also designed the pcb, in order to connect the key switches, controller, and wireless module in a stable way.
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.
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.