Retour

Les nouvelles cartes XIAO IPS Display de Seeed, exécutées dans votre navigateur quelques jours après leur lancement

Le 8 septembre, Seeed Studio a annoncé trois nouveaux gadgets : un écran IPS de 0,96 pouce, un de 1,14 pouce et un de 1,47 pouce, chacun étant une carte porteuse avec un XIAO nRF52840 Plus déjà soudé dessus. Écran, boutons, un IMU 6 axes, un microphone et un connecteur de batterie, dans quelque chose qui tient sur le bout du doigt.

Ils sont maintenant dans Velxio. Vous pouvez en ouvrir un, appuyer sur Run, et regarder le firmware de démonstration de Seeed dessiner sur la dalle — sans commander de carte, et sur le plan gratuit. La carte sur le canevas est dessinée telle que Seeed la photographie, recto et verso : la dalle, les boutons USR et le microphone sur une face ; le XIAO nRF52840 Plus soudé, le logement de batterie, l’interrupteur d’alimentation, le lecteur de carte ou le port Grove, et les pads que vous pouvez câbler, sur l’autre.

Le XIAO 1,47 pouce IPS Touch Display : la carte assemblée montrant son tableau de bord d'usine à gauche et l'arrière de la carte porteuse avec le XIAO nRF52840 Plus, le connecteur de batterie et le slot microSD à droite, tenue dans une main

Les trois cartes

Toutes les trois embarquent le même ordinateur — un XIAO nRF52840 Plus — et les mêmes capteurs autour : un IMU 6 axes, un microphone PDM, le Bluetooth Low Energy et un connecteur de batterie JST avec détection de charge. Ce qui diffère, c’est la dalle et ce que Seeed a mis autour.

XIAO 0,96” IPS Display — un écran ST7789, 80 x 160, avec deux boutons utilisateur. Le petit : un affichage d’état, un objet portable, tout ce qui a besoin d’une ligne de texte et d’un nombre.

Le XIAO 0,96 pouce IPS Display, recto et verso, montrant son tableau de bord d'usine avec les relevés de batterie, de mouvement et de microphone

XIAO 1,14” IPS Display — un écran ST7789, 135 x 240, trois boutons utilisateur et, contrairement aux deux autres, un connecteur Grove I2C. Ce connecteur est la raison pour laquelle c’est celui à choisir si vous voulez y brancher un capteur.

Le XIAO 1,14 pouce IPS Display, recto et verso, avec trois boutons utilisateur, un connecteur Grove I2C et le connecteur de batterie

XIAO 1,47” IPS Touch Display — un écran JD9853A, 172 x 320, avec une couche tactile capacitive et un slot microSD. Le flagship, et celui qui a le plus de choses à l’intérieur.

Ce que le navigateur dessine réellement

Trois écrans émulés côte à côte : le 0,96 pouce exécutant Electronic Quicksand de Seeed avec des grains entassés dans un coin, le 1,14 pouce affichant les barres de couleur de GraphicTest, et le 1,47 pouce exécutant Touch Circle avec neuf cercles blancs là où un doigt a touché

Ces trois images ne sont pas des maquettes. Chacune est le frame buffer d’un contrôleur d’affichage émulé, rempli par le propre firmware compilé de Seeed.

La chaîne mérite d’être détaillée, car c’est tout l’intérêt. Votre sketch est compilé par un vrai arduino-cli avec le core nRF52 de Seeed, pour le FQBN propre à la carte. Le firmware résultant est exécuté instruction par instruction par un nouveau moteur nRF52840 dans le navigateur — le même type de moteur qui fait déjà tourner les cartes ESP32 et RP2040 dans Velxio. Le firmware initialise le périphérique SPI et commence à émettre des octets ; un modèle du ST7789 lit les lignes chip-select et data/command sur les broches à chaque octet et décode ce qu’on lui demande de faire. Ce que vous voyez à l’écran, c’est le contenu de la mémoire de ce contrôleur.

Rien n’est intercepté au niveau de la bibliothèque. Si vous remplacez la bibliothèque graphique de Seeed par vos propres écritures SPI, l’écran dessine quand même.

Commencez par le test graphique

  1. Ouvrez velxio.dev/example/xiao-114-graphictest. Vous n’avez pas besoin de compte.
  2. Appuyez sur le bouton play dans la barre d’outils. Le sketch se compile sur les serveurs de Velxio — la première compilation d’une nouvelle bibliothèque prend quelques minutes, les suivantes sont rapides — puis la carte démarre.
  3. Regardez l’écran dérouler dix primitives de dessin : barres de couleur, lignes, rectangles, cercles, triangles, texte, un dégradé de pixels. Le moniteur série en bas affiche le temps pris par chacune, exactement comme il le ferait par USB sur l’établi.
  4. Ensuite, modifiez quelque chose. Échangez une couleur, ajoutez un fillCircle, relancez.

Inclinez-le, touchez-le, mettez un fichier sur la carte

L’écran est la partie difficile, mais ce n’est pas la partie intéressante. Ce qui rend ces cartes dignes d’être simulées, c’est tout le reste, et tout est relié à quelque chose que vous pouvez bouger à la souris.

