EmbeddedRelated.com
MCP23017-E/SP

MCHPMCP23017-E/SP

Microchip Technology
Interface - I/O Expanders 16bit Input/Output Exp I2C interface
4,018 in stock

Overview

The MCP23017-E/SP is a 16-bit I2C I/O expander from Microchip that adds extra GPIOs to a host microcontroller over a two-wire bus. It exposes two 8-bit ports and is commonly used in non-radiation-critical designs and prototyping where additional digital inputs or outputs are needed. Multiple devices can share the same I2C bus to expand GPIO count further.

Why Choose This Part

The MCP23017 provides a compact, low-pin-count way to add 16 GPIOs over I2C, freeing MCU pins for other functions. It is widely supported by community libraries and available from many suppliers, making it easy to integrate into both prototypes and production. The device supports standard I2C bus sharing so multiple expanders can coexist on a single bus, simplifying system scaling.

Applications

Add GPIOs to microcontrollers
Expand limited MCU GPIOs for projects that need many switches, LEDs, or relays without moving to a larger MCU.
Keypad and button matrices
Scan large button/key matrices while saving MCU pins and simplifying wiring.
LED and indicator control
Drive groups of LEDs or status indicators when direct MCU pins are insufficient.
I2C-based sensor or peripheral multiplexing
Route or enable/disable sensors and peripherals in compact systems with minimal wiring.
Raspberry Pi and Arduino expansion boards
Common on Pi HATs and Arduino shields to give hobbyist boards more digital I/O.

Getting Started

Many Arduino libraries (for example Adafruit and community MCP23017 drivers) and Linux userspace tools (i2c-tools, python-smbus) support the MCP23017, so you can get started with an Arduino or Raspberry Pi quickly. Use a breakout or evaluation board for initial testing, and ensure the I2C bus has proper pull-ups and addressing so multiple devices do not conflict.

MCP23017 Family

Part NumberDifferenceStock
MCP23017-E/SO SOIC-28 11,140

Also Consider

MCP23S17-E/SP MCHPMicrochip Technology - SPI variant of the 16-bit expander for designs that prefer SPI over I2C.