Rust LILYGO T-Display with RP2040

Piecing Together Embedded Rust Libraries

5 min readMar 18, 2023

1. Hardware

LILYGO makes nice hardware modules that combine various TFT LCD displays with popular MCUs, such as ESP32 and RP2040.

About two years ago, it introduced this T-display module that combines RP2040 (Raspberry Pi PICO) MCU with a ST7789V controlled 1.14" LCD display (135 x 240 pixels).

ST7789V side signals

Here are snippets from its schematic showing the signals between RP2040 MCU and ST7789V (its datasheet) display controller.

Note that ST7789V itself supports a number of physical layer data protocols (3-line serial, 4-line serial, parallel data bits etc.) The T-Display module adopts 4-line serial protocol, i.e. in addition to the SPI bus, “TFT_RS” (register select) signal is used to select between COMMAND and DATA of the clocked data bytes. In theory, this “TFT_SPI0_TX” signal line can be bi-directional. But in practice, it’s only used to stream video data from MCU to the display.

Here is another picture of such display controller in a Waveshare LCD hardware module. Notice that the “TFT_RS” signal is named as “DC” (data or command) in this case. And “TFT_LEDK” becomes “BL”, i.e. back light control.




memento of electronics and fun exploration for my future self