Electronic Pro Blog | Epro

PCF8574 I/O Expander: 7 Checks Before Buying

PCF8574 IO Expansion Board I2C-Bus Evaluation Development Module in Pakistan

A PCF8574 adds eight remote digital port bits to an I²C bus. It can be useful for buttons and low-current indicators when controller pins are limited, but its quasi-bidirectional ports behave differently from ordinary Arduino GPIO.

Before buying, check whether you need a general-purpose expansion board or an LCD backpack. Both can contain the same chip while exposing very different connectors and board wiring. This guide concerns the general I/O expansion module.

pcf8574 — representative Epro product image
Representative product image from Epro. Check the linked listing for the exact model and package.

PCF8574 price and board format

Listed itemPrice (PKR)Project role
PCF8574 IO Expansion Board I2C-Bus Evaluation Development Module in Pakistan280General-purpose eight-bit I²C expansion board

Price snapshot: Epro listings checked on 19 October 2026. Confirm the current price, availability, delivery charges and package quantity on the linked page before ordering. These are dated listing prices, not a quotation or an independent performance test.

The Epro PCF8574 expansion board is listed for adding remote digital I/O. Check the actual P0–P7 connections, address straps and supply labels. Do not assume a library written for a particular character-LCD backpack matches this board’s intended use.

1. Understand quasi-bidirectional operation

The Texas Instruments datasheet explains that each port uses a latch rather than a separate direction register. Writing a one releases the port into its weakly pulled-up state so it can also be read as an input.

Writing zero drives the port LOW. This is not equivalent to a strong push-pull HIGH output from an Arduino pin. If a button is connected to a port for input, software must leave that bit written HIGH instead of accidentally holding it LOW.

2. Match the chip suffix and address

A PCF8574 typically occupies a selectable address from 0x20 to 0x27. A PCF8574A uses a different address block, commonly 0x38 to 0x3F. Read the actual marking and straps rather than assuming a tutorial’s default address.

Two devices cannot independently respond at the same address on the same active bus. The advertised ability to expand many pins depends on unique addresses and a sound electrical bus, not merely connecting additional identical boards unchanged.

3. Keep the bus at a supported clock

The datasheet specifies a 100 kHz I²C interface for this device. A project that changes a shared bus to 400 kHz for another peripheral can create compatibility problems even though the PCF8574 worked in a simpler setup.

Document the common bus speed when combining modules. More I/O does not mean those remote pins can reproduce arbitrary fast GPIO timing, pulse capture or software-generated protocols without considering I²C transfer latency.

Newest in the store

4. Review supply and pull-up voltage

The linked datasheet gives a 2.5–6 V device operating supply range. A conventional 5 V Uno is a straightforward setting for a 5 V module demonstration, but a 3.3 V controller requires an appropriate electrical arrangement.

Check where SDA and SCL are pulled up. A board powered at 5 V may pull the bus to 5 V, which is not automatically safe for a lower-voltage controller. Stacking several boards can also change the effective pull-up resistance.

5. Use outputs for suitable low-current signals

The port can sink current for a small LED when wired with an appropriate series resistor, within per-pin and total-package limits. It should not directly power a motor, relay coil, large lamp or arbitrary load.

For the first experiment, use one modest indicator rather than eight maximum-current loads. Current ratings, total dissipation and the module’s construction all matter. A digital expander is not an H-bridge or a high-power driver.

6. Preserve every input bit when writing outputs

Each transfer writes a whole port byte. Code that intends to change one LED can accidentally write zero to a button bit and stop reading it properly. Maintaining a deliberate output byte makes the intended states easier to inspect.

Reading the port returns pin states, not a substitute for remembering the intended output latch. A grounded input bit should not be copied blindly into a later output byte if it needs to remain released for input use.

7. Start with one button and one LED

The PCF8574 Arduino button-and-LED guide uses Wire directly, leaves the input bit HIGH and checks I²C transactions. It provides a clearer first test than introducing an LCD library and guessing the backpack’s internal pin mapping.

Power up with harmless loads and check the default state before attaching other electronics. A functioning input expander is not a certified safety interlock, and software or bus failures need application-specific handling in a finished design.

Newest in the store

Leave a Reply

Your email address will not be published. Required fields are marked *