LCD display not working

I have connected my 16x2 LCD as dictated in the Arduino IDE "hello world" example yet only the backlight comes on. No characters are displayed. What could be the problem?

What Arduino model (Uno, Due, Mega, ...)

What LCD Model?

What Arduino model (Uno, Due, Mega, ...)
What LCD Model?

Even more important would be: what circuit did you actually use (as opposed to what circuit did you attempt to use), and what code did you actually use (as opposed to what code did you attempt to use?


I used an LCD display compatible with Hitachi HD44780 driver. The connections are as given below. I also connected pin 1 of the LCD to ground, and pin 2 to 5V. I also connected pin 15 and 16 to ground and power.

/*LiquidCrystal Library - Hello World
 Demonstrates the use a 16x2 LCD display.  The LiquidCrystal
 library works with all LCD displays that are compatible with the 
 Hitachi HD44780 driver. There are many of them out there, and you
 can usually tell them by the 16-pin interface.
 This sketch prints "Hello World!" to the LCD
 and shows the time.
  The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)
 Library originally added 18 Apr 2008
 by David A. Mellis
 library modified 5 Jul 2009
 by Limor Fried (
 example added 9 Jul 2009
 by Tom Igoe
 modified 22 Nov 2010
 by Tom Igoe
 This example code is in the public domain.

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:

What Arduino model?

Oh sorry I forgot to mention. It's an Arduino UNO

I used an LCD display compatible with Hitachi HD44780 driver.

OK: here’s where we stand.
1- you haven’t posted a link to where you got the LCD
2- you haven’t posted a link to the data sheet for the LCD
3- you haven’t even given us the part number of your LCD
4- you haven’t posted a photograph of your setup
How do you expect us to do any real troubleshooting?


Hi wambui,
Is there anything on the display, even solid squares? Have you fiddled with the contrast pot, you know the one between the power rails and the wiper on pin 3 of the LCD? which I don't think you mentioned!

You may need a low rated resistor in the backlight supply too, can be very bright, but short lived otherwise

Hope that helps.


A working substitute for the contrast pot is a 4K7 resistor from pin 2 to pin 3 and a 330R resistor from pin 3 to ground. The Vee or contrast pin should be about .3 - .7 Volts above ground. The resistor combination makes 5K of resistance and thus the current through the divider ~1 mA and that makes the voltage across the 330R resistor .33 volts.
E = .001 X 330R = .33V Edited for clarity. Doc


We haven't even established if he is correctly identifying the LCD pins. It's a good possibility that he has an LCD with a non-standard pinout but we won't know for sure until he gives us more information.


Thanks guys :slight_smile: . I'm a girl btw. The pin layout of my LCD is as follows:

  1. Vss
  2. Vdd (+ve)
    3 Vo
  3. Register select
  4. Read/write
  5. Enable
  6. Data 0
  7. Data 1
  8. Data 2
  9. Data 3
  10. Data 4
  11. Data 5
  12. Data 6
  13. Data 7
  14. Backlight anode (+ve)
  15. Backlight cathode (ground)

It's a little hard to diagnose without more concrete details unfortunately.

Can you either draw up the circuit, or post a photograph of how you have it layed out?

Also, while the pinouts are useful, more useful would be the Manufacturer and Model number of your LCD.

Thanks guys. I'm a girl btw.

Did you notice the 'alien' icon next to your name? That means that you didn't provide your gender when you did your profile. You didn't specify your location either .

The pin layout of my LCD is as follows:

But the actual pins may not be where you expect them to be.

If you want any useful help you are going to have to provide the information that we have requested.