M5Stack fabrica hardware que puedes sostener en una mano y usar nada más sacarlo de la caja: una pantalla, botones, un altavoz y una batería ya están ahí cuando abres el paquete. Ese es exactamente el tipo de placa que un simulador debe reproducir al detalle o no sirve de nada, porque no hay una placa de prototipos a la que echarle la culpa. Este artículo trata sobre cómo el hardware de M5Stack llegó a Velxio, qué funciona hoy y la pequeña prueba que nos propusimos por el camino: ¿podían los sketches de ejemplo de M5Stack ejecutarse en el navegador sin cambiar ni una línea?
Pueden. Empecemos por ahí.
La prueba de pantalla de M5Stack, sin modificar
M5Stack incluye un ejemplo de pantalla con la librería Cardputer: rectángulos de colores aleatorios y texto disperso por la pantalla, para siempre, como una forma rápida de ver el trazado LCD a toda velocidad. Lo hemos puesto en la galería tal cual.

Para verlo tú mismo:
- Abre velxio.dev/example/cardputer-adv-m5-display. No es necesario registrarse.
- En la barra de herramientas superior, haz clic en el botón de reproducción. El sketch se compila con el mismo núcleo arduino-esp32 y la librería M5Cardputer que usarías en el IDE de Arduino. Una compilación en frío tarda unos minutos; una en caliente es mucho más rápida.
- Cuando la placa arranque, la pantalla se llenará de rectángulos a la resolución completa de 240x135 del panel.
- Haz clic en el teclado, o haz clic en la placa y usa tu propio teclado, y abre uno de los ejemplos de teclado listados al final del artículo para ver cómo llegan las pulsaciones al sketch.
Ese sketch es uno de los quince ejemplos oficiales de M5Stack en la galería. En la Cardputer ADV son los ejemplos de terminal de texto, botón, zumbador, pantalla, envío IR NEC, tecla única, teclas múltiples, entrada de texto, microSD y el juego de adivinanzas REPL. En el Core son HelloWorld, Button, Display, Speaker y TFCard. Cuando un ejemplo usaba la librería clásica M5Stack, que ya no compila con el núcleo arduino-esp32 3.x (ni en el IDE de Arduino ni en ningún otro sitio), se portó a M5Unified, la librería que M5Stack recomienda hoy en día. Todo lo demás está intacto.
Las dos placas

M5 Cardputer ADV. El ordenador con formato de tarjeta: un ESP32-S3, una pantalla de 1,14 pulgadas y 240x135, un teclado de 56 teclas, una IMU, un micrófono y un altavoz a través de un códec ES8311, un emisor IR, una ranura microSD y una batería. En Velxio, la pantalla se dibuja en la placa, todo el teclado escribe (haz clic en las teclas, o enfoca la placa y escribe con tu propio teclado), el altavoz suena a través de tu ordenador y el micrófono transmite el micrófono de tu ordenador cuando activas el interruptor de Mic en la cabecera del lienzo. El botón de Sensores, junto a él, inclina la IMU BMI270 y ajusta el nivel de batería, de modo que el código que reacciona a cualquiera de ellos puede probarse. El emisor IR también responde: un punto en la placa parpadea con cada transmisión decodificada. La microSD es una tarjeta FAT real con un panel de carga. Wi-Fi y MicroPython funcionan; la radio BLE no está emulada.

M5Stack Core (Basic v2.7). El clásico ESP32 apilable de 54x54 mm con una pantalla de 2 pulgadas y 320x240 tras el cristal, tres botones frontales, un altavoz, una ranura TF y un puerto Grove. La pantalla pinta, los tres botones hacen clic (activos en bajo, como están cableados), los tonos del altavoz suenan al tono real del sketch y la ranura TF es una tarjeta real. La tarjeta de pines M-Bus está impresa en los cuatro bordes de la placa, codificada por colores como en la carcasa real, y cada pin es cableable, por lo que el Core es un anfitrión tan bueno para piezas externas como cualquier DevKit.
Ambas placas aceptan Arduino C++ y MicroPython, y ambas incluyen hojas de datos flotantes en el selector de componentes que enumeran el pinout y enlazan a la tienda de M5Stack.
Las matrices Chain

