16x2 character LCD not displaying second line of t

Hey all,

I’ve got an Arduino board wired up to a 16x2 character lcd, and it is not displaying the second line of text. I had it working fine when I was in my dorm room. Then I pulled all of the wires out, brought the kit home, reassembled it, plugged it into a different computer, and loaded up the same program file. Now its only displaying the first line of text.

Here is the code:

#include <LiquidCrystal.h>

const int BACK_LIGHT = 13; // Pin 13 will control the backlight

// Connections:
// RS (LCD pin 4) to Arduino pin 12
// RW (LCD pin 5) to Arduino pin 11
// Enable (LCD pin 6) to Arduino pin 10
// LCD pin 15 to Arduino pin 13
// LCD pins d4, d5, d6, d7 to Arduino pins 5, 4, 3, 2
LiquidCrystal g_lcd(12, 11, 10, 5, 4, 3, 2);

void setup()
digitalWrite(BACK_LIGHT, HIGH); // Turn backlight on.
// Replace ‘HIGH’ with ‘LOW’ to turn it off.
g_lcd.clear(); // Start with a blank screen
g_lcd.setCursor(0, 0); // Set the cursor to the beginning
g_lcd.setCursor(0, 1); // Set the cursor to the next row

void loop()

Here are some pictures of the LCD and board.

Do you guys think this is a wiring problem?

on a side note, the computers are running different FTDI drivers

Thanks for all your help!

I didn't check your wiring as different displays have different pin definition but try adding the following before using your display: lcd.begin(16, 2);


Use the "Insert Code" (#) button to make the code portion of your post more legible.

but try adding the following before using your display:
 lcd.begin(16, 2);

Of course you should use g_lcd.begin(16,2);

This should do the trick but it doesn't explain why the program allegedly worked earlier. Unfortunately the default configuration is for a 1-line display if the lcd.begin() instruction is not used. This is an unfortunate choice since virtually all LCD displays should be configured as 2-line, including most 16x1 displays.


Thanks, it works