I²C GPIO expander for mixed-voltage buses
The PCF8574ADWG4: It runs on a supply from 2.5V to 6V, so it bridges 3.3V and 5V logic domains without a level shifter on the I²C lines. The 8 I/O pins are push-pull, each sourcing 1 mA and sinking 25 mA — enough to drive an LED directly or switch a small relay through a transistor. A dedicated interrupt output (INT) flags the host when an input changes state, saving polling cycles in the firmware.
The 2.5V to 6V supply range covers both 3.3V and 5V systems. The I²C interface follows the supply rail, so a 3.3V-powered PCF8574ADWG4 presents 3.3V logic levels on SDA and SCL — no extra pull-up voltage divider needed. At 5V supply, the I/O pins swing rail-to-rail, which matches standard 5V microcontroller inputs.
I²C bus speed and address configuration
I²C interface runs at 100 kHz standard mode. The PCF8574A variant uses a different address block than the base PCF8574 — three address pins let you set one of eight addresses. POR ensures outputs default high after power-up.
The wide-body variant provides better clearance for manual probing and rework compared to the narrow SOIC-16.
For dual-sourcing resilience, the base PCF8574 (without the 'A' suffix) is pin-compatible but uses a different I²C address range — verify your firmware address map before substituting.
