M5Stack costruisce hardware che puoi tenere in una mano e usare subito: uno schermo, pulsanti, un altoparlante e una batteria sono già lì quando apri la confezione. È esattamente il tipo di scheda che un simulatore deve riprodurre in ogni dettaglio o è inutile, perché non c’è una breadboard a cui dare la colpa. Questo post parla di come l’hardware M5Stack è arrivato in Velxio, cosa funziona oggi, e il piccolo test che ci siamo posti lungo il percorso: gli sketch di esempio di M5Stack potevano essere eseguiti nel browser senza modificare una riga?
Sì. Partiamo da qui.
Il test di visualizzazione ufficiale di M5Stack, senza modifiche
M5Stack include un esempio di visualizzazione con la libreria Cardputer: rettangoli colorati casuali e testo sparsi sullo schermo, all’infinito, come modo rapido per vedere il percorso LCD funzionare a piena velocità. Lo abbiamo inserito nella galleria così com’è.

Per vederlo tu stesso:
- Apri velxio.dev/example/cardputer-adv-m5-display. Non è richiesta alcuna registrazione.
- Nella barra degli strumenti in alto, clicca il pulsante di riproduzione. Lo sketch viene compilato con lo stesso core arduino-esp32 e la libreria M5Cardputer che useresti nell’Arduino IDE. Una build a freddo richiede qualche minuto; una a caldo è molto più veloce.
- Quando la scheda si avvia, lo schermo si riempie di rettangoli alla piena risoluzione di 240x135 del pannello.
- Clicca sulla tastiera, oppure clicca sulla scheda e usa la tua tastiera, e apri uno degli esempi di tastiera elencati alla fine del post per vedere i tasti premuti arrivare nello sketch.
Quello sketch è uno dei quindici esempi ufficiali M5Stack nella galleria.
Sul Cardputer ADV sono gli esempi di terminale di testo, pulsante, cicalino, visualizzazione,
invio IR NEC, tasto singolo, tasti multipli, input di testo, microSD e gioco
di indovinelli REPL. Sul Core sono HelloWorld, Button, Display, Speaker
e TFCard. Dove un esempio usava la classica libreria M5Stack, che non
compila più sul core arduino-esp32 3.x (nell’Arduino IDE o
altrove), è stato portato a M5Unified, la libreria che M5Stack raccomanda
oggi. Tutto il resto è intatto.
Le due schede

M5 Cardputer ADV. Il computer a forma di carta di credito: un ESP32-S3, uno schermo da 1,14 pollici 240x135, una tastiera a 56 tasti, un’IMU, un microfono e un altoparlante tramite un codec ES8311, un emettitore IR, uno slot microSD e una batteria. In Velxio lo schermo disegna sulla scheda, l’intera tastiera digita (clicca i tasti, oppure metti a fuoco la scheda e digita sulla tua tastiera), l’altoparlante riproduce l’audio dal tuo computer, e il microfono trasmette il microfono del tuo computer quando attivi l’interruttore Mic nell’intestazione della tela. Il pulsante Sensors accanto inclina l’IMU BMI270 e imposta il livello della batteria, così il codice che reagisce a entrambi può essere testato. Anche l’emettitore IR risponde: un punto sulla scheda lampeggia a ogni trasmissione decodificata. La microSD è una vera scheda FAT con un pannello di caricamento. Wi-Fi e MicroPython funzionano; la radio BLE non è emulata.

M5Stack Core (Basic v2.7). Il classico ESP32 impilabile da 54x54 mm con uno schermo da 2 pollici 320x240 dietro il vetro, tre pulsanti frontali, un altoparlante, uno slot TF e una porta Grove. Lo schermo disegna, i tre pulsanti cliccano (active-low, come cablati), i toni dell’altoparlante suonano alla frequenza reale dello sketch, e lo slot TF è una vera scheda. La scheda pin M-Bus è stampata su tutti e quattro i bordi della scheda, con codifica a colori come la custodia reale, e ogni pin su di essa è collegabile, quindi il Core è un buon host per parti esterne come qualsiasi DevKit.
Entrambe le schede supportano Arduino C++ e MicroPython, ed entrambe hanno fogli dati al passaggio del mouse nel selettore componenti che elencano il pinout e collegano al negozio di M5Stack.
Le matrici Chain

