Skip to content
This repository has been archived by the owner on Jun 26, 2021. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This library has been archived. Please use the replacement library:

Adafruit MCP23008 Library Build StatusDocumentation

To download, click "Download Source" in the top right corner. Then install as indicated in our tutorial: --> in a folder called Adafruit_MCP23008.

You will also need the Adafruit BusIO library:

This is very much beta, it seems to work fine but its not optimized and doesn't currently suport the interrupt capability of the chip

Currently it can do: setting pin directions, inputs and outputs and turning on/off the pull-up resistors

To use: Connect pin #1 of the expander to Analog 5 (i2c clock) Connect pin #2 of the expander to Analog 4 (i2c data) Connect pins #3, 4 and 5 of the expander to ground (address selection) Connect pin #6 and 18 of the expander to 5V (power and reset disable) Connect pin #9 of the expander to ground (common ground) Pins 10 thru 17 are your input/output pins

Check the datasheet for more info:

Enjoy and send pull requests!