PROJECT 2 – Driving a Liquid Crystal Display
You can use the Pi to drive a Liquid Crystal Display (LCD) to display all sorts of information: it could be date, time, system status, disk utilisation, MAC and IP address, etc.
The most common LCD is one based on the Hitachi HD44780 chip. This is an LCD controller and driver LSI device with embedded fonts and the ability to create custom characters. The LCD module and driver chip are supplied assembled and have a 14 or 16 pin connection to a PIC, Pi, PC, etc. This can be in a single row 1×14 or 1×16 edge connector or 2×7 or 2×8 0.1″ IDC connector. The complete assemblies are easily obtainable and many manufacturers make their own compatible LCDs so that the devices are entirely interchangeable at the control and functional level though not always with the same physical connection.
The HD44780 is the main driver chip but this is limited to two rows of eight characters each and so for larger LCD modules one or more slave Hitachi HD44100 chips are used. These convert the serial data from the HD44780 into parallel for passing to the display.
The circuit I used is the one provided by Matt Hawkins at raspberrypi-spy.co.uk. This uses a 4-bit interface to minimise the number of GPIO outputs required but has to send the high and low bit data in two write operations. I used Ciseco’s Slice of Pi board to expose the appropriate pins but you could just use single patch leads and connect directly to the 26-way header. The circuit diagram is shown here but a table of connections is below if you prefer that type of format. The connections in red are for the LCD’s backlight, if it has one. The 560R resistor is to protect the backlight in the event there is no built-in over-current protection.
For more detail: PROJECT 2 – Driving a Liquid Crystal Display