Monday, January 8, 2018

4x4x4x4x4

Modular keypad/keyboard

The basic unit is a 4x4 matrix with 16 keys. Up to 4 of these can be connected to each other side by side.

4x4, 4x8, 4x12 and 4x16 are possible.

There are pads for header pins on each side that complete the circuits from board to board. These can be permanently connected with solder bridges or with pin headers and shunt jumpers.


The PCB is a perfect square. Exactly 3 inches square. Standard switch spacing is 0.75 inches, 19.05mm. The header pins are the common 0.1 inch spacing (2.54mm).

The Gerber files are on github.

The schematic shows how the header pins are connected. The Row pins connect straight across. The column pins shift up diagonally from board to board.


The pinout. Each additional board uses another set of 4 Column pins.

It is running TMK. The 4x16 layout is here on github. For 4x4, 4x8 and 4x12 you can either modify the matrix or just ignore the columns on the right that are unused.

The top of an assembled 4x16 using 4 boards. Gateron clear PCB mount switches.

The bottom. A second set of 4 boards were used as the base of the keyboard. 3m Bumpons at each corner of each board.

Side view. M2 spacers and screws hold the two PCBs together. You can see the Arduino Micro on the right. It is right side up so that the reset button can be pressed.

The bottom of PCB with the socket for the Arduino Micro (not a Pro Micro). The Arduino Micro has an odd number of pins and I had to cut down two different sockets to fit it. If I had a 40 pin socket I could have just cut off pins from one end to make a 34 pin socket.

Close up of the solder bridges. Solder isn't a good mechanical connection, but it works. A solid plate or base plate is needed to keep the board from flexing.

Header pins are much sturdier and the jumpers are removable. I didn't have enough jumpers to complete a board. The header pins are the ones that came with Pro Micros, I snapped them into 4 pin sections.

Completed 4x4x4x4x4 board with keycaps. It is my standard Planck layout with a numpad on the right.