Kit ESP32 - M5StickC
Dans l'optique de fournir des kits pour apprendre à programmer des microcontrôleurs, je me suis penché sur les M5Stick-C de M5Stack.
M5Stack est une entreprise chinoise basée à Shenzhen (surprenant non :-) ) qui vend des kits ESP32 à des prix très corrects ainsi que des modules pour celui-ci.
https://docs.m5stack.com/#/en/core/m5stickc
Présentation
Leur produit phare sont les m5Stack mais ils coûtent assez cher, là où les M5stick-C coûtent 9,95$ (frais de port non compris) pour ce prix-là on a :
- un ESP32 dans un boitier
- 5 broches disponibles (3 en broches et 2 avec un câble groove)
- Un gyroscope / accéléromètre (MPU6886)
- 2 Boutons
- Un système de gestion de l'alimentation (AXP192) capable de fournir
dedu 5V et de mettre en veille l'ESP32 - Une entrée USB-C
- Une LED infrarouge (la portée n'est pas terrible)
- Une LED
- Un micro numérique (SPM1423)
- Un écran TFT 80x160 (ST7735R)
- Une batterie de 80mAh
- Un câble USB-C
Livraison
La livraison standard prend son temps (2 à 3 semaines), je l'avais testé avec l'ancienne version du M5Stick.
La livraison DHL a pris quand même une bonne semaine, la raison étant que la douane est passée par là (je la déconseille du coup).
Programmation
Afin de programmer le M5Stick-C, M5Stack propose 3 choix :
- UI-Flow, un système de bloc Scratch (programmable à distance) mais il est très limité pour le M5Stick-C, le système est basé sur Micropython et permet de choisir directement depuis l'écran, plusieurs programmes.
- Micropython (utilisable avec UI-flow en même temps) mais leur version ne contient pas certaines fonctionnalités de la version officielle (WebREPL par ex.), toutefois il est possible d'installer la version officielle (mais on a plus les modules pour faciliter l'usage de l'écran)
- Arduino : Les bibliothèques sont disponibles directement dans le logiciel Arduino, c'est quasiment le seul moyen de pouvoir accéder à toutes les fonctionnalités facilement.
Test
LED IR
La Led IR est assez marrante, mais la portée me semble très faible, avec IRremoteESP8266, on a accès à un paquet de protocole
https://github.com/crankyoldgit/IRremoteESP8266
MQTT
Je l'ai testé comme télécommande pour allumer la salle de formation, ça marche bien, l'écran permet d'avoir un retour sur ce qui se passe.
Mode Veille / Capteur PIR
A l'aide d'un capteur PIR de KeyStudio, j'ai fait un capteur connecté sur un serveur VPS en MQTT chiffré avec la mise en veille de l'ESP32.
J'ai réussi avec 1 à 2 activations par heure à tenir 12h.
Strip Neopixels
J'ai testé le contrôle de neopixels avec Micropython, et c'est assez simple à utiliser par ce biais, l'avantage est que l'on a un retour direct sur les commandes et l'on peut créer des fonctions afin de simplifier la programmation.
Projets de la communauté
Une horloge Nixie (virtuel)
http://community.m5stack.com/topic/1087/m5stickc-nixie-tube-clock
Le classique œil (contrôlable avec le bouton)
http://community.m5stack.com/topic/1090/m5stickc-electronic-animated-eyes
Un Spectromètre Audio
http://community.m5stack.com/topic/1089/m5stickc-audio-spectrum-display
Flappy Bird
(Dans les exemples Arduino)
Absolument injouable, mais une jolie démo
Conclusion
Bien que peu connu en occident, leur kit est assez populaire en Chine et au Japon, ça risque de changer vu qu'Adafruit le propose maintenant dans leur boutique.
A première vue, c'est un kit vraiment sympa, malgré son nombre de broches limités.