Vai al contenuto
Display Engineer
Risoluzione dei problemi

ILI9341 vs ST7789: come capire quale controller ha il tuo display

Schede vendute con lo stesso nome vengono fornite con controller ILI9341 o ST7789. Come identificare il tuo dai sintomi o leggendo il registro ID, e le impostazioni che correggono schermi bianchi e colori sbagliati.

DEDisplay Engineer Applications Team · Display application engineerRevisionato da un ingegnere il 11 ott 2026

Perché la stessa scheda può avere un controller diverso

Le schede display economiche sono costruite con pannelli acquistati sul mercato aperto. Quando un lotto cambia fornitore può cambiare anche il controller, mentre nome della scheda, PCB e pinout restano gli stessi. L’ESP32-2432S028R (Cheap Yellow Display) e l’ESP32-2432S024 esistono entrambi in versioni ILI9341 e ST7789.

Identificarlo dai sintomi

Cosa vedi con una configurazione ILI9341

Causa probabile

Soluzione

Schermo bianco o vuoto, retroilluminazione accesa

Il controller è un ST7789

Passa al driver ST7789

L’immagine compare, colori in negativo

Il pannello ST7789 richiede l’inversione

Commuta l’inversione (TFT_INVERSION_ON)

Rosso e blu scambiati

Ordine dei colori

Imposta l’ordine BGR (TFT_RGB_ORDER TFT_BGR)

Immagine speculare o sfalsata

Impostazione di rotazione / accesso alla memoria

Cambia la rotazione (MADCTL)

Tutto buio

Pin della retroilluminazione errato o riutilizzato

Controlla il GPIO della retroilluminazione

Cambia un’impostazione alla volta e tieni un esempio funzionante per il confronto.

Identificarlo leggendo l’ID

Se la scheda collega la linea MISO del pannello, puoi leggere l’ID del controller invece di indovinare. Un ILI9341 risponde 0x9341 al comando Read ID4 (0xD3). In TFT_eSPI, tft.readcommand8(0xD3, n) legge il byte n di un registro. Se non ottieni 0x93 e 0x41, prova il driver ST7789. Le schede senza MISO non si possono leggere: usa la tabella dei sintomi.

Impostazioni che differiscono

Voce

ILI9341

ST7789

Driver TFT_eSPI

ILI9341_DRIVER / ILI9341_2_DRIVER

ST7789_DRIVER

LovyanGFX

Panel_ILI9341

Panel_ST7789

ESP-IDF

espressif/esp_lcd_ili9341

esp_lcd_new_panel_st7789() (integrato)

Inversione

di solito disattivata

spesso attivata

I modelli per entrambi sono nelle pagine ILI9341 e ST7789V.

Evitarlo in un prodotto

Per un prodotto, specifica un modulo il cui datasheet indichi il controller e il cui fornitore lo fissi per lotto di produzione, così il firmware non si rompe tra un lotto e l’altro. Il nostro modulo SPI da 2,8 pollici 240×320 usa un ST7789V specificato; campioni da 1 pz.

Domande frequenti

Il codice ILI9341 può girare su un ST7789?

Non in modo affidabile. Entrambi sono controller 240×320, ma la sequenza di inizializzazione è diversa, quindi cambia driver invece di modificare il codice ILI9341.

Perché i colori del mio display ST7789 sono invertiti?

Molti pannelli ST7789 richiedono l’inversione del display (INVON). Abilita TFT_INVERSION_ON o chiama tft.invertDisplay(true).

Come leggo l’ID del controller?

Con MISO collegato, leggi il registro 0xD3 (Read ID4): un ILI9341 restituisce 0x93 0x41. Senza MISO, identificalo dai sintomi.

Moduli citati in questa guida

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.