Chaining multiple MCP23017 on i2c bus
Moderators: adafruit_support_bill, adafruit

Chaining multiple MCP23017 on i2c bus

by rahatmaini on Sun Feb 24, 2013 9:53 pm

How do I (through software and wiring) chain together multiple MCP23017 chips on i2c on Arduino? There was a little section on this site briefly mentioning it is possible but did not provide much more information.

How do I do this? :D

Posts: 167
Joined: Wed Aug 29, 2012 5:15 pm

Re: Chaining multiple MCP23017 on i2c bus

by adafruit_support_mike on Sun Feb 24, 2013 11:07 pm

Every I2C device has an address. When the device in control (called the 'bus master') sends an I2C command, the first thing it sends is the address of the device it wants to talk to.

The MCP23017 has three pins (15, 16, and 17) which set the address for that device. You wire the pins high or low for 8 different addresses on the same bus.

The datasheet for the chip ( has more details.
When you void a product warranty, you give up your right to sue the manufacturer if something goes wrong and accept full responsibility for whatever happens next. And then you truly own the product.

Posts: 15758
Joined: Thu Feb 11, 2010 2:51 pm