Indietro

Le nuove schede XIAO IPS Display di Seeed, in esecuzione nel tuo browser pochi giorni dopo il lancio

L’8 settembre, Seeed Studio ha annunciato tre nuovi dispositivi: un display IPS da 0,96 pollici, uno da 1,14 pollici e uno da 1,47 pollici, ciascuno una scheda carrier con un XIAO nRF52840 Plus già saldato sopra. Schermo, pulsanti, un’IMU a 6 assi, un microfono e un connettore per batteria, in qualcosa che sta sulla punta di un dito.

Ora sono in Velxio. Puoi aprirne uno, premere Run e guardare il firmware demo di Seeed disegnare sul vetro — senza ordinare una scheda e con il piano gratuito. La scheda sulla tela è disegnata come Seeed la fotografa, fronte e retro: il vetro, i pulsanti USR e il microfono su una faccia; lo XIAO nRF52840 Plus saldato, il socket della batteria, l’interruttore di alimentazione, lo slot per la scheda o la porta Grove, e i pad che puoi collegare, sull’altra.

Il display XIAO IPS Touch da 1,47 pollici: la scheda assemblata che mostra la sua dashboard di fabbrica a sinistra e il retro del carrier con lo XIAO nRF52840 Plus, il connettore della batteria e lo slot microSD a destra, tenuta in una mano

Le tre schede

Tutte e tre portano lo stesso computer — uno XIAO nRF52840 Plus — e gli stessi sensori intorno: un’IMU a 6 assi, un microfono PDM, Bluetooth Low Energy e un connettore per batteria JST con rilevamento della carica. Ciò che cambia è il vetro e quello che Seeed ci ha messo intorno.

XIAO 0.96” IPS Display — un pannello ST7789, 80 x 160, con due pulsanti utente. Il piccolo: una lettura di stato, un wearable, qualsiasi cosa che richieda una riga di testo e un numero.

Il display XIAO IPS da 0,96 pollici, fronte e retro, che mostra la sua dashboard di fabbrica con letture di batteria, movimento e microfono

XIAO 1.14” IPS Display — un pannello ST7789, 135 x 240, tre pulsanti utente e, a differenza degli altri due, un connettore Grove I2C. Quel connettore è il motivo per cui è questo quello da scegliere se vuoi collegarci un sensore.

Il display XIAO IPS da 1,14 pollici, fronte e retro, con tre pulsanti utente, un connettore Grove I2C e il connettore della batteria

XIAO 1.47” IPS Touch Display — un pannello JD9853A, 172 x 320, con uno strato touch capacitivo e uno slot microSD. Il flagship, e quello con più cose in ballo all’interno.

Cosa disegna davvero il browser

Tre pannelli emulati fianco a fianco: il 0,96 pollici che esegue Electronic Quicksand di Seeed con i granelli ammassati in un angolo, il 1,14 pollici che mostra le barre colorate di GraphicTest, e il 1,47 pollici che esegue Touch Circle con nove cerchi bianchi dove un dito ha toccato

Quelle tre immagini non sono mock-up. Ognuna è il frame buffer di un controller di display emulato, riempito dal firmware compilato di Seeed stesso.

Vale la pena spiegare la catena, perché è tutto il punto. Il tuo sketch viene compilato da un vero arduino-cli con il core nRF52 di Seeed, per l’FQBN della scheda stessa. Il firmware risultante viene eseguito istruzione per istruzione da un nuovo motore nRF52840 nel browser — lo stesso tipo di motore che già esegue le schede ESP32 e RP2040 in Velxio. Il firmware inizializza il periferico SPI e inizia a emettere byte; un modello dell’ST7789 legge le linee chip-select e data/command dai pin a ogni byte e decodifica ciò che gli viene detto di fare. Quello che vedi sullo schermo è il contenuto della memoria di quel controller.

Nulla viene intercettato a livello di libreria. Se sostituisci la libreria grafica di Seeed con le tue scritture SPI, il pannello disegna comunque.

Inizia con il graphic test

  1. Apri velxio.dev/example/xiao-114-graphictest. Non ti serve un account.
  2. Premi il pulsante play sulla barra degli strumenti. Lo sketch viene compilato sui server di Velxio — la prima build di una nuova libreria richiede un paio di minuti, le successive sono rapide — e poi la scheda si avvia.
  3. Guarda il pannello eseguire dieci primitive di disegno: barre colorate, linee, rettangoli, cerchi, triangoli, testo, un gradiente di pixel. Il monitor seriale in basso stampa quanto tempo ha impiegato ciascuna, esattamente come fa via USB sul banco.
  4. Poi cambia qualcosa. Scambia un colore, aggiungi un fillCircle, eseguilo di nuovo.

Inclinalo, toccalo, metti un file sulla scheda

Il pannello è la parte difficile, ma non è la parte interessante. Ciò che rende queste schede degne di essere simulate è tutto il resto che c’è sopra, e tutto è collegato a qualcosa che puoi muovere con il mouse.

