by adafruit

214 Stars 146 Forks Last release: 2 months ago (1.2.0) Other 41 Commits 9 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Adafruit MCP23017 Arduino Library Build StatusDocumentation

This is a library for the MCP23017 I2c Port Expander

These chips use I2C to communicate, 2 pins required to interface

Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!

Written by Limor Fried/Ladyada for Adafruit Industries.
BSD license, check license.txt for more information All text above must be included in any redistribution

To download. click the DOWNLOADS button in the top right corner, rename the uncompressed folder AdafruitMCP23017. Check that the AdafruitMCP23017 folder contains AdafruitMCP23017.cpp and AdafruitMCP23017.h

Place the Adafruit_MCP23017 library folder your /libraries/ folder. You may need to create the libraries subfolder if its your first library. Restart the IDE.

Pin Addressing

When using single pin operations such as pinMode(pinId, dir) or digitalRead(pinId) or digitalWrite(pinId, val) then the pins are addressed using the ID's below. For example, for set the mode of GPB0 then use pinMode(8, ...).

Physical Pin #

Pin Name Pin ID
21 GPA0 0
22 GPA1 1
23 GPA2 2
24 GPA3 3
25 GPA4 4
26 GPA5 5
27 GPA6 6
28 GPA7 7
1 GPB0 8
2 GPB1 9
3 GPB2 10
4 GPB3 11
5 GPB4 12
6 GPB5 13
7 GPB6 14
8 GPB7 15

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.