Por que a mesma placa pode ter outro controlador
Placas de display de baixo custo são feitas com painéis comprados no mercado aberto. Quando um lote muda de fornecedor, o controlador também pode mudar, enquanto o nome da placa, a PCB e a pinagem continuam iguais. A ESP32-2432S028R (Cheap Yellow Display) e a ESP32-2432S024 existem nas versões ILI9341 e ST7789.
Identifique pelos sintomas
O que você vê com uma configuração ILI9341 | Causa provável | Solução |
|---|---|---|
Tela branca ou vazia, backlight aceso | O controlador é ST7789 | Mude para o driver ST7789 |
A imagem aparece, mas as cores parecem negativo | O painel ST7789 precisa de inversão | Alterne a inversão ( |
Vermelho e azul trocados | Ordem de cor | Configure a ordem BGR ( |
Imagem espelhada ou deslocada | Ajuste de rotação / acesso à memória | Mude a rotação (MADCTL) |
Tudo escuro | Pino do backlight errado ou reutilizado | Verifique o GPIO do backlight |
Mude um ajuste de cada vez e mantenha um exemplo que funciona para comparar.
Identifique lendo o ID
Se a placa conectar a linha MISO do painel, você pode ler o ID do controlador em vez de adivinhar. Um ILI9341 responde 0x9341 ao comando Read ID4 (0xD3). No TFT_eSPI, tft.readcommand8(0xD3, n) lê o byte n de um registrador. Se não obtiver 0x93 e 0x41, tente o driver ST7789. Placas sem MISO não podem ser lidas, então use a tabela de sintomas.
Ajustes que diferem
Item | ILI9341 | ST7789 |
|---|---|---|
Driver do TFT_eSPI | | |
LovyanGFX | | |
ESP-IDF | | |
Inversão | normalmente desligada | frequentemente ligada |
Há modelos para ambos nas páginas do ILI9341 e do ST7789V.
Como evitar isso em um produto
Para um produto, especifique um módulo cujo datasheet indique o controlador e cujo fornecedor o mantenha fixo por lote de produção, para que o firmware não quebre entre lotes. Nosso módulo SPI de 2,8 polegadas e 240×320 usa um ST7789V especificado; amostras a partir de 1 pç.
Perguntas frequentes
Código de ILI9341 roda em um ST7789?
Não de forma confiável. Ambos são controladores de 240×320, mas a sequência de inicialização difere, então troque o driver em vez de remendar o código do ILI9341.
Por que as cores estão invertidas no meu display ST7789?
Muitos painéis ST7789 precisam de inversão de display (INVON). Ative TFT_INVERSION_ON ou chame tft.invertDisplay(true).
Como leio o ID do controlador?
Com o MISO conectado, leia o registrador 0xD3 (Read ID4): um ILI9341 retorna 0x93 0x41. Sem MISO, identifique pelos sintomas.

