Raspberry PI: Connecting a HD44780 Display over I2C Bus

some application, i.e. XBMC can show informations on a display by using LCDproc as driver.

This post describes a way to connect a HD44780 display to a Raspberry PI  by i2c bus.

Let’s start with the physical layer. This is the overview schematic on how to connect the display to a Raspberry PI.

Raspberry PI Connecting a HD44780 Display over I2C BusBased on these I developed small board with a 6 Pin header which is Pin compatible to the Raspberry PI. So a simple 6 pole ribbon cable can be used to connect the HD44780 Display to the fruit.
Here is my PCB. First the schematic.

and my board layout. Unfortunately there are a lot HD44780 models available and the location and the direction of the pins are different, so you have to adapt the layout to the specification of your display.

A short description of the PCB.
The header pins in detail:

  • Pin1  is the 3.3V Power Supply for the I2C Busextenter PCF8574A
  • Pin 2 is the 5V Power Supply for the display
  • Pin 3 I2C SDL
  • Pin 5 I2C SCL
  • Pin 6 GND

Raspberry PI Connecting a HD44780 Display over I2C Bus Schematic

All PCF8574 I2C hardwareaddress  pins are connected to GND, therefore the I2C Address is only defined by the used variant of PCF8574:
PCF8574 = 0x20
PCF8574A = 0x38 (I use this one)

The PCF8574 runs at 3.3V because all GPIO pins of the raspberry are  designed to handle a maximum of 3.3v. Voltages greater than 3.3V can damage the I/O controller.

I have installed the raspbmc mediacenter on my Raspberry pi. raspbmc is a minimal debian based linux distribution for multimedia purposes.

To get the display running, lcdproc must be installed and configured. Login the your raspberry by ssh and get a root shell


For more detail: Raspberry PI: Connecting a HD44780 Display over I2C Bus

Scroll to Top
Read previous post:
An MSF Atomic Clock for the Raspberry Pi

The project is connected to GPIO 15 input pin 1 of my Raspberry Pi interface board. There is nothing special about...