¿Qué es el ST7789V?
El ST7789V es un driver de fuente y puerta para TFT LCD de Sitronix con memoria de fotograma integrada (GRAM). Como la imagen vive dentro del driver, un microcontrolador solo envía los píxeles que cambian y no necesita su propio búfer de fotograma. Por eso los módulos ST7789V son populares en placas ESP32, STM32, RP2040 y tipo Arduino.
¿Qué interfaz debo usar?
Interfaz | Pines | Uso típico |
|---|---|---|
SPI de 4 hilos | 4–5 | La mayoría de módulos; cableado sencillo, hasta ~60 MHz |
Paralelo 8080 (MCU) | 12–20 | Refresco a pantalla completa más rápido en MCU con FSMC/FMC |
RGB | 18–24 | Poco habitual en módulos pequeños; refresco tipo vídeo |
Problemas habituales en la puesta en marcha
- Pantalla blanca o negra: compruebe los tiempos de reset y que tras SLPOUT haya un retardo de 120 ms antes de DISPON.
- Colores erróneos: alterne INVON/INVOFF y el bit BGR en MADCTL.
- Imagen desplazada: configure el inicio de columna/fila correcto para paneles de 240×240 y 135×240.
- Tearing: use el pin TE si su módulo lo saca.
Vea nuestra guía para solucionar la pantalla TFT en blanco con una lista de comprobación paso a paso.
Código de inicialización del 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);Soporte de bibliotecas para ST7789V
| Biblioteca | Driver / clase | Notas |
|---|---|---|
| TFT_eSPI (Arduino) | ST7789_DRIVER | |
| LovyanGFX (Arduino / ESP-IDF) | lgfx::Panel_ST7789 | |
| ESP-IDF esp_lcd | esp_lcd_new_panel_st7789() (built in) | |
| Nota | Muchos paneles ST7789 necesitan activar la inversión de color. |
User_Setup_ST7789V.h · LGFX_ST7789V.hpp. Los pines son marcadores de posición; le enviamos actualizaciones cuando añadimos configuraciones probadas.
Placas de desarrollo con ST7789V
Módulos de pantalla con ST7789V

TFT LCD de 2,8" y 240×320, SPI (PJ2801H22-23H10P200)
- Tamaño
- 2.8"
- Resolución
- 240×320
- Brillo
- 200 nits

TFT LCD de 2,4" y 240×320, SPI (PJ2401I24-22H30P250)
- Tamaño
- 2.4"
- Resolución
- 240×320
- Brillo
- 250 nits

TFT LCD de 2,4" y 240×320, MCU (PJ2401I02-22H38P300)
- Tamaño
- 2.4"
- Resolución
- 240×320
- Brillo
- 300 nits

TFT LCD IPS de 2,4" y 240×320, SPI / MCU / RGB (PJ2401H28-22H45P200)
- Tamaño
- 2.4"
- Resolución
- 240×320
- Brillo
- 200 nits

TFT LCD IPS de 2,4" y 240×320, SPI / MCU / RGB (PJ2401H25-22H45P200)
- Tamaño
- 2.4"
- Resolución
- 240×320
- Brillo
- 200 nits

TFT LCD de 2" y 240×320, SPI / MCU (PJ2003L02-22H22P300)
- Tamaño
- 2"
- Resolución
- 240×320
- Brillo
- 300 nits
ST7789V: resolución de problemas y preguntas frecuentes
¿Por qué los colores están invertidos en mi pantalla ST7789?
La mayoría de paneles IPS con ST7789V necesitan activar la inversión de pantalla (comando 0x21, INVON). Si los colores parecen un negativo fotográfico, alterne la inversión; si el rojo y el azul están intercambiados, cambie el bit RGB/BGR en MADCTL (0x36).
¿Qué reloj SPI admite el ST7789V?
Muchos módulos funcionan de forma fiable a 40–62,5 MHz por SPI con cableado corto. Empiece a 20 MHz, confirme la imagen y luego suba comprobando que no haya corrupción.
¿Por qué mi imagen de 240×240 está desplazada 80 píxeles?
La memoria de fotograma del ST7789V es de 240×320. En paneles de 240×240 algunas rotaciones necesitan un desplazamiento de fila o columna (a menudo 80) en CASET/RASET; la mayoría de bibliotecas lo exponen como ajuste rowstart/colstart.