ProductsI2CGeneral Purpose I/O Expanders

I2C general purpose I/O expanders

Introduction
General purpose I/O expanders provide GPIO expansion for most microprocessor families allowing designers to save the GPIOs on microprocessors for other important functions.
As more features and processing requirements, such as LED control, hardware control monitors, and humidity sensors in the computing space are added to applications, the limited numbers of GPIOs on microprocessors are becoming more valuable. By implementing our I/O expanders, designers can utilize the microprocessor GPIOs for important functions and use the I/O expander for other duties including system monitoring, ACPI power switches, sensors, push buttons, LEDs, fans, etc.
GPIO are ideal for adding fan and LED control to systems. They are also ideal for monitoring system functions and accepting push-button inputs.

Typical Application

Features
All our I2C general purpose I/O expanders offer similar functionality and most have an INT output but several newer devices also have a RESET input or RESET and OE input. The INT output is used to signal the microcontroller when any of the inputs change state (1 to 0, or 0 to 1). The RESET input can be used to initialize the device to its default state without de-powering it. This is useful in situations where the I2C bus has a glitch that prevents proper transmission of data between the microprocessor and I/O expander. Incorrect data in the I/O expander is eliminated through resetting it. Other slave devices without a RESET input require their power supply to be lowered to 0V and then powered back up to VCC for the slave device to return to its default state which can be inefficient and time consuming in the application. The OE is used to "Hi-Z" the outputs without having to use I2C commands. This is useful in applications such as LED control where the OE pin can be connected to the microcontroller and all LEDs blinked or dimmed at the same time while the individually LEDs are controlled via the I2C bus.
Products

PCF8574(A) and PCF8575(C) Highlights

The PCF8574(A) and PCF8575(C) devices have an interrupt output, and the 8 or 16 I/O pins are used as inputs or outputs. An open-drain interrupt is activated when any input state differs from its corresponding input port register state and is used to indicate to the system master that an input state has changed. The outputs provide active sink current but are a current source to provide the source current. The PCF8574, PCF8575, and PCF8575C have the same I2C address while the PCF8574A has a slightly different fixed address allowing 16 devices (eight PCF8574A and eight PCF8574/PCF8575(C) in any combination) to be on the same I2C bus. The PCF8575C has open drain outputs and is optimized for automotive applications.

PCA8574(A) and PCA8575 Highlights

These are updated versions of the PCF8574(A) and PCF8575 that offer 400KHz operation over a VCC range of 2.3 to 5.5V with 5V-tolerance and the ability to sink 25mA per bit with all bits on (i.e., a total of 200mA for 8-bit products and 400mA for 16-bit products) over the -40 to +85°C temperature range.

PCA9500 Highlights

The PCA9500 is a is a replacement for the PCF8574 8-bit I/O expander and for the 24C02 2kbit serial EEPROM in one 16-pin package. The PCA9500 has the same footprint as the PCF8574 except the interrupt output has been replace by the EEPROM write protect. The PCA9500 has the same I2C addresses as the PCF8574 and 24C02 and is seen as two different slave devices by the bus master.

PCA9501 Highlights

The PCA9501 is a combination of the PCF8574 8-bit I/O expander and of the 24C02 2kbit serial EEPROM in one 20-pin TSSOP package. The four extra pins allow the interrupt output to be included in addition to the write protect and the three other pins are used to offer a total of six address pins allowing up to 64 of these devices to share the same I2C bus. It is seen as two different slave devices by the bus master with the I/O expander address starting with 1 and the EEPROM starting with 0. The PCA9500/PCA9501 devices are designed for telecom maintenance and control applications.

PCA9502 Highlights

The PCA9502 is an 8-bit I/O expander with configurable I2C or SPI host interface. The I/O pins offer standard CMOS input or output, and the input states are latchable.

PCA9505 and PCA9506 Highlights

The PCA9505 and PCA9506 are 40-bit wide GPIOs electrically identical to the PCA9539 including the interrupt output and reset input but include an Output Enable. The PCA9505 and PCA9506 are identical except that the PCA9505 has internal pull-up resistors on each pin while the PCA9506 doesn't.

PCA9534 and PCA9535 Highlights

The PCA9534/PCA9535 are identical to the PCA9554/PCA9555 except that there is no internal pullup resistor. They are useful in battery-powered applications to minimize current drain and in applications where the outputs need to be tri-stated at power up or where external pulldown resistors are used.