L’IMU. La démo Electronic Quicksand de Seeed fait tomber quelques centaines de grains de sable et les laisse choir dans la direction où la carte est inclinée. Appuyez sur Sensors dans la barre d’outils du canevas, faites glisser le point sur le pad Tilt, et le sable s’écoule dans le coin. Le LSM6DS3TR-C répond en I2C à sa véritable adresse et à la sensibilité spécifiée par sa fiche technique, donc les nombres que le sketch convertit sont ceux que la puce lui donnerait. Le même pad pilote désormais l’IMU des XIAO nRF52840 Sense, MG24 Sense et nRF54L15 Sense nus, qui embarquent la même puce.

La dalle tactile. Sur la carte 1,47 pouce, le contrôleur capacitif répond au même rapport de 14 octets que lit le pilote de Seeed, avec sa ligne d’interruption tirée vers le bas tant qu’un doigt est posé. Dessinez sur l’écran avec la souris et les cercles apparaissent là où vous avez cliqué.

Le slot microSD. La carte et l’écran partagent un seul bus SPI sur la carte réelle, distingués par leurs chip selects, et ils le partagent ici aussi. Les fichiers de votre projet sont sur la carte quand le sketch la monte, et vous pouvez déposer les vôtres via le panneau SD Card de la carte.

La batterie. Celle-ci est la meilleure surprise. La démo de batterie de Seeed ne se fie pas à une tension statique — sur USB, le nœud du chargeur lui-même peut ressembler à une cellule — donc elle apprend d’abord une référence USB seule et ne déclare une batterie présente qu’après une chute soutenue. Baissez le curseur de batterie dans le même panneau Sensors d’un dixième de volt et regardez la machine à états du sketch se décider.

Le panneau 0,96 pouce émulé, montrant la démo de batterie de Seeed après la baisse du curseur : une icône de batterie verte, 52 pour cent, 3,80 V

Ce que l’exécution du code du fabricant a révélé

Quatorze des quinze exemples de la galerie sont les propres fichiers de Seeed, modifiés de deux façons seulement : la note de portage en haut devient un court en-tête indiquant d’où vient le sketch, et un #include que le core fournit déjà est supprimé. Les exécuter a mis au jour deux vrais problèmes dans Seeed_GFX2 1.0.0, la bibliothèque graphique livrée avec ces cartes.

Elle ne se compile pas sur un système de fichiers sensible à la casse. Le catalogue de produits de la bibliothèque inclut XIAO_ePaper_Boards.h et reTerminal_ePaper_Boards.h, alors que les fichiers s’écrivent EPaper — et chacun de ces deux en-têtes nomme ensuite son propre en-tête de configuration de la même mauvaise façon, donc la seconde paire n’apparaît qu’une fois la première corrigée. Quatre lignes #include dans trois fichiers. Sur macOS et Windows, cela se résout ; sur Linux — ce que fait tourner une ferme de compilation — chaque sketch qui touche la bibliothèque s’arrête avec « No such file or directory ». C’est toujours le cas sur la branche main en amont aujourd’hui. Velxio répare les quatre lignes lorsqu’il récupère la bibliothèque, donc les exemples se compilent.

La configuration du panneau 1,14 pouce a le mauvais ordre des couleurs. La bibliothèque configure cette carte en RGB ; le panneau est câblé en BGR. Seeed le sait — leurs propres démos pour la carte contiennent une surcharge locale au sketch avec le commentaire « the panel is physically wired for BGR color order » — mais la configuration de la bibliothèque n’a pas suivi, et vous pouvez voir la conséquence dans le propre enregistrement de Seeed de leur test graphique sur le wiki : la première barre de couleur est dessinée en rouge et ressort en bleu, et celle dessinée en jaune ressort en cyan.

Ce second point a changé la façon dont Velxio modélise le panneau. Un modèle d’affichage qui porte un drapeau fixe « échanger rouge et bleu » ne peut pas reproduire cela, car l’échange n’est pas une propriété du panneau seul — c’est ce que vous obtenez quand le câblage du panneau et le bit d’ordre des couleurs du contrôleur sont en désaccord. Velxio modélise donc les deux séparément et les laisse s’annuler. Un sketch qui utilise la surcharge de Seeed s’affiche correctement ; un sketch qui prend la bibliothèque au mot montre le même échange rouge-bleu qu’il montrerait sur votre bureau. La même correction s’applique à l’inversion d’affichage, ce qui explique comment les fonds noirs de cette carte ont cessé de ressortir en blanc.

Ce qui n’est pas modélisé

Soyons francs sur les lacunes, car un simulateur qui ne fait silencieusement rien est pire qu’un simulateur qui l’annonce :

Tous les exemples de la galerie

XIAO 0.96” IPS Display

XIAO 1.14” IPS Display

XIAO 1.47” IPS Touch Display

Les cartes sont sur la boutique de Seeed — la 0,96 pouce, la 1,14 pouce et la 1,47 pouce tactile — et les sketches de démo sont dans Seeed-Projects/Display-Gadgets. Essayez-les d’abord ici ; les sketches se déplacent dans un sens comme dans l’autre sans modification.

Photographies des cartes avec l’aimable autorisation de Seeed Studio.


Partager sur :
David Montero

Écrit par

David Montero

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

GitHub velxio.dev

Articles liés


Article précédent
222 modules Seeed Grove s'exécutent désormais dans le navigateur
Article suivant
Créer un jeu de course 3D à la OutRun pour l'ESP32-S3 sans Z-buffer