🛠 Afficher du texte sur l'écran 135×240
Objetivos
Descubrir la pantalla de 1,14" 135×240 (controlador ST7789V2, SPI: MOSI=G15, CLK=G13, DC=G14, RST=G12, CS=G5, retroiluminación G27) de la M5StickC Plus2 y mostrar sus primeras líneas de texto con la biblioteca M5Unified, la biblioteca oficialmente recomendada (la antigua M5StickCPlus2.h está marcada como Obsoleta por M5Stack).
Material
- 1× M5StickC Plus2 (SKU K016-P2, revisión v2 desde 2023.12, ESP32-PICO-V3-02, 8 MB flash + 2 MB PSRAM)
- 1× cable USB-C de datos (atención: con un cable C-a-C, el puerto COM puede no ser reconocido — apagar el dispositivo hasta que la LED verde se apague y volver a conectarlo)
- Driver USB CH9102 instalado en el PC
- Arduino IDE con el paquete esp32 (o PlatformIO:
platform = espressif32@6.7.0,board = m5stick-c, flags-DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue,lib_deps = M5Unified)
Código completo
// 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);
}
Verificación esperada
Al encender, la pantalla muestra en verde « StickC Plus2 », luego « Flash: 8 MB » y « PSRAM: 2 MB OK » ; una línea millis se desplaza en la parte inferior. El dispositivo se enciende manteniendo presionado el botón C durante más de 2 segundos (revisión v2, sin PMIC AXP192).
Errores frecuentes
- Inicialización incorrecta de la pantalla → « LED verde encendida pero pantalla negra »: problema clásico cuando se compila un ejemplo estándar de M5StickC (Plus) para una Plus2; usar M5Unified y una placa compatible con Plus2.
- Olvidar
M5.begin(cfg)oM5.updateen el bucle. - Pantalla « invertida »: no olvidar
setRotation(1)para el modo horizontal 240×135. - Puerto COM no encontrado: falta el driver CH9102, o el cable C-a-C no se reconoce correctamente (apagar y volver a conectar).
- Usar la antigua biblioteca
M5StickCPlus2.h: compila pero ya no se mantiene.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
hello-stick.inoArduinoboutons.inoArduinobuzzer.inoArduinoinclinometre.inoArduinohorloge.inoArduinoir-tv.inoArduino