I2C Adapter for Character LCD – PCF8574 (A)

Original price was: CAD 2.97.Current price is: CAD 1.78.

No backorders during sale.

Availability: In stock SKU: 26619


I2C Adapter for Character LCD fits right on the back of standard LC character display modules with 1 x Hitachi HD44780 or compatible display controller. The on-board PCF8574 or PCF8574A 8-bit I/O expander encodes the signals for the 4 data bits, the read/write select, register select, the enable signal, and the backlight-ON signal.

The supported I2C addresses depend on the version of the expander IC – please refer to the manufacturer PDF or find plenty of information online (for example Arduino forum).

When connected to an Arduino, for example, the function of every pin can be easily modified by changing the parameters in your Arduino sketch.

Additional features:
– on board transistor to drive a LED backlight
– 3 solder jumpers for address selection
– jumper to turn on backlight continuously
– generator for contrast voltage
– contrast control potentiometer

The pinout on the I2C Adapter for Character LCD is as follows:
1 – VSS (ground)
2 – VDD (+5V)
3 – contrast voltage
4 – RS (register select)
5 – R/W (read/write)
6 – Enable
11 – Data 4
12 – Data 5
13 – Data 6
14 – Data 7
15 – LED[+]
16 – LED [-]

Pins 7, 8, 9 and 10 are not connected to your display because not used in 4-bit data mode.

Additional circuit design information: The I2C bus on development boards like the Arduino series of boards doesn’t have the necessary pull-up resistors already installed. To make the I2C connection happen, you will need pull-up resistors from VDD to SDA and SCL. The value of these resistors is not critical, as long as the connections are short and the data rate low. For just 1 or 2 displays on 5V logic level is a value of 2k to 20k a good choice.

5 reviews for I2C Adapter for Character LCD – PCF8574 (A)

  1. 5 out of 5

    David Villeneuve (verified owner)

    I used this with an LCD2004 character display driven by an ESP8266. ESPHome handles the display and this interface module directly. Note that the display requires 5V, not 3.3V, so the VDD connects to 5V. I used a level shifter module to shift the 3.3V I2C bus signals to 5V.

  2. 5 out of 5

    brian.james (verified owner)

    Well, I’m an idiot. If there are any other idiots out there reading this section looking for help, here it is.
    the potentiometer in the back (Blue P103) will control the contrast of the lcd.print. I’m using the NANO
    GND to GND. 5V to VCC. A4 to SDA, A5 to SCL.

  3. 5 out of 5


    These worked well to provide I2C from Arduino to my LCD.

  4. 5 out of 5

    Sam S.

    Works as expected.

  5. 4 out of 5

    shaun.lovell (verified owner)

    The library suggested in the docs may not be available. I find the HD44780 library by Bill Perry works beautifully, using the hd44780_I2Cexp sub-class, which is written for the PCF8574. It auto-detects the I2C address (with provision for specifying the address or addresses of multiple displays) and the configuration between the PCF8574 and the display. Read more at https://forum.arduino.cc/t/newliquidcrystal-library/676274

Add a review