LCD problems every now and then

Dear all,

I have some troubles with an HDD44780 compatible display (NAN YA LMM62S125A1D) : I use the LiquidCrystal library and the display works fine with it, but every now and then, when I turn on the whole setup, the display is not working (every character is filled with a very light grey box). Sometimes it helps to press the reset button (several times). Turning the unit off and on again a couple of times always works eventually. Any suggestions what could be the problem? Thanks for your time.


If you search the forums, you'll find a few threads with similar trouble reports. The code that initialises the LCD does not use the LCD's Ready bit, but uses time delays. These time delays are slightly too short for some versions of the HD44780 chip, and result in improper initialisation, as you have noted.

Keep in mind that some LCD displays need a long power-up delay. There is currently no support for this in the LiquidCrystal library. I would suggest moving the initialization code, currently in the constructor, to a new separate public method called “init”, which could be called in the setup routine after a delay that is long enough (according to LCD manufacturer).