Adafruit
Adafruit PCF8574 I2C GPIO Expander Breakout
The Adafruit PCF8574 GPIO Expander Breakout is an affordable 8-channel I2C GPIO expander that adds extra digital I/O to any microcontroller project. Simply c...
The Adafruit PCF8574 GPIO Expander Breakout is an affordable 8-channel I2C GPIO expander that adds extra digital I/O to any microcontroller project. Simply connect over I2C and control up to 8 additional pins for buttons, LEDs, or other digital peripherals — no extra GPIO-rich board required.
The PCF8574 uses an unusual open-drain architecture — there is no pin direction register. Each pin is either a lightly pulled-up input (100K pull-up, reads high by default) or a strong 20mA ground-sinking output. Arduino and CircuitPython libraries abstract this away, letting you use familiar input/output modes. With three I2C address jumpers, you can chain up to 8 expanders on a single bus for 64 total GPIO.
Key Features
- 8 I/O Pins – Each pin can act as a pulled-up input or a ground-sinking output
- 3 Address Jumpers – Up to 8 expanders on one I2C bus for 64 total GPIO
- IRQ Output – Automatic interrupt alert when any input pin changes value
- Open-Drain Architecture – 100K pull-up inputs and 20mA sink outputs (no direction register)
- STEMMA QT / Qwiic – Solderless STEMMA QT connectors for easy daisy-chaining
- Breadboard Friendly – Standard 0.1″ header pinout with mounting holes
How the Pins Work
- Buttons/Switches – Connect one side to the PCF8574 pin and the other to ground. Pin reads high when open, low when pressed
- LEDs – Connect the LED anode to positive voltage through a resistor. The PCF8574 sinks current to ground to turn the LED on
- Digital I/O – Light pull-up acts as logic high output; strong ground acts as logic low output
Ideal For
- Adding extra buttons, switches, or keypads to I2C-equipped boards
- Expanding LED or relay control beyond available GPIO
- Multi-expander setups requiring up to 64 digital I/O pins
- Projects needing interrupt-driven input change detection
Also Consider
- MCP23017 I2C GPIO Expander – 16 channels with full input/output direction control
Resources
Jargon buster
Plain-language definitions for the technical terms used above.
- Address jumpers
- Address jumpers are small solder pads or links used to change a device’s bus address. They matter when you want to connect multiple identical displays to the same controller without their addresses conflicting.
- breakout
- A breakout is a small circuit board that makes a tiny or hard-to-solder component easier to connect to with standard pins. It matters because this OLED module can be wired into a microcontroller project without needing to solder directly to the display’s fine contacts.
- CircuitPython
- A beginner-friendly version of Python designed to run directly on microcontroller boards. If a product supports CircuitPython, you can often program it by copying code files onto the board rather than setting up a more complex toolchain.
- GPIO
- General-purpose input/output pins are microcontroller pins you can set in software to read signals, switch devices on and off, or connect to peripherals. The number of GPIO pins matters because it limits how many buttons, LEDs, sensors, and other parts you can wire directly to the board.
- I2C
- I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
- IRQ
- Short for interrupt request, a signal pin a device uses to get a microcontroller’s attention when something needs handling. It matters here because I2C communication with the sensor requires connecting the IRQ pin to a suitable input pin.
- LED
- A light-emitting diode is a small electronic component that lights up when current flows through it in the correct direction. In this kit, LEDs create the flashing effect, so polarity and correct soldering matter for the project to work.
- microcontroller
- A microcontroller is a small computer on a chip that runs your program and controls connected inputs and outputs. For this product, it is the part that reads buttons and sensors, drives the display and speaker, and communicates over Bluetooth.
- Qwiic
- Qwiic is a plug-in connector system for I2C devices that uses small 4-pin cables, so you can connect compatible sensors without soldering. It matters because your controller or adapter also needs Qwiic, or you will need a cable or breakout to wire it up.
- STEMMA QT
- A small plug-in connector system for I2C boards that lets you connect compatible sensors and controllers without soldering. It matters because it can make wiring faster and less error-prone, especially when adding several small modules to a project.
Find this product in
Brands
Related Tutorials
Free guides on learn.littlebird.com.au