RPi Tutorial EGHS:Alpha-Numeric Display

This page is part of a work in progress.

Warnings
While most of these circuits may interface directly to the RPi, the use of a buffered interface (such as the one supplied by the Gertboard) is recommended which will help protect against damage. Alternatively, experiment with one of the Alternative Test Platforms.

'''Extreme caution should be exercised when interfacing hardware at a low level, you may damage your RPi, your equipment and potentially yourself and others. Doing so is at your own risk!'''

Aims
This tutorial is closely based on the excellent work done by Gaurav Chaudhary, on his blog 16x2 Char LCD with TI MSP430 Launch Pad.

The purpose of this tutorial will be to adapt the setup for use with the RPi, and to further develop the code for easier interfacing.

In addition to this, the tutorial will adapt the follow-up post 16x2 Serial LCD (Two Wire) with PIC12F675 for use with TI MSP430 Launch Pad and ultimately the RPi.

This would provide a useful standard for connecting an LCD display to the RPi using up just 2 GPIO pins, allowing easy debugging even for a setup which otherwise does not use a display.

Clearly there is no sense in replicating everything here, so the tutorial will focus mainly on the second part and also (when possible) how to translate this onto the RPi.

It is recommended, that you take the time to read through the above blog posts and, if interested, I recommend looking through the rest of Gaurav Chaudhary's posts too.

Note: Until RPi devices are available, I can not confirm this will work on a real RPi. For now, I shall be using the TI LaunchPad (see Alternative Test Platforms for details) to test the hardware on (as it is cheap and the logic levels similar).

Theory
The theory of operation is covered very well on Gaurav Chaudhary's blog post for 16x2 Char LCD with TI MSP430 Launch Pad.

The circuits will be focused on the setup that will be required for running these Alpha Numeric Modules with the RPi (should be identical to TI Launchpad setup).

For this setup, the Powertip PC 1602-H module (similar to this one) will be used (simply because I already had one), however most Alpha Numeric LCD displays use the same Hitachi HD44780 based driver (or similar) will be suitable (just take note of the pinouts if they are different).

Both circuits, will drive the LCD using a 5V supply while applying 3.3V logic to the data and control pins, since while lower voltage displays are available, the 5V ones are the cheapest and we have more current available through the RPi via the 5V line anyway.

Circuit 1 - Alpha-Numeric LCD Module via 6 GPIO outputs
Note: In order to control the LCD Display using 4-bit data, the top 4 data lines are used D4-D7 of the LCD.

PC1602-H Pin Connections

With the exception of possibly a variable resistor across +5V and GND, connected to pin 3 (Vo - Contrast) if required, no additional components are needed(the GPIO connections can be connected directly to the processor (i.e the RPi) GPIO pins.

The Software
While the RPi is not available, I can only confirm the TI LaunchPad code works for me.

TI LaunchPad
Sample test code for LCD Test Module (tested on TI MSP430G2553 device).

Circuit 1 - 6 GPIO - Pin Mapping
Code: