I am developing an assembly application that includes a HD-44780 compatible 20x4 display over the I2C bus. After several attempts, I have finally managed to initialize the display in 4-bit mode and show a message, but after a few seconds the display seems to go crazy.

To eliminate the possibility of a bad initialization, I have tested the display with the Arduino example sketch I2C_Hello_World.ino, with the same result.

This 15 second video shows the behavior of the display

This is the sketch:

#include "Wire.h" // For I2C
#include "LCD.h" // For LCD
#include "LiquidCrystal_I2C.h" // Added library*
//Set the pins on the I2C chip used for LCD connections
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3,POSITIVE); // 0x27 is the default I2C bus address of the backpack-see article
void setup()
   // Set off LCD module
   lcd.begin (20,4); // 16 x 2 LCD module
//   lcd.clear();
   lcd.print("LEDMedia art digital");
   lcd.print("Traverser v.0.0.1");   
void loop()

Is this display damaged? Has anyone else come across this behavior? If the display is not damaged, is there a hardware or software reason to explain it?

Thanks for your help.

  • \$\begingroup\$ maybe, since you are not turning the backlight on and off i suspect something goes wrong \$\endgroup\$
    – arnisz
    May 24, 2021 at 10:41
  • 1
    \$\begingroup\$ Was this one time or it happens every time when you flash the code to the arduino? (+ Add a schematic) \$\endgroup\$
    – Mitu Raj
    May 24, 2021 at 10:59

1 Answer 1



It was the NANO board that was damaged. The display works correctly connected to an original Arduino UNO board with the same sketch.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.