keyboardbuilders

← Learn

IO expanders in split keyboards

An IO expander is a small chip that gives a controller more pins. On a split keyboard it lets one controller run both halves: the other half gets an expander, which reads its keys and sends them across the cable over I2C, a two-wire connection between chips.

chip USB-C IO exp. I2C Left half: the controller chip Right half: an IO expander
Not to scale. A Ferris-style split: the controller chip on the left, an IO expander on the right.

Most splits have a controller in each half, talking to each other. With an expander there is one controller to buy, fit and flash, and the firmware sees one keyboard instead of two halves each running their own copy. The MCP23017, PCA9555 and TCA9555 used below each add 16 pins.

The catch is that the halves are no longer the same. A Ferris has the chip and USB-C port on the left and an MCP23017 on the right, so it can't be a reversible PCB.

This list is kept by hand and surely missing some.

Designs known to use one 10

3 of 10 shown. The catalog has no filter for this list yet.