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 ( |
Rosso e blu scambiati | Ordine dei colori | Imposta l’ordine 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 | | |
LovyanGFX | | |
ESP-IDF | | |
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.