L’IMU. La demo Electronic Quicksand di Seeed fa cadere qualche centinaio di granelli di sabbia e li lascia cadere nella direzione in cui la scheda è inclinata. Premi Sensors sulla barra degli strumenti della tela, trascina il punto sul pad Tilt, e la sabbia scorre nell’angolo. L’LSM6DS3TR-C risponde su I2C al suo indirizzo reale e con la sensibilità specificata dal suo datasheet, quindi i numeri che lo sketch converte sono i numeri che il componente gli darebbe. Lo stesso pad ora pilota l’IMU sullo XIAO nRF52840 Sense, MG24 Sense e nRF54L15 Sense nudi, che montano lo stesso componente.

Il vetro touch. Sulla scheda da 1,47 pollici, il controller capacitivo risponde con lo stesso report di 14 byte che legge il driver di Seeed, con la sua linea di interrupt abbassata mentre un dito è premuto. Disegna sul pannello con il mouse e i cerchi cadono dove hai cliccato.

Lo slot microSD. La scheda e il pannello condividono un solo bus SPI sulla scheda reale, distinti dai loro chip select, e lo condividono anche qui. I file del tuo progetto sono sulla scheda quando lo sketch la monta, e puoi aggiungere i tuoi tramite il pannello SD Card della scheda.

La batteria. Questa è la sorpresa più bella. La demo della batteria di Seeed non si fida di una tensione statica — su USB, il nodo del caricatore stesso può sembrare una cella — quindi impara prima una baseline solo-USB e dichiara una batteria presente solo dopo un calo sostenuto. Sposta il cursore della batteria nello stesso pannello Sensors giù di un decimo di volt e guarda la macchina a stati dello sketch decidere.

Il pannello da 0,96 pollici emulato, che mostra la demo della batteria di Seeed dopo il calo del cursore: un'icona verde della batteria, 52 percento, 3,80 V

Cosa ha fatto emergere eseguire il codice del produttore

Quattordici dei quindici esempi della galleria sono file di Seeed stesso, modificati solo in due modi: la nota di porting in cima diventa una breve intestazione che dice da dove proviene lo sketch, e un #include che il core già fornisce viene rimosso. Eseguirli ha trovato due problemi reali in Seeed_GFX2 1.0.0, la libreria grafica con cui queste schede vengono fornite.

Non compila su un filesystem case-sensitive. Il catalogo prodotti della libreria include XIAO_ePaper_Boards.h e reTerminal_ePaper_Boards.h, mentre i file sono scritti EPaper — e ciascuno di quei due header nomina poi il proprio header di configurazione allo stesso modo sbagliato, quindi la seconda coppia emerge solo dopo aver corretto la prima. Quattro righe #include in tre file. Su macOS e Windows questo si risolve; su Linux — che è ciò che esegue una compile farm — ogni sketch che tocca la libreria si ferma con “No such file or directory”. È ancora sul branch main upstream oggi. Velxio ripara le quattro righe quando recupera la libreria, così gli esempi compilano.

La configurazione del pannello da 1,14 pollici ha l’ordine dei colori sbagliato. La libreria configura quella scheda come RGB; il pannello è cablato BGR. Seeed lo sa — le loro stesse demo per la scheda portano un override locale allo sketch con il commento “the panel is physically wired for BGR color order” — ma la configurazione della libreria stessa non si è aggiornata, e puoi vedere la conseguenza nella registrazione di Seeed stesso del loro graphic test sul wiki: la prima barra colorata è disegnata rossa e viene fuori blu, e quella disegnata gialla viene fuori ciano.

Quella seconda ha cambiato il modo in cui Velxio modella il pannello. Un modello di display che porta un flag fisso “scambia rosso e blu” non può riprodurre questo, perché lo scambio non è una proprietà del solo pannello — è ciò che ottieni quando il cablaggio del pannello e il bit di ordine dei colori del controller sono in disaccordo. Quindi Velxio modella i due separatamente e li lascia annullare. Uno sketch che usa l’override di Seeed renderizza correttamente; uno sketch che prende la libreria alla lettera mostra lo stesso scambio rosso-blu che mostrerebbe sulla tua scrivania. La stessa correzione si applica all’inversione del display, ed è così che gli sfondi neri di quella scheda hanno smesso di venire fuori bianchi.

Cosa non è modellato

Essere chiari sui limiti, perché un simulatore che silenziosamente non fa nulla è peggio di uno che lo dichiara:

Ogni esempio nella galleria

XIAO 0.96” IPS Display

XIAO 1.14” IPS Display

XIAO 1.47” IPS Touch Display

Le schede sono nello store di Seeed — la 0.96 pollici, la 1.14 pollici e la 1.47 pollici Touch — e gli sketch dimostrativi sono in Seeed-Projects/Display-Gadgets. Provali prima qui; gli sketch si spostano in entrambi i casi invariati.

Fotografie delle schede per gentile concessione di Seeed Studio.


Condividi su:
David Montero

Scritto da

David Montero

Creator of Velxio, the open-source circuit and Arduino simulator.

GitHub velxio.dev

Articoli correlati


Articolo precedente
222 moduli Seeed Grove ora funzionano nel browser
Articolo successivo
Creare un gioco di corse 3D in stile OutRun per l'ESP32-S3 senza Z-buffer