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
- Schermo bianco o nero: controlla il timing del reset e che SLPOUT sia seguito da 120 ms di attesa prima di DISPON.
- Colori sbagliati: commuta INVON/INVOFF e il bit BGR in MADCTL.
- Immagine sfalsata: imposta l’inizio corretto di colonna/riga per i pannelli 240×240 e 135×240.
- 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
// 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
| Libreria | Driver / classe | Note |
|---|---|---|
| TFT_eSPI (Arduino) | ST7789_DRIVER | |
| LovyanGFX (Arduino / ESP-IDF) | lgfx::Panel_ST7789 | |
| ESP-IDF esp_lcd | esp_lcd_new_panel_st7789() (built in) | |
| Nota | Molti pannelli ST7789 richiedono l’inversione dei colori. |
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

TFT LCD 2,8" 240×320, SPI (PJ2801H22-23H10P200)
- Dimensione
- 2.8"
- Risoluzione
- 240×320
- Luminosità
- 200 nit

TFT LCD 2,4" 240×320, SPI (PJ2401I24-22H30P250)
- Dimensione
- 2.4"
- Risoluzione
- 240×320
- Luminosità
- 250 nit

TFT LCD 2,4" 240×320, MCU (PJ2401I02-22H38P300)
- Dimensione
- 2.4"
- Risoluzione
- 240×320
- Luminosità
- 300 nit

TFT LCD IPS 2,4" 240×320, SPI / MCU / RGB (PJ2401H28-22H45P200)
- Dimensione
- 2.4"
- Risoluzione
- 240×320
- Luminosità
- 200 nit

TFT LCD IPS 2,4" 240×320, SPI / MCU / RGB (PJ2401H25-22H45P200)
- Dimensione
- 2.4"
- Risoluzione
- 240×320
- Luminosità
- 200 nit

TFT LCD 2" 240×320, SPI / MCU (PJ2003L02-22H22P300)
- Dimensione
- 2"
- Risoluzione
- 240×320
- Luminosità
- 300 nit
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.