PCA9536 Highlights

The PCA9536 is identical to the PCA9554 except that it is a 4-bit instead of 8-bit GPIO in an 8-pin package, the I2C address is different/fixed, and there is no Interrupt Output.

PCA9537 Highlights

The PCA9537 is identical to the PCA9534 except that it is a 4-bit instead of 8-bit GPIO in a 10-pin package, the I2C address is different/fixed, and there is a Hardware Reset input in addition to the Interrupt Output.

PCA9538 and PCA9539 Highlights

The PCA9538/PCA9539 are identical to the PCA9534/PCA9535 except that the I2C address range is different, and the A2 address pin input has been replaced by a Hardware Reset input. The Hardware Reset input allows the device to be reset remotely if the I2C bus hangs up.

PCA9554(A) and PCA9555 Highlights

The PCA9554(A) and PCA9555 are footprint and I2C address-identical to the PCF8574(A) and PCF8575 but provide push-pull outputs with active source and sink current sources. Internal pull up resistors provide the source current to imitate the PCF8574(A)/PCF8575. Additionally, there are four sets of registers that are programmable and provide for configuration (I or O) control, input (value), output (value), or polarity (active high or low). Although pinout and I2C addresses are the same as the PCF857X series, software changes are required due to the command byte. The application note AN469 discusses these software changes.

PCA9557 Highlights

The PCA9557 features a hardware reset pin instead of the interrupt output that allows the device to be reset remotely should the I2C bus become hung up. The PCA9557 is an improved version of the PCA9556 and has the electrical characteristics of the PCA9554/PCA9554A.

PCA9558 Highlights

The PCA9558 is a highly integrated, multi-function device composed of a 5-bit multiplexed/1-bit latched 6-bit I2C EEPROM, an 8-bit I/O expander (open drain), and a 2kbit serial EEPROM with write protect. The multiplexer can be used to select digital information between a set of 5-bits of default hardware inputs and an alternative set of inputs provided by the I2C interface and stored in the EEPROM. Examples of this type of selection include processor voltage configuration or processor Vendor IDentification (VID) and DIP switch or jumper replacement since the settings can be easily changed via the I2C without having to open the cabinet and the non-volatile memory retains the settings when the power is turned off. The I/O expander function is used to control, monitor, or collect remote information or power LEDs. Monitored or collected information can be read through the I2C or can be stored in the internal 2kbit serial EEPROM. Control information can be programmed through the I2C or can be programmed through the EEPROM. Information such as card identification or revision/maintenance history can be stored in the EEPROM on every card and can be read or written via the I2C when required.

PCA9670 through PCA9675 Highlights

These are Fast-mode Plus (Fm+) versions of the PCA8574(A) and PCA8575 that offer 1MHz operation up to 540pF bus loading and, at lower speeds, up to 4000pF. Three address pins allow for 64 different addresses by using inputs of GND, VCC, SCL, and SDA. The PCA9674(A) and PCA9675 are drop-in upgrades to the PCA8574(A) and PCA8575. The PCA9670 and PCA9675 are drop-in upgrades to the PCA8574(A) and PCA8575. The PCA9670 and PCA9671 are identical to the PCA9674 and PCA9675 except that the interrupt pin has been replaced with a hardware reset pin. The PCA9672 and PCA9673 are identical to the PCA9674 and PCA9675 except that the A2 address pin has been replaced by a hardwre reset pin which limits them to only 16 different addresses.

PCA9698 Highlights

The PCA9698 is a 40-bit wide Advanced GPIO. Maximum frequency is 1000kHz. SDA output current is ten times stronger than normal to allow use in large area networks without the need for bus buffers. Each byte will change on acknowledge or wait for a stop condition, allowing you to update the output registers on multiple devices and then change all the outputs at once—which is great for large sign applications. Each pin can sink 25mA and all pins can be on (40 x 25mA = 1 amp) when using the HVQFN package. When used for sensing input, the inputs can be masked so you don't generate an interrupt. Three address pins allow for 64 different addresses by using inputs of GND, VCC, SCL, or SDA so you can control up to 2560 LEDs on one I2C bus. Additionally there is a GPIO All Call fixed address that allows you to turn on or off LEDs on all the GPIOs in the circuit with a single command sequence—which is great for lamp test or darking the array between displays. A hardware reset input will reset the device to its power up state. There is even an Output Enable pin that will tri-state the outputs which are selectable between push pull and open drain. There is no internal pull up resistor on the I/O pins.

