Qu’est-ce que le ST7789V ?
Le ST7789V est un pilote source et grille TFT LCD de Sitronix doté d’une mémoire d’image intégrée (GRAM). L’image résidant dans le pilote, un microcontrôleur n’envoie que les pixels modifiés et n’a pas besoin de son propre tampon d’image. C’est pourquoi les modules ST7789V sont populaires sur les cartes ESP32, STM32, RP2040 et de classe Arduino.
Quelle interface utiliser ?
Interface | Broches | Usage typique |
|---|---|---|
4-wire SPI | 4–5 | La plupart des modules ; câblage simple, jusqu’à ~60 MHz |
8080 parallèle (MCU) | 12–20 | Rafraîchissement plein écran plus rapide sur MCU avec FSMC/FMC |
RGB | 18–24 | Rare sur les petits modules ; rafraîchissement de type vidéo |
Problèmes courants de mise en service
- Écran blanc ou noir : vérifiez la temporisation du reset et qu’un délai de 120 ms suit SLPOUT avant DISPON.
- Mauvaises couleurs : basculez INVON/INVOFF et le bit BGR de MADCTL.
- Image décalée : réglez le bon début de colonne/ligne pour les dalles 240×240 et 135×240.
- Déchirement : utilisez la broche TE si votre module la sort.
Consultez notre guide de dépannage de l’écran blanc TFT pour une liste de contrôle pas à pas.
Code d’initialisation 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);Prise en charge du ST7789V par les bibliothèques
| Bibliothèque | Pilote / classe | Remarques |
|---|---|---|
| TFT_eSPI (Arduino) | ST7789_DRIVER | |
| LovyanGFX (Arduino / ESP-IDF) | lgfx::Panel_ST7789 | |
| ESP-IDF esp_lcd | esp_lcd_new_panel_st7789() (built in) | |
| Remarque | De nombreuses dalles ST7789 nécessitent l’inversion des couleurs. |
User_Setup_ST7789V.h · LGFX_ST7789V.hpp. Les broches sont provisoires ; nous vous écrivons lorsque nous ajoutons des configurations testées.
Cartes de développement utilisant le ST7789V
Modules d’affichage utilisant le ST7789V

TFT LCD 2,8" 240×320, SPI (PJ2801H22-23H10P200)
- Taille
- 2.8"
- Résolution
- 240×320
- Luminosité
- 200 nits

TFT LCD 2,4" 240×320, SPI (PJ2401I24-22H30P250)
- Taille
- 2.4"
- Résolution
- 240×320
- Luminosité
- 250 nits

TFT LCD 2,4" 240×320, MCU (PJ2401I02-22H38P300)
- Taille
- 2.4"
- Résolution
- 240×320
- Luminosité
- 300 nits

TFT LCD IPS 2,4" 240×320, SPI / MCU / RGB (PJ2401H28-22H45P200)
- Taille
- 2.4"
- Résolution
- 240×320
- Luminosité
- 200 nits

TFT LCD IPS 2,4" 240×320, SPI / MCU / RGB (PJ2401H25-22H45P200)
- Taille
- 2.4"
- Résolution
- 240×320
- Luminosité
- 200 nits

TFT LCD 2" 240×320, SPI / MCU (PJ2003L02-22H22P300)
- Taille
- 2"
- Résolution
- 240×320
- Luminosité
- 300 nits
ST7789V : dépannage et FAQ
Pourquoi les couleurs de mon afficheur ST7789 sont-elles inversées ?
La plupart des dalles IPS à ST7789V nécessitent l’inversion d’affichage (commande 0x21, INVON). Si les couleurs ressemblent à un négatif photo, basculez l’inversion ; si le rouge et le bleu sont permutés, changez le bit RGB/BGR de MADCTL (0x36).
Quelle horloge SPI le ST7789V supporte-t-il ?
Beaucoup de modules fonctionnent de façon fiable en SPI à 40–62,5 MHz avec un câblage court. Commencez à 20 MHz, validez l’image, puis augmentez en surveillant les corruptions.
Pourquoi mon image 240×240 est-elle décalée de 80 pixels ?
La mémoire d’image du ST7789V fait 240×320. Sur les dalles 240×240, certaines rotations nécessitent un décalage de ligne ou de colonne (souvent 80) dans CASET/RASET ; la plupart des bibliothèques l’exposent via un réglage rowstart/colstart.