Attention ;)
This project is now available at Pimoroni! Click
here to go there.

A 16 bit I²C IO expander

IxpandO is an input/output expansion board based on Microchip's MCP23017. When you run out of inputs or outputs for your project, use this project to connect up to 16 of them through an I²C interface.

IxpandO was project #17 of the Boldport Club.

sold out
Add To Cart

What’s included

Infographic | PDF

Assembly and usage

Use the infographic for correctly place the components. Two identical PCBs are provided with the project. You're able to use a single board by populating both sides, or stack two boards to create a 3D construction.

The header pins are staggered so there is no need to necessarily solder them in place.

Several boards can be changed using the side headers. To do this, you'll need to set each board to a different I²C address from the default 0x20 one. This is done by cutting the track on the solder blob jumper and then soldering a blob to VCC or GND.

Any I²C driver will work with this chip; an Arduino driver is available from Adafruit. We've chosen a 4.7KΩ pull-ups on SDA/SCL for versatility (this should work with 100kbit/s to 400kbit/s standard rates under most conditions). The chip, however, can go up to 1.7Mbit/s although the pull-ups values may need to be changed depending on rate and other conditions, such as the properties of the driver, cable lengths, etc.

According the datasheet, each I/O can sink or source 25mA, although there is a total limit of 125mA, so be aware not to exceed that limitation.

Further information