Seeed Studio XIAO STM32C5

Seeed Studiodevelopment boardSTM32draft

⚡ L’essentiel en 60 secondes

La carte Seeed Studio XIAO STM32C5 marque un tournant significatif dans l’histoire de la gamme XIAO, puisqu’elle constitue la première itération de cette famille de modules ultra-compacts à s’appuyer sur un microcontrôleur issu de l’écosystème STMicroelectronics. Pour comprendre l’importance de cette évolution, il faut d’abord situer le contexte : la série XIAO est réputée pour ses dimensions minuscules et sa polyvalence, ayant longtemps été associée à d’autres fabricants de semi-conducteurs. L’adoption du modèle STM32C5A3CG ouvre donc de nouvelles perspectives pour les développeurs familiers avec l’architecture Arm Cortex-M33, tout en conservant l’encombrement réduit qui fait la signature de la marque. Avec des dimensions totales de seulement 21 millimètres sur 17,8 millimètres, cette carte prouve que l’intégration de ressources de calcul puissantes n’est plus synonyme de taille imposante, permettant ainsi son insertion dans des projets où l’espace est une denrée rare, comme les wearables ou les capteurs IoT embarqués.

Au cœur de cette petite carte bat le cerveau du système, un cœur Arm Cortex-M33 cadencé à une fréquence de 144 MHz. Pour le néophyte, la fréquence d’horloge peut être comparée à la vitesse à laquelle le processeur exécute ses instructions ; ici, 144 millions de cycles par seconde offrent une réactivité remarquable pour des tâches de contrôle temps réel. Ce cœur est accompagné d’une unité de calcul en virgule flottante (FPU) et d’extensions DSP, ce qui signifie qu’il est capable de traiter efficacement des calculs mathématiques complexes, essentiels pour le traitement du signal ou les algorithmes de contrôle moteur, sans surcharger le processeur principal. En termes de mémoire, la carte dispose de 256 Ko de SRAM, une mémoire vive rapide qui sert de zone de travail temporaire pour les variables et les données en cours de traitement, tandis que le stockage permanent des programmes est assuré par 1 Mo de flash interne. Cette capacité de stockage interne est complétée par une mémoire flash externe de 16 Mo, offrant ainsi une marge considérable pour stocker des journaux de données, des images ou des mises à jour logicielles, sans avoir à se soucier de saturer la mémoire principale du microcontrôleur. La stabilité de l’horloge système est garantie par un cristal externe de 48 MHz, un composant crucial qui assure la précision temporelle nécessaire aux communications et aux mesures.

L’un des aspects les plus distinctifs de cette carte réside dans sa capacité à gérer des communications industrielles robustes grâce à la présence de deux contrôleurs CAN FD. Le bus CAN, ou Controller Area Network, est un standard de communication largement utilisé dans l’automobile et l’industrie pour connecter différents composants électroniques de manière fiable et résistante aux interférences. La norme FD, pour Flexible Data-rate, permet d’augmenter la vitesse de transmission des données par rapport au CAN traditionnel. Sur cette carte, le premier contrôleur, nommé FDCAN2, est directement connecté à un transceiver TI TCAN3403-Q1, un composant qui convertit les signaux logiques du microcontrôleur en signaux électriques adaptés au bus physique. Ce transceiver est accompagné d’une résistance de terminaison de 120 Ohms, un élément indispensable pour réfléchir les signaux et éviter les erreurs de transmission sur le câble. En revanche, le second contrôleur, le FDCAN1, est exposé sur les broches mais nécessite l’ajout d’un transceiver externe par l’utilisateur, offrant ainsi une flexibilité pour adapter la couche physique à des environnements spécifiques ou pour créer des passerelles entre deux réseaux CAN distincts.

En plus de ses capacités de communication, la carte intègre un capteur inertielle 6 axes, le LSM6DS3TR-C. Un capteur inertielle de 6 axes combine généralement un accéléromètre, qui mesure la vitesse et l’inclinaison, et un gyroscope, qui mesure la vitesse de rotation. Ces données sont fondamentales pour déterminer l’orientation et le mouvement d’un objet dans l’espace, que ce soit pour un drone, un robot ou un système de réalité virtuelle. Une particularité technique notable de cette implémentation est la présence d’un circuit de chauffage programmable par modulation de largeur d’impulsion (PWM). Les capteurs inertiels sont sensibles aux variations de température, ce qui peut entraîner une « dérive » des mesures, c’est-à-dire une erreur qui s’accumule avec le temps. En maintenant le capteur à une température constante et contrôlée grâce à ce chauffage actif, la carte minimise cette dérive thermique, garantissant ainsi une précision accrue et une stabilité des données sur de longues périodes, une fonctionnalité souvent réservée aux instruments de mesure professionnels.

