MCP23017-E/ML
MCP23017-E/ML - 16-bit I2C I/O Expander, 28-QFN (6x6) | Microchip
The Microchip Technology MCP23017-E/ML is a 16-bit, general-purpose bidirectional I/O expander that communicates over the I2C serial interface at speeds up to 1.7 MHz, housed in a 28-pin QFN (ML) 6x6 mm package. It operates from 1.8 V to 5.5 V supply, provides 16 individually configurable I/O pins organized into two 8-bit ports (GPA and GPB), and supports cascading of up to eight devices on a single I2C bus through three hardware address pins (A0, A1, A2), giving a theoretical maximum of 128 GPIOs per bus.
An I/O expander, also called a GPIO expander, is a category of digital interface IC used to add additional general-purpose input/output pins to a microcontroller or processor whose native GPIO count is insufficient. The MCP23017 belongs to the broader I2C peripheral and interface IC family, sitting architecturally between a host MCU and end loads such as LEDs, keypads, sensors, and relays. Because the device communicates over a two-wire I2C bus, it consumes only two host pins regardless of how many expanders are chained, which is critical for pin-constrained designs.
Key features include interrupt-on-change capability on each pin (configurable per pin via IOCON), hardware configurable interrupt output polarity, internal weak pull-up resistors (100 kOhm typical), 25 mA sink/source capability per pin, and a low standby current of 1 uA typical. The MCP23017 also offers two interrupt pins (INTA and INTB) that can be mirrored or routed independently, supporting both level-sensitive and edge-triggered wake-up events to the host controller.
The MCP23017 uses a parallel architecture where the I2C core and the GPIO register bank are independent, allowing the host to write all 16 outputs in a single transaction through sequential register addressing. Configuration registers (IODIR, IPOL, GPPU, GPIO, OLAT, IOCON) are mirrored for ports A and B, simplifying firmware by enabling port-level operations. The device supports standard I2C (100 kHz), fast I2C (400 kHz), and high-speed I2C (1.7 MHz), the latter being unique to Microchip's MCP23X17 family.
Typical applications include adding keypads or LED matrices to home appliances, expanding GPIO on Raspberry Pi or ESP32 projects, industrial PLCs requiring many isolated inputs, automotive dashboard controls, and any design where pin count exceeds the MCU's native capability. The MCP23017-E/ML variant carries the -E (Extended) temperature grade of -40C to +125C.
When designing with this device, ensure external I2C pull-ups are sized correctly for the bus capacitance and selected speed; the internal weak pull-ups are insufficient for reliable high-speed operation. For applications exceeding eight expanders, use the SPI variant MCP23S17 instead. Reserve the three address pins (A0/A1/A2) carefully to avoid bus address collisions.
This page synthesizes distributor pricing from LCSC and DigiKey, drop-in alternative MPNs sourced from Microchip's same family and verified cross-references, and practical design notes covering I2C pull-up sizing and interrupt handling not consolidated in the manufacturer datasheet alone.
견적 요청
문의하기