Am 8. September hat Seeed Studio drei neue Gadgets vorgestellt: ein 0,96-Zoll-, ein 1,14-Zoll- und ein 1,47-Zoll-IPS-Display, jedes davon ein Trägerboard mit einem bereits aufgelöteten XIAO nRF52840 Plus. Bildschirm, Tasten, eine 6-Achsen-IMU, ein Mikrofon und ein Batterieanschluss, in etwas, das auf eine Fingerspitze passt.
Sie sind jetzt in Velxio. Du kannst eines öffnen, auf Run drücken und zusehen, wie Seeeds eigene Demo-Firmware auf das Glas zeichnet — ohne ein Board zu bestellen, und im kostenlosen Plan. Das Board auf der Leinwand ist so gezeichnet, wie Seeed es fotografiert, von vorne und hinten: das Glas, die USR-Tasten und das Mikrofon auf der einen Seite; das aufgelötete XIAO nRF52840 Plus, die Batteriebuchse, der Netzschalter, der Kartenslot oder der Grove-Port und die Pads, die du verdrahten kannst, auf der anderen.

Die drei Boards
Alle drei tragen denselben Computer — einen XIAO nRF52840 Plus — und dieselben Sensoren drumherum: eine 6-Achsen-IMU, ein PDM-Mikrofon, Bluetooth Low Energy und einen JST-Batterieanschluss mit Ladeerkennung. Was sich unterscheidet, ist das Glas und das, was Seeed drumherum platziert hat.
XIAO 0,96” IPS Display — ein ST7789-Panel, 80 x 160, mit zwei Benutzertasten. Das kleine: eine Statusanzeige, ein Wearable, alles, was eine Textzeile und eine Zahl braucht.

XIAO 1,14” IPS Display — ein ST7789-Panel, 135 x 240, drei Benutzertasten und, anders als die anderen beiden, ein Grove-I2C-Anschluss. Dieser Anschluss ist der Grund, warum man zu diesem greifen sollte, wenn man einen Sensor daran hängen möchte.

XIAO 1,47” IPS Touch Display — ein JD9853A-Panel, 172 x 320, mit einer kapazitiven Touch-Schicht und einem microSD-Slot. Das Flaggschiff, und das mit dem meisten Innenleben.
Was der Browser tatsächlich zeichnet

Diese drei Bilder sind keine Mock-ups. Jedes davon ist der Frame-Buffer eines emulierten Display-Controllers, gefüllt von Seeeds eigener kompilierter Firmware.
Die Kette ist es wert, ausführlich erklärt zu werden, denn sie ist der ganze Punkt. Dein Sketch wird von einem echten arduino-cli mit Seeeds eigenem nRF52-Core für das eigene FQBN des Boards kompiliert. Die resultierende Firmware wird Instruktion für Instruktion von einer neuen nRF52840-Engine im Browser ausgeführt — derselben Art von Engine, die bereits die ESP32- und RP2040-Boards in Velxio betreibt. Die Firmware initialisiert das SPI-Peripheriegerät und beginnt, Bytes herauszuschieben; ein Modell des ST7789 liest bei jedem Byte die Chip-Select- und Data/Command-Leitungen von den Pins ab und dekodiert, was ihm gesagt wird. Was du auf dem Bildschirm siehst, ist der Inhalt des Speichers dieses Controllers.
Nichts wird auf Bibliotheksebene abgefangen. Wenn du Seeeds Grafikbibliothek durch deine eigenen SPI-Schreibvorgänge ersetzt, zeichnet das Panel trotzdem.
Fang mit dem Grafiktest an
- Öffne velxio.dev/example/xiao-114-graphictest. Du brauchst kein Konto.
- Drücke die Play-Taste in der Symbolleiste. Der Sketch wird auf Velxios Servern kompiliert — der erste Build einer neuen Bibliothek dauert ein paar Minuten, spätere sind schnell — und dann bootet das Board.
- Sieh zu, wie das Panel zehn Zeichenprimitive durchläuft: Farblbalken, Linien, Rechtecke, Kreise, Dreiecke, Text, einen Pixelverlauf. Der serielle Monitor unten gibt aus, wie lange jedes davon gedauert hat, genau wie über USB auf dem Labortisch.
- Dann ändere etwas. Tausche eine Farbe, füge einen
fillCirclehinzu, führe es erneut aus.
Kipp es, tipp es an, leg eine Datei auf die Karte
Das Panel ist der schwierige Teil, aber nicht der interessante. Was diese Boards simulationswürdig macht, ist alles andere darauf, und all das ist mit etwas verbunden, das du mit der Maus bewegen kannst.
Die IMU. Seeeds Electronic Quicksand-Demo lässt ein paar hundert Sandkörner fallen und sie in die Richtung rieseln, in die das Board gekippt wird. Drücke Sensors in der Symbolleiste der Leinwand, zieh den Punkt auf dem Tilt-Pad, und der Sand läuft in die Ecke. Der LSM6DS3TR-C antwortet auf I2C unter seiner echten Adresse und mit der Empfindlichkeit, die sein Datenblatt angibt, sodass die Zahlen, die der Sketch umrechnet, die Zahlen sind, die das Bauteil ihm liefern würde. Dasselbe Pad steuert jetzt auch die IMU auf dem nackten XIAO nRF52840 Sense, MG24 Sense und nRF54L15 Sense, die dasselbe Bauteil tragen.
Das Touch-Glas. Auf dem 1,47-Zoll-Board antwortet der kapazitive Controller mit demselben 14-Byte-Report, den Seeeds Treiber liest, wobei seine Interrupt-Leitung auf Low gezogen wird, solange ein Finger aufliegt. Zeichne mit der Maus auf das Panel, und die Kreise landen dort, wo du geklickt hast.
Der microSD-Slot. Die Karte und das Panel teilen sich auf dem echten Board einen SPI-Bus, unterschieden durch ihre Chip-Selects, und hier teilen sie ihn ebenfalls. Die Dateien deines Projekts sind auf der Karte, wenn der Sketch sie mountet, und du kannst deine eigenen über das SD Card-Panel des Boards hinzufügen.
Die Batterie. Diese ist die schönste Überraschung. Seeeds Batterie-Demo vertraut keiner statischen Spannung — am USB kann der eigene Knoten des Ladegeräts wie eine Zelle aussehen —, also lernt sie zuerst eine reine USB-Baseline und erklärt eine Batterie erst nach einem anhaltenden Abfall als vorhanden. Schiebe den Batterie-Slider im selben Sensors-Panel um eine Zehntelvolt nach unten und sieh zu, wie die Zustandsmaschine des Sketches sich entscheidet.