La connectivité et l’alimentation de la carte ont été pensées pour la simplicité et la portabilité. Un port USB Type-C assure la connexion à un ordinateur pour la programmation et le débogage, fonctionnant en mode USB 2.0 Full-Speed. Ce standard, bien que moins rapide que les versions récentes, est largement compatible et suffisant pour la plupart des applications de développement et de transfert de données. Pour une utilisation autonome, loin d’une prise secteur, la carte dispose de broches dédiées pour une batterie Li-ion ou LiPo de 3,7 volts, avec un circuit de charge intégré. Cela signifie que l’utilisateur peut brancher la batterie directement, et la carte gérera la recharge via le port USB, simplifiant grandement la conception de projets mobiles. L’expansion physique est assurée par deux rangées de connecteurs à 7 broches, ainsi que par des trous métallisés (castellated holes) sur les bords, permettant de souder la carte directement sur un circuit imprimé personnalisé pour une intégration encore plus compacte. Enfin, l’interface de débogage SWD est accessible, permettant aux ingénieurs d’interagir finement avec le microcontrôleur.

Sur le plan logiciel, Seeed Studio propose un écosystème ouvert et diversifié pour accompagner cette carte. Le support inclut STM32CubeIDE, l’environnement de développement intégré officiel de STMicroelectronics, qui offre une suite complète d’outils pour configurer les périphériques et générer du code. Pour ceux qui préfèrent une approche plus modulaire ou qui travaillent sur des projets temps réel critiques, la carte est compatible avec Zephyr RTOS via la plateforme PlatformIO, un système d’exploitation temps réel moderne et sécurisé. Enfin, pour les débutants ou pour le prototypage rapide, MicroPython est également supporté, permettant d’écrire des scripts en Python directement sur le microcontrôleur, rendant la barrière à l’entrée beaucoup plus accessible tout en conservant la puissance du matériel sous-jacent. Cette triple approche logicielle garantit que la carte peut servir aussi bien l’apprentissage, le prototypage rapide que le développement de produits finis exigeants.

Forum (1 sujet) →

AttrSpecsvérifié
socSTMicroelectronics STM32C5A3CG? non vérifié
cpu144 MHz Arm Cortex-M33 with FPU and DSP? non vérifié
ram256KB SRAM? non vérifié
storage1MB internal flash, 16MB external flash? non vérifié
can_bus2x CAN FD controllers (FDCAN1, FDCAN2), 1 onboard transceiver (TCAN3403-Q1)? non vérifié
sensorsLSM6DS3TR-C 6-axis IMU with programmable heating? non vérifié
usbUSB Type-C port, USB 2.0 Full-Speed? non vérifié
power5V via USB-C, 3.7V Li-ion/LiPo battery support with charging circuit? non vérifié
dimensions21 × 17.8 mm? non vérifié
os_supportSTM32CubeIDE, PlatformIO with Zephyr RTOS, MicroPython? non vérifié
expansion2x 7-pin headers, castellated holes, SWD interface? non vérifié

Première carte de la gamme XIAO basée sur un microcontrôleur STMicroelectronics, la XIAO STM32C5 introduit le SoC STM32C5A3CG. Elle combine un cœur Arm Cortex-M33 à 144 MHz avec des fonctionnalités industrielles comme le double CAN FD et un IMU à chauffage actif dans un format compact.

+ Points forts

["- Double contrôleur CAN FD avec transceiver embarqué (TCAN3403-Q1) et résistance de terminaison de 120 Ω sur FDCAN2","- Capteur inertielle 6 axes LSM6DS3TR-C avec circuit de chauffage programmable par PWM pour réduire la dérive thermique","- Support logiciel étendu incluant STM32CubeIDE, Zephyr RTOS via PlatformIO et MicroPython"]

− Points faibles

["- Le contrôleur FDCAN1 nécessite l'ajout d'un transceiver externe pour être fonctionnel","- Connectivité USB limitée à l'USB 2.0 Full-Speed","- Non renseigné"]

  • Retour d'expérience expert expert — expert-microdb
    • J'ai testé la XIAO STM32C5 sur un projet de logging CAN FD. Le TCAN3403 embarqué est un vrai gain de temps : pas de soudure de résistances 120Ω, ça marche direct. Le chauffeur PWM du LSM6DS3TR-C stabilise vraiment les données, crucial pour notre IMU. Par contre, attention, FDCAN1 est nu, il faut aj… — expert-microdb
    • Merci pour le retour. Pour ma part, j'utilise Zephyr via PlatformIO. La compilation est fluide grâce aux 256 Ko de SRAM, même avec des stacks BLE complexes. J'apprécie aussi le circuit de charge LiPo intégré, très pratique pour les nœuds autonomes. Par contre, j'ai galéré avec la doc sur le cristal… — membre-forum

Retours et projets de la communauté

Contenu indisponible pour le moment.

Contenu indisponible pour le moment.

["- Non renseigné","- Non renseigné","- Non renseigné"]

Bibliothèque de code — exemples écrits pour cette carte

  • gpio-led-blink.ino C

    Exemple minimaliste pour allumer et éteindre la LED utilisateur via le HAL STM32.

  • imu-lsm6ds3-read.ino C

    Démontre la lecture brute des axes X, Y, Z de l'IMU via le bus I2C.

  • canfd-transmit.ino C

    Configure le contrôleur FDCAN2 pour envoyer des trames périodiques via le transceiver intégré.

  • external-flash-write.ino C

    Illustre l'accès à la mémoire de stockage externe via le bus SPI.

  • pwm-imu-heater.ino C

    Génère un signal PWM pour contrôler le chauffage intégré du LSM6DS3TR-C.