Warum dasselbe Board einen anderen Controller haben kann
Günstige Displayboards werden aus Panels vom freien Markt gebaut. Wechselt eine Charge den Lieferanten, kann sich auch der Controller ändern, während Boardname, Platine und Pinbelegung gleich bleiben. Das ESP32-2432S028R (Cheap Yellow Display) und das ESP32-2432S024 gibt es beide in Versionen mit ILI9341 und ST7789.
Anhand der Symptome identifizieren
Was Sie mit einem ILI9341-Setup sehen | Wahrscheinliche Ursache | Lösung |
|---|---|---|
Weißer oder leerer Bildschirm, Hintergrundbeleuchtung an | Controller ist ein ST7789 | Auf den ST7789-Treiber umstellen |
Bild erscheint, Farben wirken negativ | ST7789-Panel braucht Inversion | Inversion umschalten ( |
Rot und Blau vertauscht | Farbreihenfolge | BGR-Reihenfolge einstellen ( |
Bild gespiegelt oder versetzt | Einstellung für Rotation / Speicherzugriff | Rotation ändern (MADCTL) |
Alles dunkel | Backlight-Pin falsch oder anderweitig genutzt | Backlight-GPIO prüfen |
Ändern Sie jeweils nur eine Einstellung und behalten Sie ein funktionierendes Beispiel zum Vergleich.
Durch Auslesen der ID identifizieren
Wenn das Board die MISO-Leitung des Panels anschließt, können Sie die Controller-ID auslesen, statt zu raten. Ein ILI9341 antwortet mit 0x9341 auf den Befehl Read ID4 (0xD3). In TFT_eSPI liest tft.readcommand8(0xD3, n) Byte n eines Registers. Erhalten Sie nicht 0x93 und 0x41, probieren Sie den ST7789-Treiber. Boards ohne MISO lassen sich nicht auslesen; nutzen Sie dann die Symptomtabelle.
Abweichende Einstellungen
Punkt | ILI9341 | ST7789 |
|---|---|---|
TFT_eSPI-Treiber | | |
LovyanGFX | | |
ESP-IDF | | |
Inversion | meist aus | oft an |
Vorlagen für beide finden Sie auf den Seiten zum ILI9341 und ST7789V.
Das im Produkt vermeiden
Spezifizieren Sie für ein Produkt ein Modul, dessen Datenblatt den Controller nennt und dessen Lieferant ihn pro Fertigungslos festlegt, damit die Firmware zwischen Chargen nicht bricht. Unser 2,8-Zoll-240×320-SPI-Modul nutzt einen festgelegten ST7789V; Muster ab 1 Stück.
Häufige Fragen
Läuft ILI9341-Code auf einem ST7789?
Nicht zuverlässig. Beide sind 240×320-Controller, aber die Initialisierungssequenz unterscheidet sich; wechseln Sie daher den Treiber, statt den ILI9341-Code zu flicken.
Warum sind die Farben auf meinem ST7789-Display invertiert?
Viele ST7789-Panels brauchen Display-Inversion (INVON). Aktivieren Sie TFT_INVERSION_ON oder rufen Sie tft.invertDisplay(true) auf.
Wie lese ich die Controller-ID aus?
Mit angeschlossenem MISO lesen Sie Register 0xD3 (Read ID4): Ein ILI9341 liefert 0x93 0x41. Ohne MISO identifizieren Sie ihn anhand der Symptome.

