Skip to content

Instantly share code, notes, and snippets.

@bbaranoff
Created December 10, 2025 00:45
Show Gist options
  • Select an option

  • Save bbaranoff/421e73314cea14eaf82ba1e700361cad to your computer and use it in GitHub Desktop.

Select an option

Save bbaranoff/421e73314cea14eaf82ba1e700361cad to your computer and use it in GitHub Desktop.
M5_stick.md

Un M5Stick (C / C Plus / Plus2…) c’est littéralement un couteau suisse orange avec un ESP32 dedans. Je te fais le tour de ce qu’on peut en faire par blocs, en restant concret.


0. Ce qu’il y a DÉJÀ dedans

Sur un M5StickC Plus typique tu as :

  • ESP32 (Wi-Fi 2,4 GHz + Bluetooth/BLE)
  • Écran couleur 135×240
  • 2 boutons + switch on/off
  • IMU 6 axes (accéléro + gyro)
  • RTC (horloge temps réel)
  • Micro
  • Buzzer
  • LED
  • IR transmitter (télécommande infrarouge)
  • Batterie Li-ion ~120–200 mAh + charge par USB-C
  • Port GROVE (I²C / GPIO) + quelques GPIO exposés en haut

Donc même sans rien rajouter tu as déjà : radio, écran, son entrée/sortie, mouvements, temps, batterie.


1. Gadgets “purs” sans aucun module en plus

Tout ce qui tient juste dans la boîte orange :

  • Montre connectée minimaliste Heure/alarme/chrono, notifs via BLE depuis un téléphone, compteur de pas avec l’IMU.

  • Compteur / logger de mouvements Compter des pompes, des squats, des tours de roue, des vibrations de machine, etc. Tu logges tout en local et/ou tu balances en Wi-Fi/BLE.

  • Badges interactifs Badge “Hello my name is…”, QR code dynamique, petit jeu 8-bit sur l’écran lors d’une conf, bargraph de “niveau de sel” en réunion.

  • Télécommande IR universelle Tu sniffes les codes de la TV / clim avec un autre matos, tu les rejoues avec l’IR intégré → télécommande programmable dans ta poche.

  • Afficheur de stats / monitoring Client MQTT / HTTP qui affiche : charge GPU, cours du BTC, météo, status d’un service, etc.

  • Mini enregistreur sonore d’événements Pas un Zoom H8, mais suffisant pour détecter des patterns : applaudissements, bruit d’ouverture de porte, bruit de machine.

  • Périphérique HID Bluetooth Souris/clé de macro BLE, télécommande de présentation, “panic button” qui envoie un hotkey à un PC/Android.


2. Avec “petits ajouts” simples (Grove & co)

Tout ce que tu branches sur le port GROVE / GPIO du haut :

Capteurs

  • Température / humidité / pression / qualité de l’air Sondes BME280, SHTxx, capteur CO₂/VOC → station météo de poche ou détecteur d’air vicié.

  • Capteurs magnétiques / Hall / reed Pour compter des tours, détecter l’ouverture d’une porte, etc.

  • GPS Un module GPS I²C/UART → tracker de position, datalogger de trajets, expériments vitesse / altitude.

  • Capteurs de lumière, UV, gestuelle IR Pour faire : réveil qui adapte la luminosité, compteur d’UV pour la peau, contrôles par gestes.

Actionneurs

  • Servos / petits moteurs Pilotage de servos pour micro-robot, yeux qui bougent, panneau qui se lève, antenne qui suit un signal.

  • Relais / MOSFET Allumer ou éteindre une lampe, une pompe, un ventilo bas voltage.

  • LEDs adressables (WS2812, etc.) Mini affichage ambiance, bandeau d’état réseau, bargraph coloré.


3. Avec modules radio externes

Le M5Stick a déjà Wi-Fi/BLE, mais tu peux l’augmenter :

  • LoRa / Sub-GHz Ajout d’un module LoRa → capteur ultra longue portée batterie, balise dans un sac, mini réseau point-à-point.

  • 433 MHz / 868 MHz “domotique” Décodeur/émetteur pour prises connectées cheap, capteurs météo sans fil, etc.

  • NRF24 / autres transceivers Petits réseaux privatifs à bas coût pour envoyer des messages, télémétrie de robot, etc.

Usage “cyber” à manier proprement : sniffer des trames, tester une stack maison, jouer avec les protocoles maison → mais pas d’attaque illégale sur les voisins, classique disclaimer.


4. Robotique & objets mobiles

