Vai al contenuto
Display Engineer
Driver IC · Sitronix

ST7789V: datasheet, pinout e codice di inizializzazione

L’ST7789V è un driver TFT single-chip con GRAM interna per display fino a 240×320, molto usato nei moduli IPS da 1,3″ a 2,4″ pilotati su SPI a 4 fili.

DEDisplay Engineer Applications Team · Display application engineerRevisionato da un ingegnere il 11 ott 2026
ProduttoreSitronix
TipoDriver display
InterfacceSPI / MCU (8080 parallelo) / RGB (parallelo)
Risoluzione max240×320

Che cos’è l’ST7789V?

L’ST7789V è un driver source e gate TFT LCD di Sitronix con memoria di frame integrata (GRAM). Poiché l’immagine risiede nel driver, un microcontrollore invia solo i pixel modificati e non ha bisogno di un proprio frame buffer. Ecco perché i moduli ST7789V sono diffusi su schede ESP32, STM32, RP2040 e di classe Arduino.

Quale interfaccia usare?

Interfaccia

Pin

Uso tipico

4-wire SPI

4–5

La maggior parte dei moduli; cablaggio semplice, fino a ~60 MHz

8080 parallelo (MCU)

12–20

Refresh a schermo intero più rapido su MCU con FSMC/FMC

RGB

18–24

Raro sui moduli piccoli; refresh di tipo video

Problemi comuni di avvio

  1. Schermo bianco o nero: controlla il timing del reset e che SLPOUT sia seguito da 120 ms di attesa prima di DISPON.
  2. Colori sbagliati: commuta INVON/INVOFF e il bit BGR in MADCTL.
  3. Immagine sfalsata: imposta l’inizio corretto di colonna/riga per i pannelli 240×240 e 135×240.
  4. Tearing: usa il pin TE se il modulo lo rende disponibile.

Consulta la nostra guida alla risoluzione dello schermo bianco TFT per una checklist passo passo.

Codice di inizializzazione ST7789V

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);

Supporto delle librerie per il ST7789V

LibreriaDriver / classeNote
TFT_eSPI (Arduino)ST7789_DRIVER
LovyanGFX (Arduino / ESP-IDF)lgfx::Panel_ST7789
ESP-IDF esp_lcdesp_lcd_new_panel_st7789() (built in)
NotaMolti pannelli ST7789 richiedono l’inversione dei colori.
Scarica i modelli di configurazione ST7789V

User_Setup_ST7789V.h · LGFX_ST7789V.hpp. I pin sono provvisori; ti scriviamo quando aggiungiamo configurazioni testate.

Schede di sviluppo con ST7789V

Moduli display con ST7789V

ST7789V: risoluzione dei problemi e FAQ

Perché i colori del mio display ST7789 sono invertiti?

La maggior parte dei pannelli IPS con ST7789V richiede l’inversione del display abilitata (comando 0x21, INVON). Se i colori sembrano un negativo fotografico, commuta l’inversione; se rosso e blu sono scambiati, cambia il bit RGB/BGR in MADCTL (0x36).

Quale clock SPI regge l’ST7789V?

Molti moduli funzionano in modo affidabile con SPI a 40–62,5 MHz e cablaggio corto. Parti da 20 MHz, verifica l’immagine, poi aumenta controllando che non ci siano corruzioni.

Perché la mia immagine 240×240 è spostata di 80 pixel?

La memoria di frame dell’ST7789V è 240×320. Sui pannelli 240×240 alcune rotazioni richiedono un offset di riga o colonna (spesso 80) in CASET/RASET; la maggior parte delle librerie lo espone come impostazione rowstart/colstart.

Non sai quale display è adatto al tuo progetto?

Inviaci dimensione, interfaccia e processore host. Un display engineer risponde entro 12 ore con 2–3 opzioni, datasheet e codice di inizializzazione. Campioni da 1 pz.