The PCF8575TS I/O Expander: Design and Application Guide for NXP's 16-bit I2C-bus GPIO Solution
In the realm of embedded systems and IoT design, a common challenge is the scarcity of General-Purpose Input/Output (GPIO) pins on a host microcontroller (MCU). As applications grow in complexity, the need to connect more sensors, actuators, and displays quickly exhausts the available pins. NXP Semiconductors' PCF8575TS provides an elegant and cost-effective solution to this pervasive problem. This 16-bit I/O expander leverages the ubiquitous I2C-bus (Inter-Integrated Circuit) protocol, enabling a host controller to gain 16 additional digital I/O ports using just two wires.
Architectural Overview and Key Features
The PCF8575TS is built around a simple yet powerful architecture. At its core, it features a 16-bit quasi-bidirectional I/O port. Each pin can be independently configured as an input or an output without a dedicated data direction register. In quasi-bidirectional mode, when a pin is set as an input, it features a weak internal pull-up resistor, allowing it to read the state of an external circuit without requiring an external resistor in many cases.
Communication is handled via the I2C-bus, with the device acting as a slave. The I2C-bus address is software-configurable using three address pins (A0, A1, A2), allowing up to eight PCF8575TS devices to be connected on the same bus, theoretically expanding a single MCU's two I2C pins to 128 I/O lines. The device supports standard (100 kHz) and fast (400 kHz) I2C modes, ensuring compatibility with a vast array of host processors.
A critical feature for real-world applications is the open-drain interrupt output (INT) pin. This pin is activated whenever a change of state occurs on any input pin, signaling the host MCU that it needs to read the input data. This interrupt-driven approach is vastly superior to constant polling, as it significantly reduces software overhead and allows the MCU to enter low-power sleep modes until an external event requires its attention.
Design Considerations and Application Circuit
Integrating the PCF8575TS into a design is straightforward. The typical application circuit requires minimal external components:
Power Supply Decoupling: A 100nF ceramic capacitor placed close to the VCC and VSS pins is essential for stable operation.
I2C Bus Pull-ups: Two pull-up resistors (typically 4.7 kΩ) are required on the SDA (serial data) and SCL (serial clock) lines.
Interrupt Handling: The INT pin can be connected directly to an interrupt-capable input pin on the host MCU.

When driving loads, it is crucial to understand the current-sourcing capabilities of the quasi-bidirectional outputs. Each pin can sink significantly more current (typically 25 mA) than it can source (typically 100 µA). Therefore, for driving LEDs, it is more effective to configure the output to sink current (connect the LED anode to VCC and the cathode to the PCF8575TS pin) rather than to source it.
Practical Application Examples
The versatility of the PCF8575TS makes it suitable for a wide range of applications:
1. Industrial Control Panels: Reading a large bank of tactile switches or controlling numerous status indicator LEDs.
2. Smart Agriculture: Monitoring a vast array of digital moisture sensors or controlling solenoid valves for irrigation systems.
3. Home Automation: Expanding I/O for central control units to manage lights, blinds, and security sensors.
4. Test and Measurement Equipment: Creating a scalable digital I/O card for controlling and monitoring devices under test.
In these scenarios, the PCF8575TS acts as a remote I/O hub, offloading simple digital tasks from the central MCU and simplifying the overall system design and PCB layout.
ICGOOODFIND
The PCF8575TS stands out as a quintessential solution for GPIO expansion. Its simplicity, combined with the power of the I2C-bus and the utility of its interrupt feature, makes it an indispensable component for designers. It effectively bridges the gap between pin-limited microcontrollers and I/O-hungry applications, enabling scalable and efficient system design with minimal hardware and software overhead.
Keywords:
I2C-bus, GPIO Expander, Quasi-bidirectional, Interrupt Output, NXP
