GOLEM keyboard project

Duplex matrix

The duplex matrix is a technique to spare on some microcontroller pins. The trick is to merge every two columns. However, in order for this to work, you need twice the rows. How will this result in less pins then? Let's see how to do this properly!

Basic martices outgrown

Let's start with an example of a matrix driven by a 20-pin controller (e.g. an upgraded Pro Micro).

As you may remember from the basic keyboard matrix write-up, the maximum number of keys handled by this controller is 100 keys: 10 columns x 10 rows, i.e. 10 column + 10 row pins.

–-pic: 10x10 matrix

However, this number is all an illusion in most real life cases as taking a quick look at common keyboard layouts we can see that there are usually much more columns than rows.

–- Standard 21x6 –- ANSI 60% 14x5 –- Preonic 12x5 –-Planck 12x4=16 –-65%, ID75 15x5 –-TKL 17x6=23/104 –-1800 18x6=24 -> 9x12

The result? We have just wasted all our pins for 75 keys only (15+5=20 pins used for 15x5=75 keys) - nowhere near the theoretical 100 key maximum.

The conclusion: the theoretical maximum can be achieved only when the number of rows and colums are equal. As we drift away from this optimal 1:1 proportion we need more pins for the same amount of keys.

The solution: we have to get back to the ideal proportion of row/column count. Or at least somewhat closer to that magic number.

What's a duplex matrix

This is where the duplex matrix method may come in handy.

We merge and handle two columns as they were one single column in an U shape. However, we need twice the rows in return for this to work.

–-U duplex matrix small

Actually, the shape of the duplex column can be vary just like with my S.Torm matrix:

–-S.Torm matrix

Typically, we can spare 2-3 extra pins with this method, depending on the particular layout. Let's see what we can win with this arrangement on some popular physical layouts.

Planck (48 keys)

Instead of a 12x4 matrix (16 pins used) we end up with 6x8(=14 pins). We just spared 2 valuable pins which can be used for backlighting or an extra rotary encoder.


Instead of a 15x5 (20 pins) matrix our duplex results in a 8x10 one (18 pins): again, 2 pins spared.


Instead of a 17x6 matrix (23 pins) we make a 9x12 duplex matrix (21 pins): 2 pins spared.

1800 (98 keys)

Instead of a 18x6 matrix (24 pins) our duplex consists of 9 columns and 12 rows (21 pins): 3 pins spared.

Most people would assume that this is a normal wooden table. It certainly looks like wood and is solid enough to be as well even a close inspection reveals that it is indeed made out of genuine hardwood. However, this is all an illusion as taking a quick look underneath we can see that this is no ordinaly table. It is in fact quite literally a desktop pc filled with high-end enthusiast level hardware. And the best bit: it's homemade. And in this video I'm going to be showing you exactly how to build one. ... The most remarkable thing about this desk is how thin and elegant it is which results in the pc being effectively invisible. You just never know it was there unless somebody told you. However, as soon as a monitor is placed on top it becomes immediately obvious what it is and the illusion is broken. So the intention is to make a hidden monitor system which I'll be going into more detail about later. For now though we're going to be focusing on the table itself. Now the table actually measures only 50 millimeters thick which is about 2 inches. And this is average for a normal desk. However, fitting high-end pc components into such a tight space is a real challenge. And as such the design is uniquely catered around this single point: To be as thin as possible while remaining strong. So this is the first thing we'll tackle: the outer shell.

So in order to get this as thin as possible we're going to be using aluminium sheeting to make the top and bottom of it as aluminium can be less than half the thickness of alternatives like wood while still allowing for a bend free design.

The corners are a little sharp though so the first thing to do is to round them off. As this is a much more friendly shape for a desk. Using a jigsaw is ideal for this but feel free to use hand tools if necessary. Either way finishe the corners off with a file followed by sandpaper for a smooth result. ... It makes sense to use a wood that looks visibly quite nice. .. is definitely recommended .. as it would be very ... otherwise. Now the eagle-eyed of you will notice that I'm using machine screws and threaded inserts here but...