When you finish this tutorial you will be able to be able to modify a 2-matrix keybrd sketch to suite your own split keyboard design.
The breadboard in this picture models a split keyboard.
There is a total of 4 matrix rows, each on a breadboard power rail.
The right matrix is connected to a microcontroller. The left matrix is connected to a I/O expander.
The I/O expander has a small notch on one end, which identifies the end with pin 1. In the picture, pin 1 is on the right end.
The microcontroller and I/O expander are connected by 4 jumper wires:
A capacitor on the power pin smooths power to the I/O expander.
The microcontroller and I/O expander communicate via I2C bus, which consists of two signals: SCL and SDA. Two resistors pull-up voltage on the SCL and SDA.
I/O expander I2C address is configured by three hardware pins (AD0, AD1, AD2).
The I/O expander has two ports. Each port has eight pins. One port is connected to the matrix’s rows. The other port is connected to the matrix’s columns.
The split keyboard is built on the basic breadboard keyboard described in tutorial_1_breadboard_keyboard.md
Continuing from the basic breadboard keyboard instructions:
Insert the I/O expander
Install I/O expander power
ground
power
capacitor
Install I2C bus
SCL
SDA
pull-up resistors on SCL and SDA
configure I2C address
Assemble key matrix as shown in the picture.
Connect I/O expander ports to matrix rows and columns
The keybrd_4_split_with_IOE_annotated.ino sketch explains how the I/O Expander works on a keyboard.
keybrd tutorial by Wolfram Volpi is licensed under a Creative Commons Attribution 4.0 International License.
Permissions beyond the scope of this license may be available at https://github.com/wolfv6/keybrd/issues/new.