Friday, 4 July 2025

My first keyboard PCB design - a diode-free 36 key ergonomic layout

My previous blog posts talked about diode-free keyboard designs using topology, and specifically using a partial Tutte-Coxeter graph for keyboards with 30~42 keys. As hinted at, I spent June making my own no-diode topology-based 36-key ergonomic keyboard PCB design using the Open Source tools Ergogen and KiCad. This is designed as an alternative PCB to fit the existing Gamma Omega keyboard's 3D printed case design (case design or modification can be a future project).

Front and back rendered images of 36-key PCB in black from JLCPCB website

Friday, 30 May 2025

Mechanical keyboard wiring using the Tutte-Coxeter graph

Following my post on Topology meets Keyboard Design, I spent a few days exploring small less symmetric graphs, trying to find something in the region of 30~42 edges, 20~29 vertices, and as good a girth as possible (especially to have better rollover for the modifier & layer keys) for use in an ergonomic keyboard design. Then I realised as a starting point we can just use part of the 30 vertex Tutte-Coxeter graph, and get 6-key rollover automatically.

30 vertex Tutte-Coxeter graph 28/30 vertices in Tutte-Coxeter graph 26/30 vertices in Tutte-Coxeter graph
All 30 vertices in Tutte-Coxeter graph28 of 30 vertices in Tutte-Coxeter graph26 of 30 vertices in Tutte-Coxeter graph

Friday, 23 May 2025

Topology meets custom keyboard circuit design

Lately I've been reading about ergonomic keyboards, including DIY, spilt keyboards, and custom layouts. I'm currently learning to touch type my own variant of the inverted Hands Down Promethium layout on a pre-assembled Corne spilt keyboard (and on my laptop). I'd like more pinkie stagger, so perhaps I'll design and build my own keyboard - but I don't like soldering, so am drawn to the diode free designs.

The microcontrollers used in most DIY keyboard designs have at least 17 pins available to connect to keyboard switches. In the simplest designs each pin is connected directly to one key switch, which in a split design is enough for a 34 key layout. But what happens if you want more keys than your available GPIO pins, and you don't want to add diodes? Enter topology and the Heawood Graph, 14 vertices (GPIO pins) and 21 edges (key switches).

Heawood graph, 14 vertices & 21 edges, chain of 6 highlighted