Keyboard Builders' Digest
$5 off at KPrepublic! 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

CB34S

CB34S is a 34-key columnar staggered Choc V1 monoblock split keyboard by Bubbleology – with Nice!Nano and Nice!View.

Zazu

Zazu is a unibody split keyboard by AlSaMoMo with some extra features.

Batoid

Kotte's Batoid is a handwired monoblock split in a cute case. Small footprint, big personality.

Azimuth

The Azimuth is my handwired hotswap pseudosplit design with a handful of rotary encoders.

Red Herring solenoid edition

Ming-Gih Lam updated the Red Herring PCB with an on-board solenoid.

Reviung_ish

Frederik's keyboard dubbed the Reviung_ish extends the distinctive Reviung layout with a number row.

×
top