how to connect an HD44780 LCD to Raspberry Pi

suomeksi (in Finnish)

I have created a schematic and programs for connecting an HD44780-compatible LCD to Raspberry Pi. Four GPIO pins are required. I chose to control the LCD in 8-bit instead of 4-bit mode because I was not entirely comfortable with the latter.



(designed with TinyCAD, finished with GIMP, compressed with pngout)

list of components

how it works

see also: Wikipedia – Hitachi HD44780 LCD controller


The programs have been tested with a Raspberry Pi 2, Raspbian, Python 3 and a 20×4-character LCD.


solder side of veroboard (“triple-pad”)
component side of veroboard with layout marked
veroboard in rig
finished board with pin header connectors for Raspberry Pi and LCD (there is one wire under the chip)
clock running