FREE SHIPPING for orders over 85.00

MCP23017 16-Bit I/O Expander

in category I2C Protocol

The MCP23017 is a 16-bit, general purpose parallel I/O port expander for I2C bus applications. 

Gross Weight: 0kg
Made in: Korea
In Stock
Ships in 24 Hours
Low stock in store
Without VAT 1.77
Our quantity discounts:
Quantity 10+ 100+ 1000+
Price 1.76 1.54 1.32


The MCP23017 is a 16-bit, general purpose parallel I/O port expander for I2C bus applications. The 16-bit I/O port functionally consists of two 8-bit ports (PORTA and PORTB). The MCP23017 can be configured to operate in 8-bit or 16-bit modes.

Add another 16 pins to your microcontroller using a MCP23017 port expander. The MCP23017 uses two i2c pins (these can be shared with other i2c devices), and in exchange gives you 16 general purpose pins. You can set each of 16 pins to be input, output, input with a pullup or open drain. There's even the ability to get an interrupt via an external pin when any of the inputs change so you don't have to keep polling the chip.

Use this chip from 2.7-5.5V (good for any 3.3V or 5V setup), and you can sink/source up to 20mA from any of the I/O pins so this will work for LEDs and such. Team it up with a high-power MOSFET if you need more juice. DIP package means it will plug into any breadboard or perfboard.

You can set the i2c address by tying the ADDR0-2 pins to power or ground, for up to 8 unique addresses. That means 8 chips can share a single i2c bus - that's 128 I/O pins!


  • 16-bit remote bidirectional I/O port
    • I/O pins default to input
  • High-speed I2C™ interface (MCP23017)
    • 100 kHz
    • 400 kHz
    • 1.7MHz
  • Three hardware address pins to allow up to eight devices on the bus
  • Operating Voltage: 1.8V to 5.5V