LCD1602 with I2C bridge interfacing issues

Hi everyone,
I am trying to learn Embedded Systems and I am super new to interfacing displays. I am starting out with a smaller display i.e LCD1602 and trying to display characters and numbers on it and build something interesting if the former problem is solved.
I found a very good article (, one might have to translate it.
I didn’t have the I2C bridge already connected to my lcd so I used a breadboard to make the connections (I am attaching images of my setup)

I followed everything exactly as shown in the article but still my lcd doesn’t display anything.
The Nano is identifying the address of the LCD as shown below:

The python file is as follows: (4.5 KB)

I was trying to make changes in this file but it’s not working.
Is it recommended to write your own lcd driver. I would be interested in that but I am not sure where to start from. There’s a lot of content when it comes to the same interfacing with RPi and Aurdino but not for the Nano.
I would really appreciate your help.

Did you check the kernel message if any error of the i2c read/write?

Hi Shane,
Can you please share the steps to check the kernel message?

I used the exact part ( as mentioned in the article and it seems to work now.

I am still trying to figure out what went wrong when I was trying for the first time.
I am guessing some wiring issues or the hardware being faulty in the first place.

Thanks much @ShaneCCC