PCF8574 and I/O Bus Expanders

I2C bus and PCF8574
This graphics display adapter communicates over I2C.

Every so often, a new innovation comes barrelling into the electronics industry and remains useful for decades to come. Almost 40 years after it was introduced, the inter-integrated circuit (I2C) protocol is still a popular low-speed signaling standard for interfacing between host controllers, sensors, slave components, and much more. Even the most advanced processors and SoCs include an I2C interface for connecting with a range of other components.

The 2C interface will continue to remain important for interfacing with lower speed legacy systems going forward, but you may need to expand the bus width for interfacing with certain components. Expanding to an 8-bit or 16-bit parallel bus uses a component like the PCF8574, which allows an I2C bus to interface with GPIO-limited components. This is just one of the many reasons to consider using a PCF8574.

PCF8574 Specifications

The PCF8574 is one of those components with multiple variants from multiple manufacturers, so it can be difficult to find the best component for your needs. Currently, there are four manufacturers producing the PCF8574: Texas Instruments, NXP Semiconductors, Nexperia, and Toshiba. These components have a number of common characteristics, as well as different features and specifications.

The clock speed of a PCF8574 is intended to match the standard operating speed in the I2C specification. Most PCF8574 variants run at 100 kHz data rate, which is the standard speed in the I2C specification. Some PCF8574 components can interface with an I2C bus in fast mode (400 kHz) or high-speed mode (3.4 MHz). Although the PCF8574 operates at relatively low speed, the parallel output makes this component ideal for interfacing with a variety of parallel interfaces, such as keypads, sensors, and displays.

The PCF8574 has a standard set of pins and block diagrams. The table below shows these pin names and functions.

Pins Function
VCC and GND Power and ground, respectively.
GPIO pins GPIO pins for the parallel bus IO. Most components have 8-bit output, but some expand the bus width to 16 bits. For 16 bit components, the IOs could be divided into 2 channels (8 bits each).
AD0-AD2 Address pins, tied directly to PWR or GND.
SDA and SCL I2C inputs (same names as used in the I2C specification).
INT Active low open-drain interrupt pin (output): this can be connected to the interrupt input on an MCU.

The common specification for all PCF8574 components is their input power (2.5 to 6 V DC) and signal level (I2C standard). These components require the SDA and SCL lines to have 10 kOhm pull-up resistors to provide active low functionality. PCF8574 components come in PDIP, SOP, QFN, and similar packages. Other specifications in different variants include ESD ratings, temperature ratings, and other absolute maxima.

What Does a PCF8574 Do?

Although PCF8574 models differ slightly in features and specifications, they are all meant to perform the same function: expand a 2-wire I2C bus to a parallel bus with larger bit width. In other words, this component converts a serial bit stream to parallel data. The output is then addressed using the AD0-AD2 input pins on the PCF8574 (3 bits = up to 8 devices).

If you’re using a PCF8574 with a common MCU platform, such as Arduino, libraries for interfacing with the PCF8574 may be available from the MCU vendor. This gives designers a convenient way to quickly bring a PCF8574 into common MCU platforms. If libraries are unavailable, you’ll need to program your interface into your firmware. Be sure to pay attention to the addressing scheme for pins AD0-AD2 in your PCF8574 datasheet.

I2C bus and PCF8574
Block diagram for Texas Instruments PCF8574 IO bus expander.

There are other I2C bus expander components basically performing the same function (serial to 8-bit or 16-bit parallel conversion), although they vary in terms of address width and other features. As an example, the PI4IOE5V9539 from Diodes Incorporated only uses 2 address pins, and it includes a reset pin for clearing memory without power cycling. Other components, such as the PCA9654 from ON Semiconductor, perform the same functions as a PCF8574 with the same pinout.

Where to Find PCF8574 Symbols and Footprints

The different bus expander options can get confusing, which is why a good component search engine is important to use in your search for the perfect component. You can also find CAD models, datasheets, pricing, distributor information, and specifications for your PCF8574 component within a quality search engine. Rather than paying for component creation services, you should be able to download manufacturer-verified symbols and footprints in a variety of file formats for free.

Arduino I2C-to-GPIO bus expander and PCF8574
Small Arduino I2C-to-GPIO bus expander with the PCF8574T from NXP Semiconductors.

I2C has been around for a long time, and new components using the I2C interface are still coming onto the market. If you need to expand your I2C bus and save board space, consider using a PCF8574. 

If you need to expand your I2C bus and save board space, you can find a PCF8574 and other components when you use the parts search feature in Ultra Librarian. Register today for free!

UL-Icon.png

The Ultra Librarian Team

Ultra Librarian offers the world’s largest PCB CAD library, putting cutting-edge materials at your fingertips so you can build better products faster—all for free.

Related Posts

If you’re looking for any of our component footprints or models, we have readily available and free options for you and your design team. Search our library for the solution you’ve been looking for.

Free Design Resources

Ultra Librarian is the worlds largest online – and always free – PCB CAD library. Build products better, faster, and more accurately with easy access to vendor-verified symbols, footprints, and 3D models. Register today to start searching the right components for your next design.

Recommended