The MCP23017T-E/ML is a 16-bit I2C I/O expander from Microchip in QFN-28 (4x4mm), providing 16 bidirectional GPIO pins via an I2C interface at up to 1.7MHz (high-speed mode). The 16 I/O pins are split into two 8-bit ports (Port A and Port B), each with its own configuration, input, output, and polarity registers. The IODIRA and IODIRB registers set each pin as input (1) or output (0). The OLATA/OLATB registers set output latch values. The GPIOA/GPIOB registers read current pin states. The IPOLA/IPOLB registers can invert the polarity of input pins. Each pin has an internal weak pull-up resistor (100kOhm) configurable via GPPUA/GPPUB. The interrupt-on-change feature: the INTCONA/INTCONB registers configure whether interrupts are generated on any change or only when a pin differs from a reference value (DEFVALA/DEFVALB). The INTA and INTB output pins can be configured as active-high, active-low, or open-drain, and can mirror each other or operate independently. The three address pins (A0-A2) allow up to 8 MCP23017 devices on one I2C bus, providing 128 I/O channels. The QFN-28 package is 70% smaller than the DIP-28, critical for space-constrained designs.