Avec quelques LEGO / impressions 3D + servos / moteurs :

  • Robot suiveur de ligne / d’obstacles M5Stick = cerveau + écran debug Capteurs IR / ultrasons en plus.

  • Rover Wi-Fi piloté depuis le téléphone Interface web/BLE sur l’écran, télécommande temps réel, streaming de capteurs.

  • Gimbal ou plateau auto-stabilisé IMU du M5Stick → stabilisation d’un support (caméra, téléphone, antenne).

  • Compteur embarqué Dans une trottinette / vélo : vitesse, distance, vibrations, affiché en temps réel.


5. Mesure, diagnostic, “lab de poche”

Là on parle de tout ce qui ressemble à des outils :

  • Analyseur série / I²C / GPIO basique Le M5Stick en “sniffer” I²C/UART lent pour voir des échanges entre deux composants.

  • Testeur de capteurs / sonde I²C universelle Tu branches un capteur random sur le Grove, le M5Stick scanne l’I²C, identifie et affiche les registres utiles.

  • Mesure de signaux lents / logger Température, lumière, tension (via module ADC externe) loggée en CSV sur SPIFFS ou µSD externe.

  • Compteur de fréquences basiques Pour signaux de quelques centaines de kHz max (limité par le sampling et l’ESP32).


6. Interfaces homme-machine / “télécommandes intelligentes”

  • Télécommande domotique universelle Un écran avec plusieurs pages :

    • Page IR TV
    • Page MQTT lampes
    • Page volume PC via BLE HID
  • Terminal BLE / Wi-Fi Petit client telnet / MQTT / HTTP avec UI minimaliste pour envoyer des commandes prédéfinies.

  • Clé d’accès / badgeur Avec un lecteur RFID/NFC externe → gestion de présence, pseudo-badges, système de points.


7. Avec un backend / infra au cul

Dès que tu le relies à un serveur (Raspberry, VPS, etc.), ça explose :

  • Client MQTT complet Topic “sensor/#”, “command/#” → bouton qui déclenche une build, un script Ansible, un pipeline.

  • Dashboard portable M5Stick affiche l’état d’un cluster, la température d’un rack, les alerts Prometheus simplifiées.

  • Tracker temps réel M5Stick + GPS + MQTT → tracker dans un sac, en moto, en voiture, envois de coordonnées à ton serveur.

  • Badge d’auth 2FA custom Génération d’OTP, challenge/réponse maison pour ouvrir une porte, déverrouiller un script sur ton PC.


8. Axes “pimp” matériels

Tu peux encore le booster :

  • Batterie externe ou pack modifié Soit powerbank USB-C, soit tu remplaces la LiPo interne par une plus grosse (en restant safe).

  • Boîtier 3D imprimé Montre poignet, pince pour guidon, fixation magnétique, support sur écran/PC.

  • Hub Grove / IO expander PCA9685, MCP23017 & co → tu transformes le M5Stick en cerveau pour plein d’entrées/sorties.

  • Stack avec autres M5 modules M5Stack vend des unités GPS, LoRa, ENV, TOF, etc. plug-and-play qui causent direct via Grove/I²C.


9. Types de projets concrets (version “idées prêtes à coder”)

Résumé façon “recette” :

  1. Badge de conf / hacker device

    • M5Stick + WS2812 + MQTT
    • Affiche ton pseudo, clignote selon l’état de ton serveur ou le cours du BTC.
  2. Mini pager perso

    • Backend envoie des messages via MQTT
    • M5Stick vibre (buzzer) + affiche “ALERTE LTE GNB #3 DOWN”.
  3. Data logger de poche

    • M5Stick + capteur ENV + µSD
    • Log de température/humidité dans différents lieux, sync en Wi-Fi quand réseau dispo.
  4. Compteur d’usage d’un objet

    • M5Stick collé sur une porte/tiroir/machine
    • IMU détecte chaque mouvement → stats d’ouverture / utilisation.
  5. Télécommande universelle IR + Wi-Fi

    • Reverse des codes IR TV/clim
    • Ajout de commandes HTTP pour contrôler un mediacenter.

TL;DR

Avec un M5Stick tu peux faire presque tout ce qu’un ESP32 sait faire, mais :

  • déjà dans un boîtier
  • avec écran, boutons, batterie, IMU, IR, mic/buzzer
  • et un port pour rajouter ce que tu veux en Grove / GPIO.

La vraie limite, ce n’est pas le hardware, c’est :

  1. ton temps, 2) l’énergie de la batterie, 3) la bande passante radio, dans cet ordre.

Prochaine étape logique : tu me dis ce que toi tu as envie de faire (gadget offensif, outil de mesure, objet “arty”, badge social), et je te pond un design M5Stick + modules précis avec le schéma des connexions et l’archi logicielle.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment