LCD 1602 I2c not working

Hi all, I have been stuck on this issue for a while now. Any help is appreciated.

I am using an Arduino Uno WiFi rev2 with a LCD 1602. The LCD lights up but does not show any text.

Things I tried:

  1. Finding the right address using a script.
  2. Changing the contrast of the LCD.
  3. Using hd44780.h or LiquidCrystal_I2C

My code:

#include <Wire.h>
#include <hd44780.h>
#include <hd44780ioClass/hd44780_I2Cexp.h>


// Initialize the LCD object
hd44780_I2Cexp lcd(0x60);

void setup() {
  Wire.begin();

  Serial.begin(9600);
  while (!Serial);

  // Initialize the LCD
  lcd.begin(16, 2); // Set the number of columns and rows of your LCD
}

void loop() {
  lcd.setCursor(0, 0); // Set the cursor to the first column of the first row
  lcd.print("Hello, World!"); // Print a message

  delay(2000); // Wait for 2 seconds

  lcd.clear(); // Clear the display

  delay(1000); // Wait for 1 second
}

I also tried not giving lcd() any parameters.

Setup:


Run the I2Cscanner.ino program and see what the address of your I2C LCD module is.

https://playground.arduino.cc/Main/I2cScanner/

1 Like

Thanks for the quick answer.

Output: 16:58:46.847 -> I2C device found at address 0x60

Does your I2C module use the PCF8574 or PCF8574A chip?

If so, this address, 0x60 is not part of the PCF8574 or PCF8574A chip addresses.

PS: From the photo you posted, the chip is PCF8574A,
so the address table for it is the bottom one.

See tables:

Your Arduino is unable to communicate with the I2C LCD module.
Perhaps some jumper may be defective.
It is very common for these jumpers to be defective.

PS:
See this information.
https://forum.blackmagicdesign.com/viewtopic.php?f=12&t=99659

" The only detected address is 0x60 (even if I remove the SDI shield) which I suppose to be the Wifi module. "

One problem is there is no pull up resistors on that backpack. You need something in the 4.7K range for the SCL and SDA pins. At that point everything should work.

This module shown in the image OP posted has I2C pull_up resistors.
See the schematic R8 and R9.

Sorry that image is not for the HW-061 module the op posted. It has way more resistors then the unit shown by the OP. I have several styles of look alike modules and most do not have pull up resistors.

Thanks for your help. I did remove all components and it still 'noticed' a lcd on 0x60, so it's probably the wifi module. I have no clue how to read the second table, so I just tried all hexademical addresses with other jumpers, but none seem to work unforunately.

Solved it! My Arduino also got DSA & SCl input, connecting those to the LCD made it work with no issues. Thanks all for the help.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.