# I2C LCD does not showing text

**URL:** <https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837>\
**Category:** Displays\
**Created:** [October 1, 2024, 5:09am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837 "2024-10-01T05:09:40Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![cattledog](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/cattledog/32/217816_2.png) [@cattledog](https://forum.arduino.cc/u/cattledog)\
**Post date:** [October 2, 2024, 4:31pm UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/21 "2024-10-02T16:31:44Z")

</div>

> [@robtillaart](#):
>
> Can you read the name of the IO chip on the backpack?
> 
> Typical is a PCFxxxx or MCPyyyy

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.

---

<div class="post-metadata">

**Author:** ![david\_2018](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/david_2018/32/1013044_2.png) [@david\_2018](https://forum.arduino.cc/u/david_2018)\
**Post date:** [October 2, 2024, 4:38pm UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/22 "2024-10-02T16:38:45Z")

</div>

> [@cattledog](#):
>
> If it is an unsupported device, then it is hard to understand how LiquidCrystal\_I2C.h

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.

---

<div class="post-metadata">

**Author:** ![bperrybap](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/bperrybap/32/605367_2.png) [@bperrybap](https://forum.arduino.cc/u/bperrybap)\
**Post date:** [October 2, 2024, 4:58pm UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/23 "2024-10-02T16:58:09Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![coasty](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/coasty/32/998066_2.png) [@coasty](https://forum.arduino.cc/u/coasty)\
**Post date:** [October 3, 2024, 4:56am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/24 "2024-10-03T04:56:31Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![coasty](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/coasty/32/998066_2.png) [@coasty](https://forum.arduino.cc/u/coasty)\
**Post date:** [October 3, 2024, 4:57am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/25 "2024-10-03T04:57:06Z")

</div>

Which is the third one.

---

<div class="post-metadata">

**Author:** ![coasty](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/coasty/32/998066_2.png) [@coasty](https://forum.arduino.cc/u/coasty)\
**Post date:** [October 3, 2024, 5:01am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/26 "2024-10-03T05:01:47Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![coasty](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/coasty/32/998066_2.png) [@coasty](https://forum.arduino.cc/u/coasty)\
**Post date:** [October 3, 2024, 5:05am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/27 "2024-10-03T05:05:45Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![mikedb](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/mikedb/32/1098613_2.png) [@mikedb](https://forum.arduino.cc/u/mikedb)\
**Post date:** [October 3, 2024, 5:07am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/28 "2024-10-03T05:07:57Z")

</div>

> [@coasty](#):
>
> My friend said that his LCD works perfectly fine, so I'm thinking that the software is actually related to this error.

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.

---

<div class="post-metadata">

**Author:** ![bperrybap](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/bperrybap/32/605367_2.png) [@bperrybap](https://forum.arduino.cc/u/bperrybap)\
**Post date:** [October 3, 2024, 5:11am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/29 "2024-10-03T05:11:57Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![mikedb](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/mikedb/32/1098613_2.png) [@mikedb](https://forum.arduino.cc/u/mikedb)\
**Post date:** [October 3, 2024, 5:16am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/30 "2024-10-03T05:16:37Z")

</div>

> [@bperrybap](#):
>
> Post some photos of your devices

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.

---

<div class="post-metadata">

**Author:** ![silentobserver](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/silentobserver/32/1022077_2.png) [@silentobserver](https://forum.arduino.cc/u/silentobserver)\
**Post date:** [October 3, 2024, 5:17am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/31 "2024-10-03T05:17:53Z")

</div>

> Reported Arduino Revision: 1.6.7

Is this the Arduino IDE version?

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

---

<div class="post-metadata">

**Author:** ![bperrybap](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/bperrybap/32/605367_2.png) [@bperrybap](https://forum.arduino.cc/u/bperrybap)\
**Post date:** [October 3, 2024, 5:39am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/32 "2024-10-03T05:39:03Z")

</div>

> [@silentobserver](#):
>
> Is this the Arduino IDE 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

---

<div class="post-metadata">

**Author:** ![coasty](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/coasty/32/998066_2.png) [@coasty](https://forum.arduino.cc/u/coasty)\
**Post date:** [October 3, 2024, 5:50am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/33 "2024-10-03T05:50:26Z")

</div>

No, it is 2.X IDE  
 ![image](https://europe1.discourse-cdn.com/arduino/original/4X/c/b/9/cb949f3c1145a5af29e229780b3e2290355e142e.png)  
Here's a picture it

---

<div class="post-metadata">

**Author:** ![coasty](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/coasty/32/998066_2.png) [@coasty](https://forum.arduino.cc/u/coasty)\
**Post date:** [October 3, 2024, 5:51am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/34 "2024-10-03T05:51:35Z")

</div>

It was actually the same one, same LiquidCrystal I2C

---

<div class="post-metadata">

**Author:** ![cattledog](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/cattledog/32/217816_2.png) [@cattledog](https://forum.arduino.cc/u/cattledog)\
**Post date:** [October 3, 2024, 6:07am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/35 "2024-10-03T06:07:18Z")

</div>

> [@coasty](#):
>
> No, it is 2.X IDE

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?

---

<div class="post-metadata">

**Author:** ![oqibidipo](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/oqibidipo/32/221794_2.png) [@oqibidipo](https://forum.arduino.cc/u/oqibidipo)\
**Post date:** [October 3, 2024, 6:19am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/36 "2024-10-03T06:19:30Z")

</div>

> [@cattledog](#):
>
> Then it should have been reported as such in the printout from the diagnostic sketch and not "Reported Arduino Revision 1.6.7"

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

> <https://github.com/arduino/arduino-cli/issues/725>
>
> \## Feature Request
> 
> \### Current behavior
> 
> The \`ARDUINO\` macro is defined wit…h the value of the \`runtime.ide.version\` property. When using the Arduino IDE, this value matches the current IDE version. When using other Arduino development software, it has a meaningless value (currently \`10607\`):
> 
> https://github.com/arduino/arduino-cli/blob/625aaac8bee07f5ea2e859e59d718ed2d11bc5f1/internal/arduino/cores/packagemanager/package\_manager.go#L417
> 
> This causes problems for code that uses the value of the \`ARDUINO\` macro to determine compatibility with version-specific behavior of the Arduino development software (e.g., function prototype generation).
> 
> \### Expected behavior
> 
> My suggestion is to set the \`runtime.ide.version\` property to the version of the Arduino IDE the Arduino CLI release will be used with. I think that, given the historical meaning of this property's value, this will provide the closest match to the behavior the user expects.
> 
> \### Arduino CLI version
> 
> \#### Original report
> 
> 0.10.0-rc1 Commit: 8220b32
> 
> \#### Last verified with
> 
> 625aaac8bee07f5ea2e859e59d718ed2d11bc5f1
> 
> \### Operating system
> 
> \- Windows
> \- Linux
> 
> \### Operating system version
> 
> \- Ubuntu 22.04
> \- Windows 11
> 
> \### Additional context
> 
> If the policy for setting the value of the \`runtime.ide.version\` property is changed, the relevant section of the Arduino Platform Specification should be updated accordingly:
> https://arduino.github.io/arduino-cli/dev/platform-specification/#global-predefined-properties
> 
> \#### Additional requests
> 
> \- https://github.com/arduino/arduino-cli/issues/725#issuecomment-1718052299
> \- https://github.com/arduino/arduino-cli/issues/725#issuecomment-1986986168
> 
> \#### Related
> 
> \- https://github.com/SpenceKonde/ATTinyCore/issues/405

---

<div class="post-metadata">

**Author:** ![coasty](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/coasty/32/998066_2.png) [@coasty](https://forum.arduino.cc/u/coasty)\
**Post date:** [October 3, 2024, 7:44am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/37 "2024-10-03T07:44:21Z")

</div>

Yes of course.

---

<div class="post-metadata">

**Author:** ![coasty](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/coasty/32/998066_2.png) [@coasty](https://forum.arduino.cc/u/coasty)\
**Post date:** [October 3, 2024, 8:25am UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/38 "2024-10-03T08:25:18Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![coasty](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/coasty/32/998066_2.png) [@coasty](https://forum.arduino.cc/u/coasty)\
**Post date:** [October 3, 2024, 2:56pm UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/39 "2024-10-03T14:56:12Z")

</div>

@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....

---

<div class="post-metadata">

**Author:** ![coasty](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/coasty/32/998066_2.png) [@coasty](https://forum.arduino.cc/u/coasty)\
**Post date:** [October 3, 2024, 3:00pm UTC](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837/40 "2024-10-03T15:00:10Z")

</div>

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

[Previous page](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837.md?page=1)

[Next page](https://forum.arduino.cc/t/i2c-lcd-does-not-showing-text/1306837.md?page=3)
