Projects

Low Profile Split Keyboard

An Allium58, built twice and used daily. A number pad kit proved I could do it, and a Lily58 taught me what I did not want.

  • Electronics
  • Soldering
  • QMK
Low Profile Split Keyboard
Both halves of the Allium58.

This case study is still an outline โ€” the facts below are verified, the writing isn't finished.

A split keyboard leaves each hand where it already rests instead of asking both to meet in the middle. Low profile keeps the whole thing close to the desk, so your wrists stop climbing over it.

Getting there took three boards.

The number pad kit, the Lily58, and the Allium58
Left to right: the test, the first attempt, the one I kept.

Proving it was possible

Before ordering anything I cared about, I bought a DIY number pad kit off Amazon. Twenty or so switches, a small PCB, an evening of work. It cost almost nothing and answered the only question that mattered: could I do this at all.

That is the same call I would make on a program with real money behind it. Build the cheap thing that de-risks the expensive thing, and find out early rather than halfway through.

Lily58

First real build. Vendor PCB, wired, and it worked.

It was also wobbly and it sounded terrible. The keys had play in them, and the case rang hollow under typing. Neither of those is something you find out by reading about switches, and neither gets better with use.

Allium58

A low-profile fork of the Lily58, and the one that stuck. Gateron Browns, a keycap set I liked looking at, and none of the wobble.

I built two, both wired, both from vendor PCBs. One lives at home and one at the office, so I am typing on the same layout either way. I use them daily.

Side-on view showing the height off the desk
How low it actually sits.

The keymap

Two layers, written in QMK and flashed to both boards.

The base layer holds what you would expect. The second one carries arrow keys, a number pad under the right hand, function keys, and the symbols that sit too far from home position on a normal board.

QMK keymaps are C. I defined the layers as arrays, compiled, and flashed the result, so moving a key means recompiling and reflashing rather than dragging it in a GUI. That sounds worse than it is, and it means the layout lives in version control with everything else.

Keymap layer diagram
The layer map.

Where this came from

I could not solder when I started. I learned at work, made a case for the iron, then built a fume extractor once I was using it enough for the smoke to matter. A board with a few hundred joints in it was the next thing that looked out of reach.