Zum Inhalt springen
Display Engineer
Treiber-IC · Ilitek

ILI9881C: Datenblatt, Pinbelegung & Init-Code

Der ILI9881C ist ein MIPI-DSI-Treiber von Ilitek für 720×1280- und 800×1280-TFT-Panels, eingesetzt im Raspberry Pi Touch Display 2 (5″/7″) und im ersten M5Stack Tab5. Jedes Panel benötigt seine eigene Init-Tabelle und sein eigenes Timing.

DEDisplay Engineer Applications Team · Display-ApplikationsingenieureAktualisiert am 23. Okt. 2026
HerstellerIlitek
TypDisplay-Treiber
SchnittstellenMIPI DSI
Max. Auflösung800×1280 (in mainline panel entries)

Was der ILI9881C ist

Der ILI9881C ist ein Treiber von Ilitek für MIPI-DSI-TFT-Panels, typischerweise 720×1280- oder 800×1280-Panels im Hochformat. Er hat kein SPI- und kein RGB-Pixel-Interface: Befehle und Bilddaten werden beide über DSI übertragen. Ilitek veröffentlicht das Datenblatt nicht offen, daher ist die praktische Referenz der Mainline-Linux-Treiber, panel-ilitek-ili9881c.c, zusammen mit der Init-Tabelle Ihres Panel-Herstellers.

Ein Controller, viele Init-Tabellen

Der Linux-Treiber ist keine einzige Konfiguration. Er führt für jedes unterstützte Panel eine eigene Init-Tabelle, ein eigenes Display-Timing und eine eigene Lane-Anzahl mit. Zu den im Mainline-Kernel gelisteten Panels gehören:

  • Raspberry Pi Touch Display 2, 5″ und 7″ (raspberrypi,dsi-5inch, raspberrypi,dsi-7inch): 720×1280, 2 Data-Lanes.
  • Waveshare 7.0″ DSI Touch A: 2 Data-Lanes.
  • Panels von Banana Pi, Startek, TDO, Feixin, Bestar, Wanchanglong und Ampire: 720×1280 oder 800×1280, je nach Panel mit 2 oder 4 Lanes.

Zwei Panels mit demselben Controller können dennoch unterschiedliche Init-Tabellen und Timings benötigen. Wenn Sie eine Init-Tabelle von einem anderen Board kopieren, kann der Bildschirm schwarz bleiben oder Streifen zeigen, obwohl die DSI-Verbindung steht. Beginnen Sie mit der Tabelle für Ihr exaktes Panel.

Mainline Linux hat einen ILI9881C-Treiber, aber keinen Eintrag für den ILI9881D. Behandeln Sie ein ILI9881D-Panel, wie unser PJ5015B14 (4,99″ 720×1280 IPS), so, als dass es seine eigene Init-Tabelle und sein eigenes Timing aus dem Panel-Datenblatt benötigt.

Einschaltsequenz im Linux-Treiber

Der Mainline-Treiber bringt ein Panel in dieser Reihenfolge hoch:

  1. IOVCC aktivieren, 5 ms warten, dann die Hauptversorgung aktivieren und 5 ms warten.
  2. Reset 20 ms lang anlegen, wieder freigeben, dann 20 ms warten.
  3. Die Init-Tabelle des Panels senden. Der ILI9881C verwendet Page-Switch-Befehle, um zu seinen herstellerspezifischen Registern zu gelangen.
  4. Zurück zu Page 0 wechseln, die Tearing-Effect-Ausgabe aktivieren und Exit Sleep senden.
  5. 120 ms warten, dann Display On senden.

Raspberry Pi: Touch Display 2

Die Dokumentation von Raspberry Pi bindet das Touch Display 2 mit diesen Overlays ein:

  • dtoverlay=vc4-kms-dsi-ili9881-5inch
  • dtoverlay=vc4-kms-dsi-ili9881-7inch

Fügen Sie ,dsi0 hinzu, um den anderen DSI-Port zu verwenden. Sowohl das 5″- als auch das 7″-Modell ist ein 720×1280-Display mit Fünf-Punkt-Touch. Das 10″-Modell verwendet einen anderen Controller und ein anderes Overlay (vc4-kms-dsi-ili79600-10-1inch) und benötigt vier DSI-Lanes.

Ein individuelles ILI9881C- oder ILI9881D-Panel am Pi benötigt ein Device-Tree-Overlay, das auf einen passenden Panel-Eintrag verweist. Das Touch-Display-2-Overlay wiederverzuwenden funktioniert nur, wenn das Panel wirklich zu dieser Init-Tabelle und diesem Timing passt.

ESP32-P4 und das M5Stack Tab5

