Monday, 22 December 2025

Almost a year of DIY Mechanical Keyboards

I did a retrospective in August of how looking for a replacement keyboard led up to building a Ergonomic Mechanical Keyboard with a self-designed PCB roughly six month later (the diode-free Graph Theory based Gamma Omega TC36K). That design is beginner friendly, and went smoothly. In October someone else made a pair of them - nice!

Photo of Two Gamma Omega TC36K keyboards in blue and black against autumn leaves
A pair of Gamma Omega TC36K keyboards
So what have I done with keyboards since? Just designed and built three more...

Keyboard Designs 

Following the USB only Gamma Omega TC36K, I designed and built a Bluetooth version, the Gamma Omega Hesse (blog post). And then, a diode-free Graph Theory version of the Forager split wireless keyboard - the Forager Acid (blog post). These both surface mounted the controller (for a low profile case), and that was a learning hurdle. It took me three attempts to solder the Hesse (a surface mounted Nice!Nano clone using pins). With a heat gun I may be able to salvage one of the failed PCBs, but I damaged the other removing the hotswap sockets. The Forager Acid was also tricky, even with the Seeed Xiao BLE being designed for surface mounting with castellations. My failed attempt here had a tiny leak to ground, meaning it would work for a few seconds and then shut down.

Still, I got there in the end. I was using the Forager with Chicago Stenographer Keycaps (3D printed at JLCPLC) on Choc v1 switches (50g red), tenting using pair of MagSafe phone stands to place them at anything from flat to vertical. I liked the feel of the keycaps, and the tenting, but it somehow wasn't right for me. I think it is the lack of splay and/or the minimal stagger?

I have instead been flipping between the Gamma Omega TC36K with MBK keycaps on Choc v1 switches (35g red pro), and the Gamma Omega Hesse with Tai-Hao THCS flat keycaps on Choc v2 switches (35g Kailh Islet Pink). The MBK keycaps are nice - I can do two-key vertical combos no problem, but the Choc v1 switches seem noisy and rattly to me now. I much prefer the smooth and silent typing on the Islet Pink Choc v2 switches, but there are very few compatible off-the-shelf keycaps. The THCS look much better than they feel (perfectly flat). I think I will get some 3D printed sculpted keycaps with the Choc v2 cross stem instead.

More recently, I also designed and built a larger keyboard for my eldest child, with cursors and number-pad included, the Slump52 (blog post). 

Photo of Slump52 keyboard with Chosfox CFX keycaps, almost empty keycap set below.
Slump52 keyboard with left-over Chosfox keycaps
This was my first design from scratch, including the case - which still needs a little refinement (the USB port is a very tight fit). I'm had to sand down at least four pairs of the Chosfox CFX keycaps which rubbed - the tolerances were perhaps ambitious in my quest to make this as compact as possible with off-the-shelf keycaps for a child's hands.

If I do revise this PCB, I'll add perhaps 0.5mm between the rows, and move the cursor keys a little further away from the thumb keys. The case design was done programmatically (using Ergogen for the 2D aspects of the case and the PCB itself, with build123d in Python turning that into something 3D), so updating that should be easy.

Photo of underside of Slump52 keyboard showing hotswap socket etc.
Underside of the Slump52 keyboard PCB
Again, building this keyboard meant new misadventures in soldering - when fitting the switches I pushed off one of the hotswap sockets, and lifted the pad which tore a trace. This was my first time having to do remedial soldering to patch a damaged trace. 

Keymaps 

Trying the Forager Acid forced me to rework my keymap to cope with just 34-keys (only two keys per thumb). After a failed experiment with holding space for shift (I just don't hold shift down long enough to make this dual role unambiguous), I was able to adjust to holding space as a layer key. I am giving serious thought to dropping an inner column key too and moving to 32-keys (in a layout like the Visorbearer keyboard - a more recent design from the creator of the Forager).

I am still using my slight variant of the (top/bottom inverted) Hands Down Promethium layout, although my punctuation has gone through at least one revision. Changing just a few stickers on my laptop keyboard was hard! According to my profile on the online typing tutor www.keybr.com my top speed is now 59.2wpm with an average of 37.0wpm and 94.85% accuracy. This is still improving (I'm not actively practicing right now - see below), but is already a more than usable speed.

Next - another keyboard?

Sadly I have noticed some forearm twinges from using the flat Gamma Omega keyboards. I think I need tenting, so yes, I am planning to make yet another keyboard.  Perhaps initially a split keyboard to determine my ideal tenting and yaw, followed by a monobody version. I'll also adjust a few other bits like dropping the inner columns from 3 to 2 keys (making 32 keys), and/or moving the thumb keys - I think I prefer them a little further up, like in the Slump52.

I did wonder about using the Slump52 core layout (and started working on a 10x10cm reversible PCB design with 34-keys and an encoder). However, having since been able to try out the layout in person, I find the extra corner key for the ring/pinky fingers is confusing after months on a 5-column layout. It would also hamper tenting as my target is to have the middle finger column horizontal with everything as close to the table as possible to reduce the need for a wrist rest.

I do still hanker after dedicated cursor keys though - for casual interactions - like flicking between mouse to keyboard while editing or browsing etc. This might be an excuse to try a 5-way directional button (and test a cunning plan to do this diode-free with Graph Theory where you need a vertex of degree 5 for the common connection).

No comments:

Post a Comment