Keyboard Builders' Digest / Projects
JESK56
T. G. Marbach's JESK56 is a diodeless 56-key ortholinear keyboard, using a single RP2040-based microcontroller thanks to some fancy math and graph theory.
Published March 16, 2024
The diodeless ortho JESK56 by T. G. Marbach aka triliu utilizes a new type of circuit design stemming from graph theory and mathematical design theory. Using some fancy math, this diodeless approach allows the author to use 56 keys without diodes, while still keeping a good rollover.
Ghosting is prevented to some reasonable degree by the arrangement of the matrix, rather than by diodes. And the approach doesn't even need a special matrix scanner.
Usually, in diodeless keyboards, you need one GPIO pin per switch. […] So all such keyboards must be split into two halves to function as a regular keyboard, and must use two microcontrollers over the two halves. This makes the JESK56 the first non-split diodeless keyboard – triliu.
JESK is an acronym of a scientific paper's four authors' surnames: Janssen, Exoo, Salamon, and Kolokolnikov who studied graphs of high algebraic connectivity (Attainable bounds for algebraic connectivity and maximally-connected regular graphs).
In short: in graph theory, it is possible to make graphs (analogous to the key matrix) that do not contain small cycles (ie. the three keys pressed simultaneously, causing a fourth ghost key registering). Each graph can be converted into a new type of matrix, with differing characteristics. Researchers found a graph of girth 6 (no 3-, 4-, or 5-cycles) with 28 vertices and 56 edges that triliu used as a basis for the matrix of 56 keys.
So what exactly does graph theory have to do with your keyboard matrix? In the common grid pattern of switches, there are these cycles of three or more keys pressed together, potentially causing ghosting. If no diodes were used and three keys of a four-key cycle were pressed, the keyboard would act like all four keys were being pressed. By adding diodes to the matrix, the keyboard becomes "n-key rollover", meaning that the keyboard can theoretically distinguish all combinations of keypresses. Which is an overkill: you don't press dozens of keys at the same time.
In software, 6-key rollover is typically used, meaning the software assumes that if more than six keys are being pressed, then keys were pressed on accident. The USB keyboard protocol is limited to a 6-key rollover – triliu.
All in all, with the graph approach, ghosting is prevented by the arrangement of matrix, rather than by diodes. As of my understanding, every single layout case requires a dedicated graph, e.g. the JESK56's graph is this one.
Triliu is already working on other diodeless layouts, like the Corne derivative 42-key split Heawood42, and the JESK70, a 70-key variant of the JESK56.
Benefits
- Getting rid of diodes makes soldering faster and easier.
- Reduced time burden and risk of error
- less cramped design, more room for other components/functionality
Resources
Published on Sat 16th Mar 2024. Featured in KBD #158.