Comparison Table A

Product
PCA8574(A) 8 2.3-5.5 400
PCA8575 16 2.3-5.5 400
PCA9500 8 2.5-3.6 400
PCA9501 8 2.5-3.6 400
PCA9502 8 2.3-3.6 400 15
PCA9505 40 2.3-5.5 400
PCA9506 40 2.3-5.5 400
PCA9534 8 2.3-5.5 400
PCA9535 16 2.3-5.5 400
PCA9535C 16 Open Drain 2.3-5.5 400
PCA9536 4 2.3-5.5 400
PCA9537 4 2.3-5.5 400
PCA9538 8 2.3-5.5 400
PCA9539 16 2.3-5.5 400
PCA9554(A) 8 2.3-5.5 400
PCA9555 16 2.3-5.5 400
PCA9557 8 2.3-5.5 400
PCA9558 8 Open Drain 2.3-5.5 400
PCA9670 8 2.3-5.5 1000
PCA9671 16 2.3-5.5 1000
PCA9672 8 2.3-5.5 1000
PCA9673 16 2.3-5.5 1000
PCA9674(A) 8 2.3-5.5 1000
PCA9675 16 2.3-5.5 1000
PCA9698 40 Open Drain 2.3-5.5 1000
PCF8574(A) 8 2.5-6.0 100
PCF8575 16 2.5-5.5 400
PCF8575C 16 Open Drain 4.5-5.5 400

Comparison Table B

Product Address Group # of Bits Type *
PCA9557 0 0 1 1 A2 A1 A0 R/W Group 3 8 PP/I
PCA8575 0 1 0 0 A2 A1 A0 R/W Group 4 16 Q
PCA9500 0 1 0 0 A2 A1 A0 R/W Group 4 8 Q
PCA9500 1 0 1 0 A2 A1 A0 R/W Group A Internal 2K EEPROM
PCA9505 0 1 0 0 A2 A1 A0 R/W Group 4 40 PP/Q
PCA9506 0 1 0 0 A2 A1 A0 R/W Group 4 40 PP/I
PCA9534 0 1 0 0 A2 A1 A0 R/W Group 4 8 PP/I
PCA9535 0 1 0 0 A2 A1 A0 R/W Group 4 16 PP/I
PCA9535C 0 1 0 0 A2 A1 A0 R/W Group 4 16 Open Drain
PCA9554 0 1 0 0 A2 A1 A0 R/W Group 4 8 PP/Q
PCA9555 0 1 0 0 A2 A1 A0 R/W Group 4 16 PP/Q
PCF8574 0 1 0 0 A2 A1 A0 R/W Group 4 8 Q
PCF8575 0 1 0 0 A2 A1 A0 R/W Group 4 16 Q
PCF8575C 0 1 0 0 A2 A1 A0 R/W Group 4 16 Open Drain
PCA8574A 0 1 1 1 A2 A1 A0 R/W Group 7 8 Q
PCA9554A 0 1 1 1 A2 A1 A0 R/W Group 7 8 PP/Q
PCF8574A 0 1 1 1 A2 A1 A0 R/W Group 7 8 Q
PCA9502 0 1 A1 A0 X X X R/W 16 Addresses 8 PP/I (4mA)
PCA9536 1 0 0 0 0 0 1 R/W Group 8 4 PP/Q
PCA9537 1 0 0 1 0 0 1 R/W Group 9 4 PP/I
PCA9558 1 0 0 1 1 1 A1 A0 R/W Group 9 8 Open Drain
PCA9538 1 1 1 0 0 A1 A0 R/W Group E 8 PP/I
PCA9539 1 1 1 0 1 A1 A0 R/W Group E 16 PP/I
PCA9501 0 A5 A4 A3 A2 A1 A0 R/W 64 Addresses 8 Q
PCA9501 1 A5 A4 A3 A2 A1 A0 R/W 64 Addresses Internal 2K EEPROM
PCA9670 Varies 64 Addresses 8 Q
PCA9671 Varies 64 Addresses 16 Q
PCA9672 Varies 16 Addresses 8 Q
PCA9673 Varies 16 Addresses 16 Q
PCA9674(A) Varies 64 Addresses 8 Q
PCA9675 Varies 64 Addresses 16 Q
PCA9698 Varies 64 Addresses 40 PP/I or Open Drain
* Notes:
  • PP/I = totem pole (push-pull) I/Os that are configurable as inputs or outputs with inversion, 25mA sink and 10mA source. No internal pull up resistor.
  • PP/Q = totem pole (push-pull) I/Os that are configurable as inputs or outputs with inversion, 25mA sink and 10mA source. 100 Kohm internal pull up resistor.
  • Q = quasi I/Os which are not configurable but minimize length of read and write communications and software complexity, 25mA sink and weak 100uA internal current source or 100Kohm internal pull up resistor.

