LCD Displays

I use LCD displays in many of my projects. The "standard" or most widely used LCD is a 2 line by 16 character alphanumeric display with a parallel interface to the processor, and a HD44780 controller. It is readily available and inexpensive. (PIC Example, AVR Example). This type of display comes in many flavors, typically from 1 to 4 lines and from 8 to 40 characters. It is simple to interface with your microprocessor if you have enough I/O ports available (only 4 of 8 data lines are needed) and either compilers provide support for them or libraries are available. You specify the port names you use and the number of rows and columns, usually in a header file. This display always has a 14 or 16 pin interface, 14 pins for the display and 2 more pins if there is a backlight.

Another kind of LCD display I have used has no decoder built in, and you have to drive each segment of each character yourself (much like an LED display). This example uses a simple, cheap 3 digit display, the Lumex LCD-S301C31TR (DigiKey 67-1788-ND). The advantage is low cost and power consumption. The disadvantage is the need for lots of I/O lines, and no backlight. Bigger displays with more digits are available, but some kind of decoder or multiplexer must be used.  Also the display is static, and requires periodic polarity reversal or else it fades out. A good write-up on the subject can be found here.

Then there is the KTM-S1201, a 12-digit mostly numeric display, which I have documented on a separate page here.

Many inexpensive displays have no backlight and depend on ambient light and a reflective layer behind the display for visibility. Others use a backlight to enhance the display in low light conditions. Still others need a backlight on or nothing will be seen. There is a lot of information on this on the internet; start with Wikipedia if you like. I find that backlighting improves the visibility greatly, but at the cost of power; typically a backlight requires 10mA or so at 5V. If power consumption is an issue a pushbutton can be used to activate the backlight.


Special care must be taken with displays with backlights. Some have current limiting resistors built in and some don't. If you need one and leave it out, your backlight will last about 1 millisecond and never work again. The display may not be completly useless, depending on the technology used by the display. To be safe, I place a 100 ohm resistor in series with the backlight and a variable power supply and start from 0 volts. I turn up the voltage and watch the current draw, quickly getting an idea what kind of backlight it is. Some need 10 or 47 or 120 ohms, some need nothing or a small resistance like 2.7 ohms. More on backlights from Wikipedia.


Dennis Che has written a great introduction to LCD displays, All About Character LCDs. I can't find a link to it anymore, so I placed a copy of it here.

Nokia 5110Update. I stumbled across an interesting and inexpensive graphical display in 2012/04, the Nokia 5110. It is 48 x 84 pixels, and the support code from the seller included a small alphanumeric font giving 14 characters and 6 rows, and a large numeric font giving 7 numbers and 2 rows. Power is limited to 2.7 to 3.3 Volt range. One vendor is Sparkfun, and the price was US$9.95. They may be available from other vendors, with various support code that is mainly Arduino based. My first project using this display was a clock using an ATmega88 and no RTC chip. The display is serial accessed, using the AVR's SPI port and 3 other control lines (plus backlight).

VE3LNY's Electronics Notebook Page