The PCF857x series consists of I²C-based general-purpose I/O (GPIO) expanders manufactured by NXP and Texas Instruments. They allow microcontrollers (such as Arduino, ESP32, or Raspberry Pi) to control multiple digital pins with only two wires: Serial Data (SDA) and Serial Clock (SCL).
| Feature | PCF8574 / PCF8574A | PCF8575 |
|---|---|---|
| GPIO Count | 8-bit (8 pins) | 16-bit (16 pins) |
| I²C Base Address | 0x20 (PCF8574) / 0x38 (PCF8574A) | 0x20 |
| Max Devices on 1 Bus | 8 units | 16 units |
| Operating Voltage | 2.5V to 6V | 2.5V to 5.5V |
| Interrupt Output | Yes (Open-drain INT) | Yes (Open-drain INT) |
The current limits of the PCF857x are heavily lopsided because of its quasi-bidirectional architecture. It handles current entirely differently depending on whether you are sinking current (outputting 0/LOW) or sourcing it (outputting 1/HIGH).
The I²C LCD adapter utilizes the PCF8574.
8/16-Bit I/O Extension Pins
| Pin | Function | Typical Target | Voltage Role |
|---|---|---|---|
| VCC | Microcontroller (Logic) Side | Connect to your MCU's power pin (e.g., 3.3V or 5V). | Sets the operating reference voltage for the I²C communications line (SDA/SCL). |
| VDD | Peripheral (Device) Side | Connect to the external hardware power (e.g., 5V). | Directly sets the high voltage logic level of the 16 target output/input pins (P00–P17). |
The Crucial Condition: Check the Solder Jumper
For this dual-voltage (3.3V/5V) configuration to work safely, the onboard VCC-VDD solder jumper must be open (disconnected).
To assign a specific 7-bit hex address, use a soldering iron to connect the center pad of each group to either GND or VCC.
| A2 Status | A1 Status | A0 Status | Resulting Binary Offset | Hex I²C Address |
|---|---|---|---|---|
| GND (Open) | GND (Open) | GND (Open) | 000 | 0x20 (Default) |
| GND (Open) | GND (Open) | VCC (Bridged) | 001 | 0x21 |
| GND (Open) | VCC (Bridged) | GND (Open) | 010 | 0x22 |
| GND (Open) | VCC (Bridged) | VCC (Bridged) | 011 | 0x23 |
| VCC (Bridged) | GND (Open) | GND (Open) | 100 | 0x24 |
| VCC (Bridged) | GND (Open) | VCC (Bridged) | 101 | 0x25 |
| VCC (Bridged) | VCC (Bridged) | GND (Open) | 110 | 0x26 |
| VCC (Bridged) | VCC (Bridged) | VCC (Bridged) | 111 | 0x27 |
Sinking Current (Output LOW / Connecting to Ground)
Sourcing Current (Output HIGH / Connecting to VCC)
This is the weak mode meant mostly for sensing state changes.
How to Correctly Wire Components
If you'd like to support the development of the site with the price of a coffee — or a few — please do so here.
Here's a handy tip: you can quickly save this page as a PDF by clicking “export to PDF” in the menu on the right side of the screen.
Connecting optocoupled relay modules to the PCF8575 is a common practice, but it requires strict electrical care. Because of the chip's asymmetrical quasi-bidirectional ports, a mistake in how you trigger the relay will prevent it from working entirely.
The Triggering Rule: Active LOW Only
For example, the HL-54 (4-channel 3.3V optocoupled relay module) can be directly connected to the PCF8575. Because the HL-54 is hardwired as an Active LOW module, it is perfectly suited to the PCF8575's current limits.
This page has been accessed for: Today: 1, Until now: 127