I2C LCD display SCL PIN not working

Hi everyone,

So my I2C adapter and LCD display were working very nicely up until now when something happened and the LCD is showing a row of black boxes on the first line and no characters are displayed. I tried to run the HD4478 - I2Cexpdiag sketch and apparently, this is what happened:

Serial Initialized

I2CexpDiag - i2c LCD i/o expander backpack diagnostic tool

hd44780 lib version: 1.1.0

Reported Arduino Revision: 1.8.9

CPU ARCH: AVR - F_CPU: 16000000

SDA digital pin: 18 A4

SCL digital pin: 19 A5

Checking for required external I2C pull-up on SDA - YES Checking for required external I2C pull-up on SCL - NO Checking for I2C pins shorted together - Not Shorted


WARNING: I2C requires external pullups for proper operation It may appear to work without them, but may be unreliable and slower Do not be surprised if it fails to work correctly Install external pullup resistors to ensure proper I2C operation



Scanning i2c bus for devices..

Does this mean the SCL pin is damaged? and if so, is there a way I can fix this or I should just buy a new one instead? I dont think its a pull-up resistor problem since the arduino uno has pull-up resistors itself and my LCD was working normally previously.

It could be just a bad/broken wire or a loose connection at Arduino, or at the connector on the backpack. Look very closely at the wire going to the SCL pin (A5) and at the connector on the backpack to see if anything is loose.

Can you post a photo of your devices?

--- bill

BAOTRN131: I dont think its a pull-up resistor problem since the arduino uno has pull-up resistors itself

While the Mega Arduino boards do have external pullups on the board itself, the UNO boards do not have the required external pullups on the i2c pins that is required for i2c operation on the actual board. The AVR processor used on the UNO board, has internal pullups, but those are very weak which means that they are out of spec and not guaranteed to work, which is why I chose to print the warning as you saw in the I2CexpDiag output.

Many of the LCD backpacks have pullups on them so usually, you don't need to add them when using an UNO and an I2C LCD backpack, but it depends on the particular backpack.

In you case, the symptoms sound more like a bad/broken wire or a loose connection.

--- bill

Hi,

Thank you for your reply. I really wish it is wiring issues but unfortunately, I don’t think it is. I tried replacing the wires, making sure there were no loose ends, adjusting the contrast, even replacing the arduino, but nothing changes, even when I try to display the most basic stuff like “Hello World”. If it is not wiring issues, do you think its the lcd that causing the problem or the I2C module? I have attached some images if that helps at all. Thank you.

Ok, I tried replacing the wires one more time out of nowhere and for some reason the diagnosis now picks up the two SCL and SDA channels, but still unable to identify an available device.

Reported Arduino Revision: 1.8.9

CPU ARCH: AVR - F_CPU: 16000000

SDA digital pin: 18 A4

SCL digital pin: 19 A5

Checking for required external I2C pull-up on SDA - YES Checking for required external I2C pull-up on SCL - YES

Checking for I2C pins shorted together - Not Shorted

Scanning i2c bus for devices.. Total I2C devices found: 0 No I2C devices found

Does it has something to do with the CPU?

80616429_445414243013035_88161135827615744_n.jpg

80852347_2759220347455131_8585031349960704000_n.jpg

Can't spot the problem. Given you took these photos in the dark, it is difficult to check that you have actually plugged the pins into A4 and A5 and not the positions adjacent, but I gather you have.

(Unless you have a photo studio, you need to take the equipment outside into full daylight to take photos!)