HD44780 library reports one I2C device but no working LCD

Hi, Friends,

I tried to display a text using I2C few times using various method. But I can not succeed.​ Black boxes are displayed instead of text. I adjusted contrast, Address etc and checked all connections. But my LCD panel and Arduino are working. Please help.

I used HD44780 library but nothing happened. I also uploaded the I2CexpDiag file in excamples and here is what i got in the serial monitor:

Serial Initialized
I2CexpDiag - i2c LCD i/o expander backpack diagnostic tool
hd44780 lib version: 0.9.3
Reported Arduino Revision: 1.0.6
CPU ARCH: AVR - F_CPU: 16000000
A4: digital pin: 18
A5: digital pin: 19
SDA: digital pin: 18
SCL: digital pin: 19
Checking for required external I2C pull-up on SDA - YES
Checking for required external I2C pull-up on SCL - YES
Scanning i2c bus for devices..
i2c device found at address 0x3F
Total I2C devices found: 1
Scanning i2c bus for all lcd displays
No working LCD devices

What does it mean? Where is the error?


Where is the error?

"No working LCD devices" is the error.

That output means the diag tool sees a single pcf8574 chip but was not able to successfully initialize the LCD.
This is usually an issue that the library probed the LCD, but it didn't see the expected signals from the LCD so the diag tool reports that there are no working LCD devices.

Typically that happens if there is a soldering issue between the pcf8574 chip and the LCD.
It could be on the header where the backpack is soldered to the LCD or in a few rare cases a soldering issue of the pcf chip itself to the backpack PCB.

Can you post some clear closeup photos?
I'd like to see the 16 pin solder connections on both sides (the backpack side and the LCD module side)
I'd also like to see a closeup of backpack itself so we can see soldering the pcf chip to the PCB.

--- bill

Thanks bill,

I’m sending some photos.


You said you had an LCD showing black boxes.
I don't see an LCD in either of those photos.
Where is the LCD?

You need to show how the backpack is connected to the LCD.
You showed the solder connections of the header to the backpack and the solder connections of the PCF8574 chip to the backpack (great photos!) but you didn't show the solder connections on the LCD module.

I'm assuming you either have a female header soldered to the LCD that the backpack plugs into or a 16 pin male header on the LCD and the backpack and the LCD are both plugged into a bread board.

You need to show the solder connections on the actual LCD and how the LCD is connected to the backpack.

--- bill

Hello Bill

I've been running the diagnostics test on a PCF8574 chip (not backpack) and a 16 x 2 bog standard LCD.
After a bit of a shaky start, I got your "Hello World" example running from the I2Cexp class (all other libraries to date for I2C LCDs including newLiquidCrystal have failed to deliver so far - might be a pinning problem though).
This is where I ventured into the diagnostics test.
I got further than the other poster in that it reported an LCD found

Scanning i2c bus for all lcd displays
LCD at address: 0x20 | config: P65401237L | R/W control: Yes
Total LCD devices found: 1

But it failed both parts of the memory test. The LCD displays rubbish. I've taken out the things that might cause problems like

// turn on ESP8266 specific pin decoding
// Turn this off if it creates issues.


//#define LCD_CHEXECTIME 2000
//#define LCD_INSEXECTIME 37

No difference. Any ideas?

It is impossible to provide much if any feedback with the limited information you have provided.
When there are issues, what is needed is the diag output and photos of the device to be able to look at the h/w and the solder connections.

In this case you really should start another thread since what ever issue you are having is probably not what the OP (who has vanished) was having.

So I'd recommend starting another thread so we can have a dedicated discussion to try to resolve your issues.

--- bill

Thanks Bill

I thought that as it was an issue with the diagnostics, it wasn't unreasonable to chip in.

As a first stab, I don't really know what you want and as the Serial Monitor runs to many lines of repeated read/write fails, the description of the output and where it passes then fails would be enough.

That said, I will start a new thread
and carry on from there.