Was das Ausführen des Herstellercodes aufgedeckt hat
Vierzehn der fünfzehn Galerie-Beispiele sind Seeeds eigene Dateien, nur auf zwei Arten geändert: Der Portierungshinweis oben wird zu einem kurzen Header, der sagt, woher der Sketch stammt, und ein #include, das der Core bereits bereitstellt, wird entfernt. Ihr Ausführen hat zwei echte Probleme in Seeed_GFX2 1.0.0 gefunden, der Grafikbibliothek, mit der diese Boards ausgeliefert werden.
Sie lässt sich auf einem dateisystem mit Groß-/Kleinschreibung nicht bauen. Der Produktkatalog der Bibliothek enthält XIAO_ePaper_Boards.h und reTerminal_ePaper_Boards.h, während die Dateien EPaper geschrieben sind — und jeder dieser beiden Header benennt dann seinen eigenen Konfigurations-Header auf dieselbe falsche Weise, sodass das zweite Paar erst auftaucht, wenn man das erste behoben hat. Vier #include-Zeilen in drei Dateien. Auf macOS und Windows löst sich das auf; unter Linux — was eine Compile-Farm ausführt — bleibt jeder Sketch, der die Bibliothek berührt, mit “No such file or directory” stehen. Es ist bis heute im main-Branch von upstream. Velxio repariert die vier Zeilen, wenn es die Bibliothek abruft, sodass die Beispiele bauen.
Die Konfiguration des 1,14-Zoll-Panels hat die falsche Farbreihenfolge. Die Bibliothek konfiguriert dieses Board als RGB; das Panel ist BGR verdrahtet. Seeed weiß es — ihre eigenen Demos für das Board tragen einen sketch-lokalen Override mit dem Kommentar “the panel is physically wired for BGR color order” —, aber die eigene Konfiguration der Bibliothek hat nicht nachgezogen, und man kann die Konsequenz in Seeeds eigener Aufzeichnung ihres Grafiktest im Wiki sehen: Der erste Farblbalken wird rot gezeichnet und kommt blau heraus, und der gelb gezeichnete kommt cyan heraus.
Das zweite hat verändert, wie Velxio das Panel modelliert. Ein Display-Modell, das ein festes “Rot und Blau tauschen”-Flag trägt, kann das nicht reproduzieren, denn der Tausch ist keine Eigenschaft des Panels allein — er ist das, was man bekommt, wenn die Verdrahtung des Panels und das Farbreihenfolge-Bit des Controllers nicht übereinstimmen. Also modelliert Velxio die beiden getrennt und lässt sie sich gegenseitig aufheben. Ein Sketch, der Seeeds Override verwendet, rendert korrekt; ein Sketch, der die Bibliothek beim Wort nimmt, zeigt denselben Rot-Blau-Tausch, den er auf deinem Schreibtisch zeigen würde. Dieselbe Korrektur gilt für die Display-Inversion, wodurch die schwarzen Hintergründe dieses Boards aufgehört haben, weiß herauszukommen.
Was nicht modelliert ist
Um ehrlich über die Lücken zu sein, denn ein Simulator, der stillschweigend nichts tut, ist schlimmer als einer, der es sagt:
- Das PDM-Mikrofon und die I2S-Ausgangspads. Nichts auf dem Canvas speist sie, deshalb sind Seeeds Voice-Bar- und Recorder-Demos bewusst nicht in der Galerie, statt dort eine flache Linie zu zeichnen.
- Bluetooth. Das Funkmodul des nRF52840 liegt außerhalb des Umfangs dieser Engine.
- Raise to Wake, Seeeds andere IMU-Demo, benötigt den Wake-Interrupt der IMU und den System-ON-Schlafmodus des Chips. Beides ist noch nicht modelliert.
Jedes Beispiel in der Galerie
XIAO 0,96” IPS Display
XIAO 1,14” IPS Display
- GraphicTest
- Grove SHT31 am I2C-Anschluss
- Die drei Benutzertasten
- Batteriestatus
- Elektrischer Treibsand (die IMU)
XIAO 1,47” IPS Touch Display
- GraphicTest
- Touch Circle
- Text von der microSD lesen
- Batteriestatus
- Elektrischer Treibsand (die IMU)
- Die Panel-Demo
- Nur-LCD-Diagnose
Die Boards gibt es in Seeeds Shop — das 0,96 Zoll, das 1,14 Zoll und das 1,47 Zoll Touch — und die Demo-Sketches findest du in Seeed-Projects/Display-Gadgets. Probiere sie zuerst hier aus; die Sketches laufen in beiden Fällen unverändert.
Board-Fotos mit freundlicher Genehmigung von Seeed Studio.