Two identical setups, one works, one does not

I am very much a newbie still.
Set up on the right outputs the time and some other info. The one on the left obviously does not. Quite frustrating, I have tried everything I know including switching the hardware around.

The setup is basically 1602 LCD and I2C board with D1 mini.

Help appreciated

the picture is not detailed enough but the solder job on the left unit seems clumsy

image

have you also checked the brightness potentiometer?

the D1 mini is 3.3V. How is the screen powered? is the I2C backpack 3.3V compatible?

A line of rectangles indicates that the LCD display is powered up, but is not receiving intelligible commands. Triple check the wiring for continuity, bad solder joints, short circuits between pins, etc.

As mentioned you may need to add or adjust a contrast pot.

Please use the flag button to ask that your post be moved to a more appropriate forum section.

Swap the displays.

Does the problem also move ?

1 Like

yes

Yes

But should there be 2 rows?

So you now know the problem is in the display. Next step is to swap the "I2C boards" between the two LCD's to see if it is the I2C Board or the LCD that is faulty.

have you double checked the soldering ?
can you post a zoomed / in focus picture of this?

No. Power up = rectangular blocks in the top row.

Sorry, I answered incorrectly here.
Got a little frustered... the next photo shows the result of switching the displays.
image

When switched back, they return as per the first picture

admittedly,not my finest work, but not the problem, I think.

I moved the board from the left to the right, it did not display properly.

Did you solder as well on the other side?

If you have an UNO, run a simple LCD sketch on it to see if that works.

Did you swap the I2C boards or the I2C board and the LCD pair ?

I’m guessing you’re chasing two separate problems.

Are you using the display in 4-bit mode?

If so, having the unused pins connected might be introducing some issues.

I can't be the potentiometer.
If the contrast setting was way off, either all pixels would be on or all would be off.
In this case there is one line of blocks, indicating that the LCD powered up but has not been initialized.

--- bill

1 Like

You don't appear to using a level shifter on the i2c signal pins.
The ESP parts are 3v and the LCD is 5v with 5v pullups on the i2c signals.
If you directly connect them without a level shifter you will be putting 5v signals on the ESP pins which can damage the ESP part.
I would not recommend doing this.
I always use a level shifter when connecting ESP parts to 5v LCD i2c backpacks..

You could install the hd44780 library and then run the included diagnostic sketch, I2CexpDiag, from the hd44780_I2Cexp i/o class and see what it reports.

It will test the i2c signals, and then run a memory test on the display.
I may not report much other than a general failure if the connection between the LCD and the PCF8574 chip has issues.

My guess is the solder connections are causing issues.
They look particularly bad on one of the LCDs.

But again, I would first resolve the 3v / 5v issue.

--- bill

4 bit mode will always be used when using a PCF8574 based backpack.
The hd44780 chips are designed such that the DB0 to DB3 pins can be left unconnected.
They will be pulled down internally.
This is part of what makes the hd44780 initialization command sequence work by allowing a host that is only connected to DB4 to DB7 (with DB0 to DB3 unconnected) to reliably initialize the LCD into 4 bit mode.

--- bill

@bperrybap - I agree, but it seems the connections are across all pins of the LCD.

To enter 4-bit mode requires initialisation.

I don’t see a backpack, and incomplete project details make all of this a guessing game.

(edit: ok, I see what’s happening now I2C, so that introduces three more possible points of failure.’