Skip to content
Display Engineer
Driver IC · Sitronix

ST7789V: datasheet, pinout & init code

The ST7789V is a single-chip TFT driver with on-chip GRAM for displays up to 240×320, widely used in 1.3″–2.4″ IPS modules driven over 4-wire SPI.

DEDisplay Engineer Applications Team · Display application engineersEngineer-reviewed Oct 11, 2026
ManufacturerSitronix
TypeDisplay driver
InterfacesSPI / MCU (8080 parallel) / RGB (parallel)
Max resolution240×320

What is the ST7789V?

The ST7789V is a TFT LCD source and gate driver from Sitronix with integrated frame memory (GRAM). Because the image lives inside the driver, a microcontroller only sends changed pixels and does not need its own frame buffer. That is why ST7789V modules are popular on ESP32, STM32, RP2040 and Arduino-class boards.

Which interface should I use?

Interface

Pins

Typical use

4-wire SPI

4–5

Most modules; simple wiring, up to ~60 MHz

8080 parallel (MCU)

12–20

Faster full-screen refresh on MCUs with FSMC/FMC

RGB

18–24

Rare on small modules; video-like refresh

Common bring-up problems

  1. White or black screen: check reset timing and that SLPOUT is followed by a 120 ms delay before DISPON.
  2. Wrong colors: toggle INVON/INVOFF and the BGR bit in MADCTL.
  3. Image offset: set the correct column/row start for 240×240 and 135×240 panels.
  4. Tearing: use the TE pin if your module breaks it out.

See our TFT white screen troubleshooting guide for a step-by-step checklist.

ST7789V init code

ST7789V minimal init (SPI, RGB565)c
// Reference init sequence. Adjust MADCTL, inversion and offsets per panel.
write_cmd(0x01);              // SWRESET
delay_ms(150);
write_cmd(0x11);              // SLPOUT
delay_ms(120);
write_cmd(0x3A); write_data(0x55);   // COLMOD: 16-bit RGB565
write_cmd(0x36); write_data(0x00);   // MADCTL: rotation / RGB order
write_cmd(0x21);              // INVON: most IPS panels need inversion
write_cmd(0x13);              // NORON
write_cmd(0x29);              // DISPON
delay_ms(20);

ST7789V library support

LibraryDriver / classNotes
TFT_eSPI (Arduino)ST7789_DRIVER
LovyanGFX (Arduino / ESP-IDF)lgfx::Panel_ST7789
ESP-IDF esp_lcdesp_lcd_new_panel_st7789() (built in)
NoteMany ST7789 panels need colour inversion enabled.
Download ST7789V config templates

User_Setup_ST7789V.h · LGFX_ST7789V.hpp. Pins are placeholders; we email updates when we add tested configurations.

Dev boards using ST7789V

Display modules using ST7789V

ST7789V troubleshooting & FAQ

Why are the colors inverted on my ST7789 display?

Most IPS panels with ST7789V need display inversion enabled (command 0x21, INVON). If colors look like a photo negative, toggle inversion; if red and blue are swapped, change the RGB/BGR bit in MADCTL (0x36).

What SPI clock can ST7789V handle?

Many modules work reliably at 40–62.5 MHz SPI with short wiring. Start at 20 MHz, confirm the image, then increase while checking for corruption.

Why is my 240×240 image shifted by 80 pixels?

The ST7789V frame memory is 240×320. On 240×240 panels some rotations need a row or column offset (often 80) in CASET/RASET; most libraries expose this as a rowstart/colstart setting.

Not sure which display fits your design?

Send us your size, interface and host processor. A display engineer replies within 12 hours with 2–3 options, datasheets and init code. Samples from 1 pc.