Aller au contenu
Display Engineer
Dépannage

ILI9341 vs ST7789 : comment savoir quel contrôleur équipe votre afficheur

Des cartes vendues sous le même nom sont livrées avec un contrôleur ILI9341 ou ST7789. Comment identifier le vôtre par les symptômes ou en lisant le registre d’ID, et les réglages qui corrigent écrans blancs et mauvaises couleurs.

DEDisplay Engineer Applications Team · Ingénieurs d’application afficheurRevu par un ingénieur le 11 oct. 2026

Pourquoi une même carte peut avoir un contrôleur différent

Les cartes d’affichage bon marché sont construites avec des dalles achetées sur le marché libre. Quand un lot change de fournisseur, le contrôleur peut changer aussi, alors que le nom de la carte, le circuit imprimé et le brochage restent les mêmes. L’ESP32-2432S028R (Cheap Yellow Display) et l’ESP32-2432S024 existent tous deux en versions ILI9341 et ST7789.

L’identifier par les symptômes

Ce que vous voyez avec une configuration ILI9341

Cause probable

Correctif

Écran blanc ou vide, rétroéclairage allumé

Le contrôleur est un ST7789

Passer au pilote ST7789

L’image apparaît, couleurs en négatif

La dalle ST7789 nécessite l’inversion

Basculer l’inversion (TFT_INVERSION_ON)

Rouge et bleu permutés

Ordre des couleurs

Régler l’ordre BGR (TFT_RGB_ORDER TFT_BGR)

Image en miroir ou décalée

Réglage de rotation / d’accès mémoire

Changer la rotation (MADCTL)

Tout est sombre

Broche de rétroéclairage erronée ou réutilisée

Vérifier la GPIO de rétroéclairage

Changez un réglage à la fois et gardez un exemple fonctionnel pour comparer.

L’identifier en lisant l’ID

Si la carte relie la ligne MISO de la dalle, vous pouvez lire l’ID du contrôleur au lieu de deviner. Un ILI9341 répond 0x9341 à la commande Read ID4 (0xD3). Dans TFT_eSPI, tft.readcommand8(0xD3, n) lit l’octet n d’un registre. Si vous n’obtenez pas 0x93 et 0x41, essayez le pilote ST7789. Les cartes sans MISO ne peuvent pas être lues : utilisez le tableau des symptômes.

Réglages qui diffèrent

Élément

ILI9341

ST7789

Pilote 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() (intégré)

Inversion

généralement désactivée

souvent activée

Des modèles pour les deux figurent sur les pages ILI9341 et ST7789V.

L’éviter dans un produit

Pour un produit, spécifiez un module dont la fiche technique nomme le contrôleur et dont le fournisseur le fige par lot de production, afin que le firmware ne casse pas d’un lot à l’autre. Notre module SPI 2,8 pouces 240×320 utilise un ST7789V spécifié ; échantillons dès 1 pce.

Questions fréquentes

Un code ILI9341 peut-il fonctionner sur un ST7789 ?

Pas de façon fiable. Ce sont deux contrôleurs 240×320, mais la séquence d’initialisation diffère : changez de pilote plutôt que de bricoler le code ILI9341.

Pourquoi les couleurs de mon afficheur ST7789 sont-elles inversées ?

Beaucoup de dalles ST7789 nécessitent l’inversion d’affichage (INVON). Activez TFT_INVERSION_ON ou appelez tft.invertDisplay(true).

Comment lire l’ID du contrôleur ?

Avec MISO connectée, lisez le registre 0xD3 (Read ID4) : un ILI9341 renvoie 0x93 0x41. Sans MISO, identifiez-le par les symptômes.

Modules cités dans ce guide

Vous ne savez pas quel afficheur convient à votre conception ?

Envoyez-nous votre taille, interface et processeur hôte. Un ingénieur afficheur répond sous 12 heures avec 2 à 3 options, fiches techniques et code d’initialisation. Échantillons dès 1 pce.