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 (https://www.rs-online.com/designspark/jetson-nano-40-pin-gpio-cn), 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:

43b51a90-593a-11ea-9014-42010a00001e_I2C_LCD_driver.py (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.
Thanks

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 (https://www.amazon.com/gp/product/B07S7PJYM6/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=) 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