Waveshare LCDs

From Humanoid Robots Wiki
Revision as of 02:19, 1 September 2024 by Goblinrum (talk | contribs)
Jump to: navigation, search

Instructions to run the Waveshare 1.69in LCDs on the Jetson carrier boards

Jetson BCM Mapping.png

Note the Linux BCM mappings in the image shown. Theoretically with the Jetson.GPIO library, you are able to use either the physical board pin mapping or the BCM mapping, but this process has only been vetted for the BCM mode. When referring to pins in the Python package, use the BCM mapping. For example, if you use pin 32, use "D12" when referring to the pin. With the Adafruit package, this is written as "board.D12"


The 1.5 Inch LCD Module page actually tells you how to set up the Jetson for the Waveshare LCDs. However, since it uses a different controller, the actual firmware needs to be modified.

You can find the draft changes repo here.

Steps to reproduce:

  1. On Jetson, use the jetson-io to enable SPI1. Steps are shown in the Jetson Nano section in the 1.5in LCD Guide. Follow the "Enable SPI" and "Library Installation" sections. Stop before the "Download Example" section.
  2. Power down the Jetson and wire up the display using the following pinout:
Function Jetson Pin BCM Pin
3v3 1 3v3
GND 6 GND
DIN/MOSI 19 D10 (Automatically selected by Jetson-GPIO)
SCK 23 D11 (Automatically selected)
CS 24 CE0 (Automatically selected)
DC 22 D25
RST 31 D6
BL 32 D12

Clone the repository and launch run.py. You may need to install the following pip dependencies:

  • Jetson.GPIO
  • adafruit-circuitpython-busdevice
  • spidev
  • adafruit-blinka-displayio
  • adafruit-circuitpython-rgb-display
  • adafruit-circuitpython-st7789
  • Pillow

The example code should draw some shapes every 2 seconds, followed by the Waveshare logo, then a Yuan dynasty poem, and lastly a series of images.