🛠 Afficher du texte sur l'écran 135×240
Objectifs
Découvrir l'écran 1,14" 135×240 (contrôleur ST7789V2, SPI : MOSI=G15, CLK=G13, DC=G14, RST=G12, CS=G5, rétroéclairage G27) de la M5StickC Plus2 et afficher ses premières lignes de texte avec la bibliothèque M5Unified, la bibliothèque officiellement recommandée (l'ancienne M5StickCPlus2.h est marquée Dépréciée par M5Stack).
Matériel
- 1× M5StickC Plus2 (SKU K016-P2, révision v2 depuis 2023.12, ESP32-PICO-V3-02, 8 Mo flash + 2 Mo PSRAM)
- 1× câble USB-C data (attention : en C-vers-C le port COM peut ne pas être reconnu — éteindre l'appareil jusqu'à la LED verte puis rebrancher)
- Driver USB CH9102 installé sur le PC
- Arduino IDE avec le paquet esp32 (ou PlatformIO :
platform = espressif32@6.7.0,board = m5stick-c, flags-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue,lib_deps = M5Unified)
Code complet
// M5StickC Plus2 — hello écran (M5Unified + M5GFX depuis le gestionnaire de libraries)
#include <M5Unified.h>
void setup {
auto cfg = M5.config;
M5.begin(cfg); // init ST7789V2 135x240 (broches officielles)
M5.Display.setRotation(1); // paysage : 240 x 135
M5.Display.fillScreen(TFT_BLACK);
M5.Display.setTextColor(TFT_GREEN, TFT_BLACK);
M5.Display.setTextSize(2);
M5.Display.setCursor(4, 4);
M5.Display.println("StickC Plus2");
M5.Display.setTextSize(1);
M5.Display.setTextColor(TFT_WHITE, TFT_BLACK);
M5.Display.printf("Flash: %u MB\n", (unsigned)(ESP.getFlashChipSize / 1048576));
M5.Display.printf("PSRAM: %s\n", psramFound ? "2 MB OK" : "absente");
}
void loop {
M5.update;
M5.Display.setCursor(4, 110);
M5.Display.printf("millis = %lu ", (unsigned long)millis);
vTaskDelay(100 / portTICK_PERIOD_MS);
}
Vérification attendue
À la mise sous tension, l'écran affiche en vert « StickC Plus2 », puis « Flash: 8 MB » et « PSRAM: 2 MB OK » ; une ligne millis défile en bas. L'appareil s'allume via le bouton C maintenu plus de 2 secondes (révision v2, sans PMIC AXP192).
Erreurs fréquentes
- Mauvaise initialisation écran → « LED verte allumée mais écran noir » : problème classique quand on compile un exemple M5StickC (Plus) standard pour une Plus2 ; utiliser M5Unified et une carte compatible Plus2.
- Oubli de
M5.begin(cfg)ou deM5.updatedans la boucle. - Écran « à l'envers » : ne pas oublier
setRotation(1)pour le mode paysage 240×135. - Port COM introuvable : driver CH9102 manquant, ou câble C-vers-C mal reconnu (éteindre puis rebrancher).
- Utiliser l'ancienne bibliothèque
M5StickCPlus2.h: elle compile mais n'est plus maintenue.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
hello-stick.inoArduinoboutons.inoArduinobuzzer.inoArduinoinclinometre.inoArduinohorloge.inoArduinoir-tv.inoArduino