Le M5Stack Fire est un module construit autours d'un ESP32, le petit module Wifi/Bluetooth qui embarque un microcontrôleur d'Espressif Systems, avec plein de périphériques (SPI, I2C, UART, ADC, DAC, PWM, etc). l'ESP32 intègre deux cœurs microprocesseurs 32 bits cadencés à 240Mhz. Le M5Stack intègre aussi une Flash de 16M et une RAM de 4M, une IMU 9 axes, un écran , des LEDs, des touches, un microphone, un haut parleur, et une batterie rechargeable. Seul regret, il n'y a pas de FPU matérielle pour accélérer mes calculs en flottant.
Le M5Stack se programme en C/C++ Arduino et en Python (non testé). Mon code Arduino se porte sans difficulté majeure.
Le seul problème que j'ai rencontré, est que le port d'extension C du M5Stack, initialement réservé à la liaison UART utilisateur, est utilisé par le boitier mémoire interne spécifique du module Fire.
Il faut jouer avec le pin-muxing de l'ESP32 pour sortir son UART2 sur le port d'extension B du M5Stack, initialement réservé à des GPIO. La liaison série supporte un débit de 1Mbps sans difficulté.
#include <M5Stack.h> #define GPIO_PIN26 26 #define GPIO_PIN36 36 HardwareSerial ServoSerial(2); ServoSerial.begin(1000000, SERIAL_8N1,GPIO_PIN36,GPIO_PIN26);
Le M5Stack dispose d'un port USB (type C) mappé sur l'UART0, qui fonctionne aussi à 1Mbps, permettant ainsi d'afficher des traces/debug à haut débit, sans trop pénaliser l'exécution du code.
Le temps de compilation dans l'environnement Arduino est correct.
Le module M5stack Fire pèse 63g avec sa batterie Lipo. On peut lui ajouter un module 12 servo à 18g ou un 16 servo à 28g. Les modules ont un connecteur Lipo au format standard respectivement XT30 et XT60 et un BEC intégré (pour le microcontrôleur seulement, pas pour les servos). Pour piloter les servo, il faut une batterie externe en plus de celle intégrée dans le M5Stack. Par contre, il doit etre possible de la retirer en présence d'une batterie externe.
A noter qu'il existe toute une gamme de M5Stack et certainement des plus léger que la version Fire. La toute nouvelle version StickC Plus ne pèse que 15g, avec pratiquement tout autant de fonctionnalités que le Fire !
Il existe aussi un module pour faire de l'IA couplée à une caméra (modèle StickV) ...
Le module AWS offre en plus un écran tactile, par rapport au Fire, et d'autres choses encore pour l'IoT (sécurité).
A ma connaissance, les modules sont vendus via Ali/Bang. On doit pouvoir en trouver dans les boutiques électronique/robotique en EU (https://shop.mchobby.be/).
Patrick.