The MCP23008 and MCP23017 family of chips provide an easy way to add extra digital inputs and outputs to your development board. These chips are controlled with an I2C connection and add 8 or 16 extra digital pins that can act as outputs or inputs (even with optional pull-up resistors). This is great for connecting more digital devices to your board when you run out of native digital I/O!
This guide explores how to use the MCP23008 and MCP23017 with CircuitPython. You'll learn how to connect the chip to a CircuitPython board, load an Adafruit MCP230xx module, and control the I/O pins of the chip from Python code!