MCP23017 I2C 16-Bit IO Port Expander Module IIC Serial
MCP23017 I2C 16-Bit IO Port Expander Module
Expand your microcontroller's capabilities with the MCP23017 I2C 16-Bit IO Port Expander Module. This compact and reliable IIC/I2C serial interface board adds 16 fully configurable digital I/O pins to any compatible microcontroller (Arduino, Raspberry Pi, ESP32, and more) using just two communication lines — perfect for projects where you've run out of GPIO pins.
Key Features
- 16 Bidirectional I/O Pins: Organized into two 8-bit ports (Port A and Port B), each pin individually configurable as input or output.
- I2C / IIC Serial Interface: Simple two-wire communication (SDA + SCL) for easy integration with virtually any microcontroller platform.
- Up to 8 Modules on One Bus: Hardware address pins (A0, A1, A2) allow up to 8 MCP23017 modules on a single I2C bus, giving you up to 128 extra I/O pins.
- Programmable Interrupt Outputs: Two opposing programmable interrupt sources help trigger events efficiently, reducing polling overhead in your code.
- Power-On Reset (POR) Circuit: Internally integrated POR circuit automatically resets the device to its default state on power-up for reliable, predictable operation.
- Operating Voltage: 1.8V – 5.5V, compatible with both 3.3V and 5V logic systems.
- Low Standby Current: Designed for energy-efficient embedded applications.
- Compact Module Form Factor: Breadboard and PCB friendly, with clearly labeled pins for fast prototyping.
Ideal Applications
- Arduino / Raspberry Pi GPIO expansion
- LED matrix and button matrix control
- Relay board and sensor array management
- Robotics and automation projects
- Keypad and display interfacing
- Home automation DIY builds
What's in the Box
- 1× MCP23017 I2C 16-Bit IO Port Expander Module
Related Products You May Like
- Round Aluminum Wire 1mm–3mm | DIY Jewelry Making Wire
- 4/6mm CCB Flat Round Spacer Beads DIY Jewelry Making 100-200pcs
Learn more: OSHA guidance on hand and power tools
Frequently Asked Questions
Q: What is the MCP23017 I2C 16-Bit IO Port Expander Module used for?
A: The MCP23017 I2C 16-Bit IO Port Expander Module is used to add 16 additional digital I/O pins to a microcontroller via the I2C (IIC) serial interface. It is ideal for projects where the main board (such as an Arduino or Raspberry Pi) has run out of available GPIO pins and needs more inputs or outputs for sensors, LEDs, relays, buttons, or other peripherals.
Q: How many MCP23017 modules can I use on a single I2C bus?
A: You can connect up to 8 MCP23017 modules on a single I2C bus by configuring the three hardware address pins (A0, A1, A2) to give each module a unique address. This means you can expand by up to 128 additional I/O pins from just one I2C bus — making this module extremely scalable for large projects.
Q: Is the MCP23017 module compatible with Arduino, Raspberry Pi, and ESP32?
A: Yes. The MCP23017 module communicates over the standard I2C (IIC) two-wire protocol (SDA + SCL), which is supported by virtually all popular microcontroller and single-board computer platforms, including Arduino (Uno, Mega, Nano), Raspberry Pi, ESP32, STM32, and more. It supports 1.8V–5.5V logic, so it works with both 3.3V and 5V systems.
Q: What does the Power-On Reset (POR) circuit do?
A: The internally integrated Power-On Reset (POR) circuit automatically resets the MCP23017 to its default state every time power is applied. This ensures consistent, predictable startup behavior without requiring manual reset logic in your circuit or firmware.
Production & Packaging Notice
To maintain high stock availability and fast shipping times, our items are sourced from multiple verified manufacturing facilities. While the core quality, materials, and product specifications remain identical, you may notice slight variations in the packaging design, manufacturing origin, or the wording of the printed instructions.