I2C General Purpose I/O Expanders

Click for datasheet. Also, see datasheet disclaimer.
, , indicate product status. Click or for more or less detail.
 PCA8574Remote 8-bit I/O expander for I2C-bus with interrupt
 PCA8574ARemote 8-bit I/O expander for I2C-bus with interrupt
 PCA8575Remote 16-bit I/O expander for I2C-bus with interrupt
 PCA95008-Bit I2C I/O Port with 2-Kbit EEPROM
 PCA95018-Bit I2C I/O Port with Interrupt, 2-Kbit EEPROM, and Six Address Pins
 PCA95028-bit I/O expander for I2C/SPI bus
 PCA950540-bit I2C I/O port with reset, output enable, interrupt, and 100kΩ pull-up resistors
 PCA950640-bit I2C I/O port with reset, output enable, and interrupt
 PCA95348-Bit I2C Low Power I/O Port with Interrupt
 PCA953516-Bit I2C Low Power I/O Port with Interrupt
 PCA9535C16-Bit I2C Low Power I/O Port with Interrupt and Open Drain Outputs
 PCA95364-bit I2C I/O port
 PCA95374-bit I2C low power I/O port with interrupt and reset
 PCA95388-bit I2C low power I/O port with interrupt and reset
 PCA953916-bit I2C and SMBus low-power I/O port with interrupt and device/register reset
 PCA9539R16-bit I2C and SMBus low-power I/O port with interrupt and device-only reset
 PCA95548-Bit I2C I/O Port with Interrupt
 PCA9554A8-Bit I2C I/O Port with Interrupt
PCA9554ANDIL-16ProductionSOT38-1Pb-FreeMSL=1
PCA9554ADSO-16ProductionSOT162-1Pb-Free        
PCA9554ADBSSOP-16ProductionSOT338-1Pb-Free        
PCA9554ATSSSOP-20ProductionSOT266-1Pb-FreeMSL=1
PCA9554APWTSSOP-16ProductionSOT403-1Pb-Free        
PCA9554ABSHVQFN-16ProductionSOT629-1Pb-Free        
PCA9554ABS3HVQFN-16ProductionSOT758-1                
Family Functions Literature Models Support Docs Price Samples More...
 PCA955516-Bit I2C I/O Port with Interrupt
 PCA9556Not recommended for new designs; See PCA9557
 PCA95578-Bit I2C I/O Port with Reset
 PCA95585-Bit Multiplexed/1-Bit Latched 6-Bit I2C EEPROM and Octal SMBus Registered Interface with 256-Byte I2C EEPROM
 PCA95748-bit I2C-bus and SMBus, level translating, low voltage GPIO with reset and interrupt
 PCA957516-bit I2C-bus and SMBus, level-translating, low-voltage GPIO with reset and interrupt
 PCA9670Remote 8-bit I/O expander for Fm+ I2C-bus with reset
 PCA9671Remote 16-bit I/O expander for Fm+ I2C-bus with reset
 PCA9672Remote 8-bit I/O expander for Fm+ I2C-bus with interrupt and reset
 PCA9673Remote 16-bit I/O expander for Fm+ I2C-bus with interrupt and reset
 PCA9674Remote 8-bit I/O expander for Fm+ I2C-bus with interrupt
 PCA9674ARemote 8-bit I/O expander for Fm+ I2C-bus with interrupt
 PCA9675Remote 16-bit I/O expander for Fm+ I2C-bus with interrupt
 PCA969840-bit Fm+ I2C advanced I/O port with reset, output enable, and interrupt
 PCF8574Remote 8-Bit I/O Expander for I2C Bus
 PCF8574ARemote 8-Bit I/O Expander for I2C Bus with Alternate Slave Address
 PCF8575Remote 16-Bit I/O Expander for I2C Bus
 PCF8575CRemote 16-Bit I/O Expander for I2C Bus
More Information

Application Notes

Frequently Asked Questions

Links

Related Functions

Standard ICs quick find
Standard ICs sections