The MCP23017 provides 16-bit, general purpose parallel I/O expansion for I2C bus applications. The MCP23017 consists of multiple 8-bit configuration registers for input, output and polarity selection. The system master can enable the I/Os as either inputs or outputs by writing the I/O configuration bits (IODIRA/B). The data for each input or output is kept in the corresponding input or output register. The polarity of the Input Port register can be inverted with the Polarity Inversion register. All registers can be read by the system master.
The 16-bit I/O port functionally consists of two 8-bit ports (PORTA and PORTB). The MCP23017 can be configured to operate in the 8-bit or 16-bit modes via IOCON.BANK.
There are two interrupt pins, INTA and INTB, that can be associated with their respective ports, or can be logically OR’ed together so that both pins will activate if either port causes an interrupt.
GPIO expanders provide easy I/O expansion using standard serial interfaces. GPIO products are used to increase the I/O on an MCU or provide remote I/O using a serial interface. Great for adding extra GPIO pins to the Raspberry Pi.
Operating Voltage: 1.8 – 5.5V
Operating Temp Range: -40 to 125°C
Max. Bus Frequency (kBits/s): 1700
Stanby Current: 1 µA (max.)
No. of Pins: 28
No. of I/Os: 16
Package: 28-pin PDIP
1 x MCP23017 IO Expander