7-Segment LED Display PCF8574 I2C Arduino

Adding a serial data transfer capability to a 7-Segment LED Display can be done by using PCF8574 I/O Port expander with I2C interface. Arduino UNO controls the PCF8574 by sending display codes for each segment. Similar circuit based on PIC16F876 micro-controller can be found at this link. In this design common cathode display was chosen together with current boosting PNP transistors 2N3906. A standard Wire library was used to implement I2C routine, need to include it before compiling the sketch. Device address was set to 000 by connecting A0, A1, and A2 pins to ground. See schematic diagram in the next figure.
7-Segment LED Display PCF8574 I2C Arduino Schematic
This basic design can be easily expanded up to eight 7-Segment LED displays by adding more PCF8574 units. You’ll need to assign a different address to every I/O Port expander chip. Arduino code can be downloaded here.


In order to demonstrate this circuit operation I’ve built a simple counter from 0-9 with 1 sec delay as can be seen in a short video next.


Leave a Reply

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