Keyboard Builders' Digest
Save 5% at Loobed Switches! Code: KBDNEWS
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.

KBD.news
Published March 16, 2024
Creators! Feel free to tip me off about your keyboard related projects to bring them to 140K readers.

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).

Pic:

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.

Pic:

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

Do you like this post? Share, donate, subscribe, tip me off!

Published on Sat 16th Mar 2024. Featured in KBD #158.


Related

Birdie6 keyboard

u/josandi used MrZealot's ergogen to design this beautiful Birdie6 keyboard.

Sesame by kb-elmo

A Sesame designed by _vastrox_/elmo and built by kmrnewworkplace.

Fusion

Fusion is u/steven4012's foldable travel board – with all the source files.

FOREVER-1

FOREVER-1 by Protieusz is a monoblock split with an encoder and trackpad in the center à la GRIN Quern.

Phatty105

This handwired monster is tentatively named the Phatty105 (keymap) and is based on a (surprise!) CRKBD. Committed by jamopopper.

eek!

I just rediscovered the eek! by Klackygears, this unibody split with brutal 90 degree angle.

×
top