LCD 1602 with I2C problem

Hello guys!
I have a problem with my LCD. The backlight is working but characters didn't appear.
I attached a link to photo with my LCD(1602), I2C and Arduino Uno connection.
I installed hd44780 library and I ran the I2CexpDiag (I attached a link to photo with the results)

Can you tell me what the problem is?

I know this is a common problem and tried some libraries but still didnt work.

Thanks!


Ph4.png

Ph4.png

OP image so we don't have to download it.

How to post an image.

Please post photos of the solder joints of the header between the LCD and the I2C backpack and of the I2C backpack showing the solder joints on the I2C expander chip.

EDIT: What happened to all of the images?

It’s ok now?

The soldering on the pins on the backpack and the LCD looks good.
The pcf8574 chip seems to be talking over i2c.

This type of error is not common.

The stuck BUSY status means that bit 7 of the status byte is set when it shouldn’t be.
This is usually from a connection issue between the PCF8574 and the LCD.
It could be there is an issue in the wires being used between the backpack and the LCD.
While quite rare (I’ve seen this a couple of times), it could be a soldering issue on the PCF8574 chip and the PCB.

Can you plug the LCD directly into the breadboard to eliminate the wires?

If not, perhaps you could check the continuity of all the wires.
Pay particular close attention to the wires on D7, RS, and R/W.

BTW,
I did just try a setup very similar to yours using the same backpack and using wires like you have and it worked without any issues.

— bill

I eliminate the wires, but still the same problem.

Can you show a closeup photo of the PCF8574 chip, so we can see the soldering of the pins to the PCB.
There have been a couple of cases where a few pins on the PCF8574 were not properly soldered to the PCB.

You could try using the LCD without the backpack by hooking it directly to the Arduino pins.
This would ensure that the LCD is working.

--- bill

bperrybap might be on to something... this looks like a bad solder joint but can't tell...

I tried without the I2C and it worked, but I have to do with it.



It is a problem with the PCF8574 chip?

Awesome photographs. Some of the best I have ever seen for this.
The solder on the PCF8574 chip looks ok.
If you got the LCD to work with out the backpack then it works.

It could be an issue with the PCF8574 chip, but I've only seen that once and in that case, I think it was from hooking up the power backwards.

Another thing I saw once was that a tiny little metal "hair" was shorting together a pair of pins on the backpack header.
Look very closely at the soldering and the pins on the backpack and the LCD.

For BUSY to work you need good connections on D7, EN, RS, R/W

Have you tried any of the "normal" sketches?
Like the HelloWorld sketch?
The normal code doesn't look at the BUSY status.
I'm just curious if can write to the LCD.

One thing that might be helpful is to patch the diag sketch to skip over the BUSY test.
In the I2CexpDiag sketch, around line 422 you should see this:

if(lcdstatus & 0x80) // check for stuck BUSY status
 {
 Serial.println(F(" LCD stuck BUSY status"));
 clrWorkingLCD(n); // mark LCD as no longer "working"
 continue;
 }

Change it to this, so we can see some additional information:

if(lcdstatus & 0x80) // check for stuck BUSY status
 {
 Serial.println(F(" LCD stuck BUSY status"));
 }

--- bill

It's working! I cleaned the space between the pins.
Maybe it was a little metal "hair" as you said. This is the only explanation.

Thanks a lot for your help and for your guidance !!!
I really appreciated!

Great!