GPIO expander · TI/NXP PCF8575

PCF8575 — i2c address & wiring

16-bit quasi-bidirectional I/O expander — the PCF8574 with twice the pins.

Key facts

PCF8575 at a glance

i2c address
0x200x210x220x230x240x250x260x27
address-selectable via pins/jumpers
Logic voltage2.5–5.5 V
Typeexpander
PartTI/NXP PCF8575
Ships withgeneric modules — plain 0.1″ headers, no connector system
DatasheetTI/NXP PCF8575 — manufacturer documentation ↗

The chip

What the TI/NXP PCF8575 actually is

16-bit quasi-bidirectional GPIO expander with an i2c interface and open-drain interrupt output — the wider sibling of the 8-bit PCF8574. Provides 16 general-purpose I/O lines with minimal software overhead for driving relays, LEDs, buttons and keypad matrices.

Watch out: It shares the 0x20–0x27 address range with the 8-bit PCF8574, so a bus scan can't tell them apart — and their protocols differ (the PCF8575 reads and writes two data bytes, the PCF8574 one). Point PCF8574 code at a PCF8575 and half the pins are ignored. Track which chip is on which address yourself.

Wiring

How to connect the PCF8575

HOST · Arduino / ESP32 / Pi PCF8575 3V3/5V VCC VCC · 2.5–5.5 V GND GND GND SDA SDA SDA · data SCL SCL SCL · clock 0x20–0x27 pull-up resistors to VCC on SDA & SCL — usually already on the breakout

The PCF8575 talks i2c at address 0x20 (up to 8 selectable addresses, handy when you need more than one on the same bus). It runs at 2.5–5.5 V, so match your host's logic level — if your host is 5 V and a board on the bus is 3.3 V-only, add a level shifter. Use the compatibility checker to confirm the exact cable for your setup.

Because the address is selectable, you can run several PCF8575 boards on one bus by setting each to a different address — no extra wiring beyond the shared SDA/SCL.

Wiring is the usual four: power, ground, SDA and SCL, plus pull-up resistors — almost always already fitted on the breakout. Nothing showing up? Run an i2c scan first; if the bus is silent, the 7-step checklist finds it faster than guessing.

Go deeper

Guides covering the PCF8575

Alternatives

Other gpio expander boards

Watch the bus

Boards that clash with the PCF8575

These want an address the PCF8575 also answers (0x23), so they can't share a bus with it untouched. If one is address-selectable, strap it elsewhere; if not, the conflict guide covers the multiplexer and second-bus routes, and the collision roundup explains why a scan won't warn you.

Get one

Questions

PCF8575 i2c FAQ

What is the PCF8575's i2c address?

The PCF8575 uses 0x20 or 0x21 or 0x22 or 0x23 or 0x24 or 0x25 or 0x26 or 0x27, selected with an address pin or solder jumper on the board. If a scan turns up something unexpected, our i2c address list names the usual suspect for every address.

What voltage does the PCF8575 run at?

2.5–5.5 V logic. That range covers both 3.3 V and 5 V hosts, so it drops onto a Pi, ESP32 or Arduino without a level shifter.

Can I use two PCF8575s on one i2c bus?

Yes — set each one to a different address (0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27) using its address pin or jumper, then wire both to the same SDA/SCL. That gives you up to 8 on a single bus before you need a multiplexer.

Does the PCF8575 come as a plug-together breakout?

Not in the mainstream connector ecosystems — PCF8575 modules are generic boards with 0.1″ headers, so you'll be soldering headers and running jumper wires to SDA, SCL, power and ground.

What should I watch out for with the PCF8575?

It shares the 0x20–0x27 address range with the 8-bit PCF8574, so a bus scan can't tell them apart — and their protocols differ (the PCF8575 reads and writes two data bytes, the PCF8574 one). Point PCF8574 code at a PCF8575 and half the pins are ignored. Track which chip is on which address yourself.