Der mipi_dsi-Treiber von ESPHome betreibt ILI9881C-Panels am ESP32-P4, mit 1 oder 2 Data-Lanes (Standard: 2). Das M5Stack Tab5 zeigt, wie fragil diese Wahl ist. ESPHome dokumentiert drei Hardware-Versionen:

  • Hergestellt vor dem 14. Oktober 2025: ILI9881C als Display-Treiber mit einem separaten GT911-Touch-Controller. Verwenden Sie das Modell M5STACK-TAB5.
  • Spätere Einheiten: ein integrierter Display-und-Touch-Controller, entweder ein ST7123 (M5STACK-TAB5-ST7123) oder ein ST7121 (M5STACK-TAB5-ST7121).

Die drei Init-Sequenzen sind nicht austauschbar. Wählen Sie das falsche Display-Modell, bleibt der Bildschirm einfach dunkel und nichts Relevantes wird geloggt. Ein falscher Touch-Treiber erzeugt hingegen eine Fehlermeldung im Log, daher empfiehlt ESPHome, das Board zuerst über den Touch-Treiber zu identifizieren.

Checkliste für die Inbetriebnahme

  1. Lane-Anzahl und DSI-Modus (Video, Sync-Pulse oder Burst) aus dem Panel-Datenblatt bestätigen; die Einstellungen des Hosts müssen übereinstimmen.
  2. Die Init-Tabelle für Ihr exaktes Panel verwenden, nicht nur die für den Namen des Controllers.
  3. Reset- und Versorgungssequenz prüfen. Manche Boards steuern Reset oder Versorgung über einen IO-Expander.
  4. Hintergrundbeleuchtung an, aber kein Bild bedeutet in der Regel die falsche Init-Tabelle, die falsche Lane-Anzahl oder ein falsches DSI-Timing – nicht ein defektes Panel.

Zur Auswahl des Interfaces siehe MIPI DSI vs. LVDS vs. eDP und die MIPI-DSI-Interface-Seite.

Leitfäden & Vergleiche

ILI9881C: Fehlersuche & FAQ

Kann ich das Overlay des Raspberry Pi Touch Display 2 für ein anderes ILI9881C-Panel wiederverwenden?

Nur wenn das Panel dieser Init-Tabelle, diesem Timing und dem 2-Lane-Setup entspricht. Der Mainline-Linux-Treiber führt für jedes unterstützte Panel eine eigene Init-Tabelle, einen eigenen Modus und eine eigene Lane-Anzahl, sodass ein anderes ILI9881C-Panel in der Regel seinen eigenen Panel-Eintrag und ein eigenes Overlay benötigt.

Mein M5Stack-Tab5-Bildschirm bleibt in ESPHome dunkel. Welches Modell wähle ich?

ESPHome dokumentiert drei Tab5-Versionen: Einheiten, die vor dem 14. Oktober 2025 hergestellt wurden, verwenden den ILI9881C mit einem GT911-Touch-Controller (M5STACK-TAB5); spätere Einheiten verwenden einen ST7123 (M5STACK-TAB5-ST7123) oder ST7121 (M5STACK-TAB5-ST7121). Ein falsches Display-Modell schlägt still fehl, während ein falscher Touch-Treiber eine Fehlermeldung loggt – identifizieren Sie das Board daher zuerst über den Touch-Treiber.

Ist der ILI9881D derselbe wie der ILI9881C?

Gehen Sie nicht davon aus. Der Mainline-Linux-Kernel enthält einen ILI9881C-Treiber, aber keinen Eintrag für den ILI9881D; ein ILI9881D-Panel benötigt daher seine eigene Init-Tabelle und sein Timing aus dem Panel-Datenblatt.

Wie viele DSI-Lanes verwendet ein ILI9881C-Panel?

Das hängt vom Panel ab. Im Mainline-Linux-Treiber verwenden die Einträge für das Raspberry Pi 5″/7″ und Waveshare 7″ 2 Lanes, während mehrere 720×1280- und 800×1280-Panels 4 verwenden. Passen Sie die Host-Konfiguration an das Datenblatt Ihres Panels an.

Quellen

  1. Linux-Kernel: drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
  2. Raspberry Pi Dokumentation: Touch Display 2
  3. ESPHome: MIPI-DSI-Display-Treiber (Hinweis zu M5Stack Tab5)

Unsicher, welches Display zu Ihrem Design passt?

Nennen Sie uns Größe, Schnittstelle und Host-Prozessor. Ein Display-Ingenieur antwortet innerhalb von 12 Stunden mit 2–3 Optionen, Datenblättern und Init-Code. Muster ab 1 Stk.