También hay dos módulos M5Stack Chain en el catálogo: la Chain RGB Matrix (64 LEDs WS2812E) y la Chain Mono Matrix (64 LEDs blancos). En Velxio se manejan como matrices WS2812 normales en su pin DIN, que es como los cinco ejemplos de la galería las usan desde un Arduino Uno: un arcoíris, un barrido blanco, dígitos contadores, una pelota que rebota y un efecto de fuego. El protocolo Chain real basado en UART no está emulado en esta fase; eso está en la lista.
Colaborando con M5Stack
M5Stack apoyó este trabajo y proporcionó el hardware. Eso importó más de lo habitual aquí, porque gran parte de lo que hace útiles a estas placas está en la propia placa. La Cardputer ADV en Velxio se puso a punto contra una unidad física: el ID del panel que M5GFX lee para detectar la pantalla, la firma GPIO que distingue la revisión ADV de la original, el escaneo del teclado, el códec en I2C. Cuando la placa simulada responde a esas preguntas como lo hace la real, las librerías de M5Stack hacen el resto, y por eso sus ejemplos se ejecutan sin ediciones.
Agradecemos al equipo de M5Stack que respalde un proyecto que permite a la gente probar su hardware en una pestaña del navegador antes de comprarlo, y por las librerías de código abierto (M5Unified, M5GFX, M5Cardputer) que hicieron que la integración fuera cuestión de conseguir el hardware correcto en lugar de reescribir software.
Si quieres las placas físicas, están en shop.m5stack.com: la Cardputer ADV, el Basic Core v2.7, la Chain RGB Matrix y la Chain Mono Matrix. La documentación de M5Stack está en docs.m5stack.com.
Todo lo de M5Stack en Velxio funciona en el plan gratuito. Abre el selector de componentes, elige Boards, y la Cardputer ADV y el Core están ahí junto a las otras placas ESP32.
Todos los ejemplos de M5Stack en la galería
Cada enlace abre el proyecto listo para ejecutarse.
M5 Cardputer ADV
- M5 Cardputer ADV: eco de LCD + teclado
- M5 Cardputer ADV: terminal de texto (ejemplo oficial de M5Stack)
- M5 Cardputer ADV: recorrido por el hardware (pantalla, teclado, microSD, IMU, LED, batería, mic)
- M5 Cardputer ADV: Brick Blaster, un juego con sonido
- M5 Cardputer ADV: botón (ejemplo oficial)
- M5 Cardputer ADV: zumbador (ejemplo oficial)
- M5 Cardputer ADV: pantalla (ejemplo oficial)
- M5 Cardputer ADV: envío IR NEC (ejemplo oficial)
- M5 Cardputer ADV: pulsación de tecla única (ejemplo oficial)
- M5 Cardputer ADV: pulsación de teclas múltiples (ejemplo oficial)
- M5 Cardputer ADV: entrada de texto (ejemplo oficial)
- M5 Cardputer ADV: microSD (ejemplo oficial)
- M5 Cardputer ADV: juego de adivinanzas REPL (ejemplo oficial)
M5Stack Core
- M5Stack Core: Hello LCD + Botones
- M5Stack Core: LCD (Adafruit_ILI9341)
- M5Stack Core: microSD integrada + LCD
- M5Stack Core: piano de botones (altavoz)
- M5Stack Core: HelloWorld (ejemplo oficial)
- M5Stack Core: Button (ejemplo oficial)
- M5Stack Core: Display (ejemplo oficial)
- M5Stack Core: Speaker (ejemplo oficial)
- M5Stack Core: TFCard (ejemplo oficial)
Matrices Chain (en un Arduino Uno)
- M5Stack Chain RGB Matrix: arcoíris
- M5Stack Chain RGB Matrix: dígitos contadores
- M5Stack Chain RGB Matrix: pelota que rebota
- M5Stack Chain RGB Matrix: fuego
- M5Stack Chain Mono Matrix: barrido blanco
Las páginas de las placas en la documentación incluyen los pinouts completos: M5 Cardputer ADV y M5Stack Core. El artículo anterior de esta serie cubría Seeed Studio.