MCP23017 I2C GPIO Expander Breakout - STEMMA QT / Qwiic
£5.83 ex VAT
This Adafruit MCP23017 I2C GPIO Expander Breakout has 16 GPIO with a matching ground pad. It runs happily from 3V or 5V logic and power. Each GPIO can be an output driving up to 25mA, so LEDs are no problem. Or, each can be input, with an optional pullup. There are two IRQ pins that are configurable for what inputs to keep track of so no I2C bus polling is required. With 3 address pins, you can have up to 8 on a single bus for a total of 8 x 16 = 128 GPIO all on one I2C bus!
Comes with two sticks of header so you can use it in a breadboard, with some soldering. You can also free-wire buttons by connecting one side to the GPIO (set as input with pull-up) and the other side to a ground pad.
Adafruit has created solid Arduino and CircuitPython libraries with examples, all ready for this chip. But even if you are using some other platform, the MCP23017 is so classic, you'll likely be able to find example code.
To get you going fast, they have a custom-made PCB in the STEMMA QT form factor, making it easy to interface with. The STEMMA QT connectors on either side are compatible with the SparkFun Qwiic I2C connectors. This allows you to make solderless connections between your development board and the MCP23017 or to chain it with a wide range of other sensors and accessories using a compatible cable (not included).