Passer au contenu principal

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

m5stickc_02_1200x1200.png

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 du 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.