The MCP23017 is a popular 16-bit I/O expander IC that allows microcontrollers to add up to 16 additional digital input/output pins using only the I2C communication interface. It is an ideal solution when GPIO pins are limited on development boards such as Arduino, ESP32, ESP8266, STM32, Raspberry Pi, and other embedded systems.
The chip features two 8-bit ports (GPIOA and GPIOB), configurable as inputs or outputs independently. It also supports internal pull-up resistors, interrupt generation, and hardware address selection, allowing up to 8 MCP23017 devices to share the same I2C bus for a total of 128 additional GPIO pins.
────────────────────────────
Features
• Adds 16 Extra Digital I/O Pins via I2C
• Two Independent 8-Bit Ports (GPIOA & GPIOB)
• Configurable Input or Output Pins
• Built-in Internal Pull-Up Resistors
• Interrupt Output Support
• High-Speed I2C Communication
• Supports Multiple Devices on Same I2C Bus
• Low Power Consumption
• Easy Integration with Popular Microcontrollers
• Suitable for GPIO Expansion Projects
────────────────────────────
Technical Specifications
IC Model: MCP23017
GPIO Channels: 16
Communication Interface: I2C
I2C Address Range: 0x20 – 0x27
Maximum Devices per Bus: 8
Maximum Expanded GPIO: 128
Operating Voltage: 1.8V – 5.5V
Interrupt Pins: 2 (INTA, INTB)
Internal Pull-Up Resistors: Supported
Operating Temperature: -40°C to +85°C
────────────────────────────
Package Includes
• 1 × MCP23017 16-Bit I/O Expander Module
────────────────────────────
Applications
• GPIO Expansion for Microcontrollers
• Home Automation Systems
• Industrial Control Projects
• Keypad and Button Matrix Interfaces
• LED Control Systems
• Relay Control Boards
• Robotics Projects
• Sensor Expansion Applications
• Embedded Development and Prototyping
• Raspberry Pi and Arduino Projects