Friday, June 20, 2008

No Name LCD

So as part of my shopping trip at Halted, I bought a Liquid Crystal Display. It's a 2x16 alpha-numeric display that I'm planning on hooking up to my Arduino (once it comes). Here is a good tutorial on hooking up LCDs to PICs, which will be helpful.

So step one is to try and figure out what I've got. I googled for every number on that PCB, and this is some cheap, old, no-name LCD.

The markings on the board are:


RU(R) E91964

Since there was no data sheets for the whole unit to be found, I needed another way to figure out the pin out on the board. Next step was to look at the two ICs on the back.

First chip:
7A2 U

Second chip:

Luckily, starting with the HD chip was a good call. Turns out this is a very popular LCD controller. It's a very OLD LCD controller, but it's still pretty popular. Here is a data sheet for the HD44780 series.

So on page 4, they show the pinout for the FP-80B package, and it was only a matter of following the traces on the PCB from the chip out to the edge of the board. That took care of the DB0-DB7 lines, the E, RW, and RS lines, and finally Vcc and GND. The Vcc and GND was a little more challenging because it went onto the front of the board, but luckily never slipped under the LCD itself, so I was still able to follow it.

FYI: It looks like the LC7930 is the LCD driver chip, where the HD44780 is the controller that handles the interface between the driver and the host device.

So finally, the contacts on the PCB are numbered from 1 to 14:
  1. GND
  2. Vcc
  3. Contrast - tie to ground with resistor
  4. RS
  5. RW
  6. E
  7. DB0
  8. DB1
  9. DB2
  10. DB3
  11. DB4
  12. DB5
  13. DB6
  14. DB7
So after all the tracing, the only pin left was #3, which I am guessing is the contrast control. To adjust this, I'll either hook it up to the center tap of a variable resistor between Vcc and GND, or just hook it up to a PWM pin on the Arduino.

DISCLAIMER: I don't have my Arduino yet, and have yet to test this pin out. If I happen to be wrong, and you toast your LCD, I'm sorry, but you can't hold me responsible. Use at your own risk, these are only a good guess.

Update: I've gotten my Arduino, hooked it up, and was correct on all pins. I got good results on the contrast pin by only grounding it with a 360 ohm resistor. By default it only displays one line, but Jeff Glass and I have been working on all of the commands to get it to do more.


  1. Been awhile since yer post, but I was just Goolging this LCD and found your site. I pulled it out of an Xrite DTP32 densitometer. Im about to embark on Arduino experiments myself, a total beginner.
    Did you have any posts/pix on yer results? I read this post but don't necessarily understand the meaning of the pinouts.
    thanks- G

  2. You'll want to refer to the Arduino LCD library documentation as to where to connect each pin. Since I last played with it, they've developed an official library, so you don't have to download third party ones anymore.

  3. Do you have a listing of your Arduino code? I have another LCD display that has the 14 pins and would like to try your code on it.

    Thanks in advance

  4. I don't have any specific code sitting around. It just uses the Arduino LiquidCrystal library: The environment ships with several examples in File - Examples - LiquidCrystal

  5. I got a LCD controller out of a Motorola Vanguard i found in a trash can , if the device is not broken , i hope to hook it up into my Arduino Uno and experiment a little with it. Your experience was very valuable for me.

  6. Hi Kenneth,

    thanks for sorting it out. I also use it in connection with an Arduino. I will use it during an Arsuino-evening in the radioclub in Ostend/Belgium.

    73's ON4RK Ronny

  7. Thank You!!!!!

    I have salvaged a very similar lcd out of an old fax machine that uses the same lcd driver. This is by far the most useful site I have found :)

  8. Hola amigo, muchas gracias por el dato que lo andaba buscando y no lo podia hallar.

    Saludos desde Tucuman-Argentina.