Connecting 2X16 LCD display to DUE


I’ve found some difficulties connecting 2x16 LCD GDM1602A display using standar LiquidCrystal library.
When connecting display using 4 data lines (LiquidCrystal(rs, enable, d4, d5, d6, d7) ) my LCD is beheavig as 1x16 - second line is blank.

If i use command:
lcd.begin(16, 2);
display is blank, he do not display any characters.
ocures in fine work but onli as 16x1 display

When I connect it with 8 data lines - behavior is the same


  • I’m using ide: 1.5.4
  • LiquidCrystal library version: 1.0

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
lcd.begin(16, 2);
// or
// lcd.begin(16, 1);
lcd.print(“hello, world!”);

void loop() {
lcd.setCursor(0, 1);

As i found in google GDM1602A should be identical as Hitachi HD44780 driver.

What do you think? What can i try to do now ?


Have you tried increasing the contrast, Your picture looks decidedly washed out It's the pot between 5 Vcc and ground goes to the contrast pin on the LCD. When properly adjusted for my tastes it is turned up until the 'display' block(s) are visible and then just backed down to the limit of visibility. This results in my eyes of the best possible display.
If you don't have a pot then a 4K7 resistor from V+ to the contrast or Vee pin and a 330R resistor from contrast or Vee to ground which should provide adequate contrast.



Issue solved. It turned out to be problem of contrast as Docedison suspected. When I used lcd.begin(16, 2); and looked realy close to screen with right angle I was able to se very pale characters. I changed pot and tried to adjust but with no succes.

All in all the main cause was that I have powered the display from 3.3V. And in this case I couldn't get right contrast when using lcd.begin(16, 2);. Switching to 5V resolved the case.

Thanks Docedison