Since I plan to use 1602 I2C LCD to display some simple messages via Nvidia Jetson Nano, I was facing an interesting issue. I believe it would be an BIG issue for beginner.
So I believe it worth to be documented and beginner who had facing the same problem will have a quick fix.
What do you need for this exercise?
- A fully functional Nvidia Jetson Nano. (Reference)
- 1602 I2C LCD. It should be easy to purchase anywhere.
What you should finish before this exercise?
- Follow this blog to install the necessary package: LINK
- Learn some basic knowledge of Linux and python.
- Confirm the I2C address from the example with your manufacture provided.
Important HINT:
The example is using I2C bus 0. In Jetson Nano, it should be I2C 1.
The example is using the following command to confirm the I2C address:
i2cdetect -y 1
The last number is 1 which means it is searching I2C bus 1 in Jetson Nano. But somehow, the driver is using I2C bus 0 if you directly copy and paste.
How to change to the correct I2C bus?
In “I2C_LCD_drive.py”:
Original :
# i2c bus (0 — original Pi, 1 — Rev 2 Pi)
I2CBUS = 0Change to :
I2CBUS = 1
Then, you should be able to communicate with the 1602 I2C LCD.