The Microchip MCP23008-E/SS is an 8-bit I2C I/O expander in a 20-SSOP package, designed to add eight push-pull GPIO lines to a host microcontroller using only two bus wires (SCL, SDA) plus the interrupt line. It operates from a 1.8V to 5.5V supply and each I/O pin can source or sink 25 mA — enough to drive LEDs directly or switch a small-signal relay through a transistor. The I2C interface runs at up to 1.7 MHz, keeping bus transactions short even when polling all eight pins. An interrupt output (INTA) signals the host on input change, so firmware can sleep between events instead of polling the bus.
Industrial temperature range and active lifecycle
POR and interrupt — two features that simplify firmware
The POR (Power-On Reset) feature guarantees that all I/O pins start as inputs (high-impedance) on power-up, preventing uncontrolled output states during the host's boot sequence. The interrupt output is an open-drain line that asserts low when any input pin changes state; the host reads the INTCAP register to see which pin triggered it. This eliminates the need for periodic polling over I2C, saving bus bandwidth and reducing firmware complexity in low-power designs.
