I2C LCD does not showing text

Yes. Please do this.

If it appears to be one of the supported chips, then I'm certain that Bill Perry @bperrybap will be interested why his library did not recognize it.

If it is an unsupported device, then it is hard to understand how LiquidCrystal_I2C.h would have worked with it in the past.

Could have been using a library specifically for the non-standard backpack, that got wiped out when the laptop was reset. Unfortunately there are multiple libraries that use LiquidCrystal_I2C.h as the header file name.

The hd44780_I2Cexp i/o class supports both the PCF8574 and the MCP23008 i/o expanders. It can auto detect which one is being used.
When hd44780_I2Cexp i/o class returns a -3 error code from begin(),
it means that the library could not figure out the pin mapping.
There is a different error code if the code could not determine which i/o expander chip.

I've never seen the library not be able to determine the pin mapping when using one of the off shelf backpacks unless there were bad solder connections somewhere.
I've seen cases where there were bad solder joints on the header to the LCD and I've also seen some cases where the PCF8574 was not soldered properly to the backpack.

It would be nice to see a photo of the backpack so we could not only see the actual h/w being used but also see the solder connections.

--- bill

4 Likes

I think the soldering is not involved in this because I asked my friend to borrow another LCD and still have the same sign.

Which is the third one.

I have three LCDs currently (I just borrowed one from my friend and still having the same issue) and here are the code names:

16x2: PCF8574T.
My friend's 16X2: HLF8574T.
My 20x4: PCF8574T.

My friend said that his LCD works perfectly fine, so I'm thinking that the software is actually related to this error.

Hey, I also have a reseted laptop too, maybe it is also the problem. I'm thinking about borrowing my mom's laptop.

What Library does your friend use for his working LCD'S.
Ask your friend to test one of your LCD'S on his PC with his library.

Edit.Ask your friend to take a photo of your LCD and post it here.

So you are saying that all 3 of those fail the exact same way with the same error code, when using I2CexpDiag?

Post some photos of your devices.

--- bill

Hey Bill.
The OP said his phone is cracked cannot take good pic's.

@coasty
If your screen is cracked you can still take a photo the crack will not show in the photo.

Reported Arduino Revision: 1.6.7

Is this the Arduino IDE version?

Then you "reseted" your notebook to a very outdated version.

Yes. That value is the version of the IDE that was used to build I2CexpDiag.

That is a very old IDE.
Lucky version. From my testing there are serious issues with 1.6.6 and 1.6.8 and those won't work.

While I don't think this IDE version is the issue,
My recommendation would be to get a newer version of the IDE.
like 1.8.19
Or jump to the latest 2.x IDE

--- bill

No, it is 2.X IDE
image
Here's a picture it

It was actually the same one, same LiquidCrystal I2C

Then it should have been reported as such in the printout from the diagnostic sketch and not "Reported Arduino Revision 1.6.7"

Did you run the diagnostic sketch with 2.3.3?

I would be best if you run the diagnostic sketch with the ide version you are trying to work with the display?

That's what you might expect, but arduino-cli (which IDE 2.x uses) pretends it is 1.6.7.

1 Like

Yes of course.

One fact is Arduino usually puts the Library files inside Documents, but after reseting my laptop, it is no longer located there.

@david_2018 @noiasca @xfpd @mikedb @robtillaart Guys, it is not looking good, I switched to my mom's laptop and they didn't work too....

And I think I am going to find a phone in order to show some pictures of the devices for you guys.