O que é o ST7789V?
O ST7789V é um driver de fonte e gate para TFT LCD da Sitronix com memória de quadro integrada (GRAM). Como a imagem fica dentro do driver, um microcontrolador só envia os pixels alterados e não precisa de frame buffer próprio. Por isso os módulos ST7789V são populares em placas ESP32, STM32, RP2040 e tipo Arduino.
Que interface devo usar?
Interface | Pinos | Uso típico |
|---|---|---|
SPI de 4 fios | 4–5 | A maioria dos módulos; fiação simples, até ~60 MHz |
Paralelo 8080 (MCU) | 12–20 | Atualização de tela cheia mais rápida em MCUs com FSMC/FMC |
RGB | 18–24 | Raro em módulos pequenos; atualização tipo vídeo |
Problemas comuns na inicialização
- Tela branca ou preta: verifique o timing do reset e se, após SLPOUT, há um atraso de 120 ms antes de DISPON.
- Cores erradas: alterne INVON/INVOFF e o bit BGR no MADCTL.
- Imagem deslocada: configure o início de coluna/linha correto para painéis de 240×240 e 135×240.
- Tearing: use o pino TE se o seu módulo o disponibilizar.
Veja nosso guia de solução de tela TFT em branco com um checklist passo a passo.
Código de inicialização do ST7789V
// Reference init sequence. Adjust MADCTL, inversion and offsets per panel.
write_cmd(0x01); // SWRESET
delay_ms(150);
write_cmd(0x11); // SLPOUT
delay_ms(120);
write_cmd(0x3A); write_data(0x55); // COLMOD: 16-bit RGB565
write_cmd(0x36); write_data(0x00); // MADCTL: rotation / RGB order
write_cmd(0x21); // INVON: most IPS panels need inversion
write_cmd(0x13); // NORON
write_cmd(0x29); // DISPON
delay_ms(20);Suporte de bibliotecas para o ST7789V
| Biblioteca | Driver / classe | Observações |
|---|---|---|
| TFT_eSPI (Arduino) | ST7789_DRIVER | |
| LovyanGFX (Arduino / ESP-IDF) | lgfx::Panel_ST7789 | |
| ESP-IDF esp_lcd | esp_lcd_new_panel_st7789() (built in) | |
| Observação | Muitos painéis ST7789 precisam da inversão de cores ativada. |
User_Setup_ST7789V.h · LGFX_ST7789V.hpp. Os pinos são marcadores; enviamos atualizações por e-mail quando adicionamos configurações testadas.
Placas de desenvolvimento com ST7789V
Módulos de display com ST7789V

TFT LCD de 2,8" e 240×320, SPI (PJ2801H22-23H10P200)
- Tamanho
- 2.8"
- Resolução
- 240×320
- Brilho
- 200 nits

TFT LCD de 2,4" e 240×320, SPI (PJ2401I24-22H30P250)
- Tamanho
- 2.4"
- Resolução
- 240×320
- Brilho
- 250 nits

TFT LCD de 2,4" e 240×320, MCU (PJ2401I02-22H38P300)
- Tamanho
- 2.4"
- Resolução
- 240×320
- Brilho
- 300 nits

TFT LCD IPS de 2,4" e 240×320, SPI / MCU / RGB (PJ2401H28-22H45P200)
- Tamanho
- 2.4"
- Resolução
- 240×320
- Brilho
- 200 nits

TFT LCD IPS de 2,4" e 240×320, SPI / MCU / RGB (PJ2401H25-22H45P200)
- Tamanho
- 2.4"
- Resolução
- 240×320
- Brilho
- 200 nits

TFT LCD de 2" e 240×320, SPI / MCU (PJ2003L02-22H22P300)
- Tamanho
- 2"
- Resolução
- 240×320
- Brilho
- 300 nits
ST7789V: solução de problemas e perguntas frequentes
Por que as cores estão invertidas no meu display ST7789?
A maioria dos painéis IPS com ST7789V precisa da inversão de display ativada (comando 0x21, INVON). Se as cores parecerem um negativo, alterne a inversão; se vermelho e azul estiverem trocados, mude o bit RGB/BGR no MADCTL (0x36).
Que clock SPI o ST7789V suporta?
Muitos módulos funcionam de forma confiável a 40–62,5 MHz via SPI com fiação curta. Comece em 20 MHz, confirme a imagem e depois aumente verificando se há corrupção.
Por que minha imagem de 240×240 está deslocada 80 pixels?
A memória de quadro do ST7789V é de 240×320. Em painéis de 240×240, algumas rotações precisam de um deslocamento de linha ou coluna (frequentemente 80) em CASET/RASET; a maioria das bibliotecas expõe isso como ajuste rowstart/colstart.