Starting with the basic breadboard keyboard described in [tutorial_1_breadboard_keyboard.md](tutorial_1_breadboard_keyboard.md), add parts as described above.
Refer to the MCP23S17 datasheet to locate its pins.
In the picture, MCP23S17 pin 1 is on the left end, towards the controller.
The MCP23S17 I/O expander has two ports. Each port has eight pins.
Port B is connected to the matrix's rows (red bus).
Port A is connected to the matrix's columns (jumpers).
MCP23S17's device address is configured by hardware pins.
<!-- todo schematic with IOE power decoupling capacitor
This schematic was written by consulting the I/O expander's datasheet and using the ?? tool. -->
Sketch for split keyboard with I/O Expander
-------------------------------------------
The [keybrd_4c_split_with_IOE.ino](keybrd_4c_split_with_IOE/keybrd_4c_split_with_IOE.ino)
sketch explains how the I/O Expander works on a keyboard.
<arel="license"href="https://creativecommons.org/licenses/by/4.0/"><imgalt="Creative Commons License"style="border-width:0"src="https://licensebuttons.net/l/by/4.0/88x31.png"/></a><br/><spanxmlns:dct="http://purl.org/dc/terms/"property="dct:title">keybrd tutorial</span> by <axmlns:cc="https://creativecommons.org/ns"href="https://github.com/wolfv6/keybrd"property="cc:attributionName"rel="cc:attributionURL">Wolfram Volpi</a> is licensed under a <arel="license"href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.<br/>Permissions beyond the scope of this license may be available at <axmlns:cc="https://creativecommons.org/ns"href="https://github.com/wolfv6/keybrd/issues/new"rel="cc:morePermissions">https://github.com/wolfv6/keybrd/issues/new</a>.