Anche due moduli M5Stack Chain sono nel catalogo: la Chain RGB Matrix (64 LED WS2812E) e la Chain Mono Matrix (64 LED bianchi). In Velxio sono pilotate come normali matrici WS2812 sul loro pin DIN, che è come i cinque esempi della galleria le usano da un Arduino Uno: un arcobaleno, una scansione bianca, cifre che contano, una palla che rimbalza e un effetto fuoco. Il protocollo Chain UART reale non è emulato in questa fase; è nella lista.
Collaborazione con M5Stack
M5Stack ha supportato questo lavoro e ha fornito l’hardware. Questo è stato più importante del solito, perché gran parte di ciò che rende utili queste schede è sulla scheda stessa. Il Cardputer ADV in Velxio è stato sviluppato confrontandolo con un’unità fisica: l’ID del pannello che M5GFX legge per rilevare il display, la firma GPIO che distingue la revisione ADV dall’originale, la scansione della tastiera, il codec su I2C. Quando la scheda simulata risponde a queste domande come fa quella reale, le librerie di M5Stack fanno il resto, ed è per questo che i loro esempi funzionano senza modifiche.
Siamo grati al team di M5Stack per aver sostenuto un progetto che permette alle persone di provare il loro hardware in una scheda del browser prima di acquistarlo, e per le librerie open-source (M5Unified, M5GFX, M5Cardputer) che hanno reso l’integrazione una questione di ottenere l’hardware giusto piuttosto che riscrivere il software.
Se vuoi le schede fisiche, sono su shop.m5stack.com: il Cardputer ADV, il Basic Core v2.7, la Chain RGB Matrix e la Chain Mono Matrix. La documentazione M5Stack è su docs.m5stack.com.
Tutto ciò che riguarda M5Stack in Velxio funziona sul piano gratuito. Apri il selettore componenti, scegli Boards, e il Cardputer ADV e il Core sono lì accanto alle altre schede ESP32.
Tutti gli esempi M5Stack nella galleria
Ogni link apre il progetto pronto per essere eseguito.
M5 Cardputer ADV
- M5 Cardputer ADV: eco LCD + tastiera
- M5 Cardputer ADV: terminale di testo (esempio ufficiale M5Stack)
- M5 Cardputer ADV: tour dell’hardware (display, tastiera, microSD, IMU, LED, batteria, mic)
- M5 Cardputer ADV: Brick Blaster, un gioco con audio
- M5 Cardputer ADV: pulsante (esempio ufficiale)
- M5 Cardputer ADV: cicalino (esempio ufficiale)
- M5 Cardputer ADV: display (esempio ufficiale)
- M5 Cardputer ADV: invio IR NEC (esempio ufficiale)
- M5 Cardputer ADV: pressione tasto singolo (esempio ufficiale)
- M5 Cardputer ADV: pressione tasti multipli (esempio ufficiale)
- M5 Cardputer ADV: input di testo (esempio ufficiale)
- M5 Cardputer ADV: microSD (esempio ufficiale)
- M5 Cardputer ADV: gioco di indovinelli REPL (esempio ufficiale)
M5Stack Core
- M5Stack Core: Hello LCD + Pulsanti
- M5Stack Core: LCD (Adafruit_ILI9341)
- M5Stack Core: microSD integrata + LCD
- M5Stack Core: pianoforte a pulsanti (altoparlante)
- M5Stack Core: HelloWorld (esempio ufficiale)
- M5Stack Core: Button (esempio ufficiale)
- M5Stack Core: Display (esempio ufficiale)
- M5Stack Core: Speaker (esempio ufficiale)
- M5Stack Core: TFCard (esempio ufficiale)
Matrici Chain (su un Arduino Uno)
- M5Stack Chain RGB Matrix: arcobaleno
- M5Stack Chain RGB Matrix: cifre che contano
- M5Stack Chain RGB Matrix: palla che rimbalza
- M5Stack Chain RGB Matrix: fuoco
- M5Stack Chain Mono Matrix: scansione bianca
Le pagine delle schede nella documentazione riportano i pinout completi: M5 Cardputer ADV e M5Stack Core. Il post precedente di questa serie riguardava Seeed Studio.