Flashage des appareils ESP32
Utilisation du Meshtastic Web Flasher
Flasher l'appareil
-
Branchez votre appareil
-
Visitez flasher.meshtastic.org *requiert le navigateur Chrome ou Edge
-
Suivez les instructions

Connecter et configurer l'appareil
Flashage du firmware via CLI
Vérification de la connectivité
-
Utilisez firmware-tbeam0.7-X.X.X.xxxxxxx.bin pour le T-Beam 0.7.
-
firmware-tbeam-X.X.X.xxxxxxx.bin est incompatible.
Instructions pour l'interface en ligne de commande
Installer les logiciels prérequis
Linux
python3 --version pip3 --version
|
sudo apt-get update sudo apt-get install python3
|
sudo apt-get install python3-pip
|
pip3 install --upgrade esptool
|
MacOS
brew -v
|
python3 --version pip3 --version
|
brew install python3
|
pip3 -v
|
pip3 install --upgrade esptool
|
Windows
-
Téléchargez et installez Python. Pendant l'installation, assurez-vous de sélectionner l'option Ajouter Python X.Y au PATH.
-
Téléchargez et installez Git Bash (ou un autre shell adapté), et exécutez toutes les commandes suivantes depuis ce shell.
py --version pip --version
|
pip3 install --upgrade esptool
|
Vérifiez la connectivité avec la puce
-
Sur Linux et macOS, vous devrez peut-être déclarer explicitement esptool comme un .py script. Utilisez la commande esptool.py chip_id pour ce faire, selon votre environnement.
-
Sous Windows, vous devez déclarer explicitement esptool comme un .py script en utilisant la commande esptool.py chip_id pour assurer un fonctionnement correct.
Commande
esptool chip_id
|
Sortie attendue
# Vous devriez voir un résultat similaire à ceci : mydir$ esptool chip_id esptool.py v2.6 2 ports série trouvés Port série /dev/ttyUSB0 Connexion.... Détection du type de puce... ESP32 La puce est ESP32D0WDQ6 (révision 1) Fonctionnalités : WiFi, BT, Dual Core, 240MHz, calibration VRef dans efuse, Schéma de codage Aucun MAC: 24:6f:28:b5:36:71 Téléversement du stub... Exécution du stub... Stub en cours d'exécution... Attention : ESP32 n'a pas d'ID de puce. Lecture MAC à la place. MAC : 24:6f:28:b5:36:71 Réinitialisation matérielle via la broche RTS en cours...
|
Télécharger le Firmware
-
Naviguez vers la Page de téléchargements Meshtastic pour obtenir le dernier firmware.
-
Faites défiler jusqu'à la section Firmware et choisissez l'une des options suivantes selon vos préférences :
-
Télécharger Stable : Pour les versions stables et bien testées.
-
Télécharger Alpha : Pour les versions expérimentales plus récentes incluant les dernières fonctionnalités.
-
Une fois redirigé vers la page de release GitHub, faites défiler jusqu'à la section Assets et développez-la.
-
Identifiez le firmware approprié pour votre appareil selon son architecture (par exemple, firmware-esp32s3 pour les appareils basés sur ESP32-S3 comme le Heltec V3).
-
Téléchargez le fichier et notez son emplacement sur votre système, qui se trouve généralement dans votre ~/Downloads dossier.
Accéder au répertoire du firmware
cd ~/Downloads/firmware-esp32s3-X.X.X.xxxxxxx/
|
Installer ou mettre à jour le firmware
Veuillez noter avant de commencer :
Linux & macOS
./device-install.sh -f firmware-BOARD-VERSION.bin
|
./device-update.sh -f firmware-BOARD-VERSION-update.bin
|
Windows
device-install.bat -f firmware-BOARD-VERSION.bin
|
device-update.bat -f firmware-BOARD-VERSION-update.bin
|
Connecter et configurer l'appareil
Flashage avec un adaptateur série externe
Processus de flashage
-
En raison de la pénurie actuelle de puces, les appareils récemment acquis comme le TTGO T-Beam peuvent être équipés de puces d'adaptateur USB vers série anciennes ou non standard, qui peuvent être peu fiables dans certaines situations.
-
Certains appareils peuvent présenter des puces USB vers série défectueuses, entraînant des problèmes de communication.
-
Appareils spécifiques, tels que le Hydra (cible Meshtastic-DIY)
Adaptateurs USB vers série

Connexion de l'adaptateur à l'appareil
-
Connectez la broche RX de l'adaptateur à la broche TX de l'appareil.
-
Connectez la broche TX de l'adaptateur à la broche RX de l'appareil.
-
Connectez une broche GND de l'adaptateur à la broche GND de l'appareil.
-
Connectez soit la broche 5V de l'adaptateur à la broche 5V de l'appareil (comme illustré), soit la broche 3,3V de l'adaptateur à la broche 3,3V de l'appareil.
-
Reliez GPIO 0 à GND sur l'appareil avec un cavalier. (Cela mettra l'appareil en mode flash au démarrage.) Exemple de câblage avec un T-Beam.

-
Connectez l'appareil à un port USB de l'ordinateur.
-
Retirez le cavalier reliant GPIO 0 à GND.

Flashage de l'appareil

Dépannage du processus de flashage
Connecter et configurer l'appareil
Flashage des appareils nRF52 & RP2040
-
Processus de mise à niveau du firmware pour les appareils nRF52 et RP2040 : Les appareils basés sur les architectures nRF52 et RP2040 offrent un processus de mise à niveau du firmware simple qui ne nécessite aucun pilote ni installation de logiciel sur aucune plateforme.
-
Glisser & déposer : Ces appareils utilisent la méthode d'installation par glisser-déposer pour installer les versions du firmware. Il suffit de glisser le fichier firmware sur l'appareil dans votre explorateur de fichiers.
-
Mises à jour Over-The-Air (OTA) : Les appareils nRF52 peuvent recevoir des mises à jour de firmware OTA depuis un appareil mobile via Bluetooth, permettant des mises à jour transparentes sans besoin de connexions physiques.
-
Effacement d'usine : Avant d'installer un nouveau firmware, vous pouvez envisager d'effectuer un effacement d'usine pour supprimer toutes les données existantes qui pourraient changer de format ou d'emplacement entre les versions.
-
Conversion de RAK4631-R en RAK4631 : Si votre appareil n'est pas livré avec le bootloader Arduino, vous devrez effectuer une conversion pour assurer la compatibilité.
-
Utilisation du Raspberry Pi comme outil de flashage SWDIO : Si votre appareil ne peut pas être flashé via USB ou Bluetooth, une option alternative est d'utiliser une connexion SWDIO directe avec un Raspberry Pi comme outil de flashage.
Mises à jour du firmware par glisser-déposer pour nRF52 & RP2040
Flasher l'appareil
-
Vous pouvez désormais utiliser le Meshtastic Web Flasher pour télécharger et transférer le firmware vers vos appareils basés sur nRF52 ou RP2040. Alternativement, vous pouvez suivre les instructions ci-dessous pour télécharger et installer le firmware.
-
Si vous avez récemment effectué une Factory Erase, votre appareil pourrait démarrer automatiquement en mode bootloader. Vous pouvez alors passer directement à "Copiez le firmware approprié..." pour votre appareil spécifique ci-dessous :
nRF52
-
Téléchargez et décompressez le dernier firmware depuis le Meshtastic Downloads.
-
Connectez votre appareil à votre ordinateur avec un câble USB de données.
-
Appuyez deux fois sur le bouton reset de votre appareil (cela activera le mode bootloader).
-
Un nouveau lecteur sera monté sur votre ordinateur (compatible avec Windows, Mac, Linux ou Android).
-
Ouvrez ce lecteur, où vous devriez trouver trois fichiers : CURRENT.UF2, INDEX.HTM, et INFO_UF2.TXT.
-
Copiez le fichier firmware approprié (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) depuis le dossier de la release vers ce lecteur.
-
Après la copie du fichier, l'appareil va redémarrer et installer le firmware Meshtastic.
RP2040
-
Téléchargez et décompressez le dernier firmware depuis le Meshtastic Downloads.
-
Appuyez et maintenez le bouton BOOTSEL, puis connectez l'appareil à votre ordinateur avec un câble USB.
-
Un nouveau lecteur sera monté sur votre ordinateur (compatible avec Windows, Mac, Linux ou Android).
-
Ouvrez ce lecteur, où vous devriez trouver deux fichiers : INDEX.HTM et INFO_UF2.TXT.
-
Copiez le fichier firmware approprié (firmware-DEVICE_NAME-X.X.X-xxxxxxx.uf2) depuis le dossier de la release vers ce lecteur.
-
Une fois le fichier copié, l'appareil va redémarrer et installer le firmware Meshtastic.
Cas particuliers possibles lors du flashage
-
Les anciennes versions du firmware Meshtastic peuvent conserver des données obsolètes, ce qui peut entraîner que les appareils restent bloqués dans une boucle de plantage au démarrage. Si vous rencontrez des problèmes lors de la mise à niveau de votre appareil nRF52 depuis une version précédente de Meshtastic, vous devrez peut-être effectuer une réinitialisation complète d'usine de la mémoire flash interne. Veuillez suivre le guide pour effacer votre nRF52 en usine avant de procéder à flasher le firmware.
Connecter et configurer l'appareil
Mises à jour du firmware Over-the-Air (OTA) pour nRF52
Android
-
Téléchargez la version du firmware que vous souhaitez installer depuis la page de téléchargement Meshtastic ou le Meshtastic GitHub.
-
Décompressez le dossier du firmware.
-
Ouvrez l'application nRF Connect et sélectionnez CONNECTER votre appareil depuis l'onglet SCANNER.
-
Si l'interface affiche SE DÉCONNECTER en haut à droite, passez à l'étape 5. Si elle affiche SE CONNECTER, sélectionnez SE CONNECTER.
-
Touchez l'icône DFU en haut à droite de l'écran.
-
Vérifiez que "Paquet de distribution (ZIP)" est sélectionné, puis cliquez sur OK.
-
Choisissez le fichier firmware approprié de l'appareil (qui se terminera par -ota.zip).
-
La mise à jour démarrera automatiquement (notez que ce processus peut être lent).
-
Une fois la mise à jour terminée, l'appareil redémarrera automatiquement.
Apple
-
Téléchargez la version du firmware que vous souhaitez installer depuis la page de téléchargement Meshtastic, Meshtastic GitHub, ou directement via l'application iOS/iPadOS.
-
Décompressez le dossier du firmware.
-
Ouvrez l'application nRF DFU et sélectionnez le fichier firmware correct de l'appareil (se terminant par -ota.zip).
-
Connectez-vous à votre appareil.
-
Téléversez le firmware.
-
Allez dans les paramètres et activez "Notifications de réception des paquets."
-
Changez "Nombre de paquets" pour une valeur plus basse ; certains utilisateurs ont réussi avec un réglage de "5".
Réinitialisation d'usine pour les appareils nRF52/RP2040
-
Meshtastic utilise la bibliothèque littlefs pour stocker la configuration, les journaux et d'autres données dans la mémoire flash interne des appareils nRF52 et RP2040. Il est important de noter que la mise à jour du firmware n'efface pas ces données supplémentaires, ce qui peut entraîner des problèmes si le format et l'emplacement des données changent entre les versions.
-
Vous pouvez maintenant utiliser le Meshtastic Web Flasher pour effacer d'usine vos appareils basés sur nRF52 ou RP2040. Visitez le flasher, sélectionnez votre carte, et cliquez sur l'icône de la corbeille à droite du bouton Flash. Cela ouvrira une boîte de dialogue pour initier la procédure d'effacement. Alternativement, vous pouvez suivre les instructions ci-dessous.
nRF52
-
Téléchargez et décompressez le dernier firmware depuis la page de téléchargements Meshtastic.
-
Connectez votre appareil à votre ordinateur à l'aide d'un câble USB de données.
-
Double-cliquez sur le bouton reset de votre appareil pour entrer en mode bootloader.
-
Un nouveau lecteur sera monté sur votre ordinateur (cela s'applique à Windows, Mac ou Linux).
-
Ouvrez ce lecteur, et vous devriez voir trois fichiers : CURRENT.UF2, INDEX.HTM, et INFO_UF2.TXT.
-
Ouvrez le INFO_UF2.TXT fichier dans un éditeur de texte et notez le SoftDevice valeur.
-
Localisez le fichier inclus dans le firmware téléchargé qui correspond à votre numéro de version majeure SoftDevice (soit 7.x.x ou 6.x.x). Utilisez soit Meshtastic_nRF52_factory_erase_v3_S140_7.3.0.uf2 ou Meshtastic_nRF52_factory_erase_v3_S140_6.1.0.uf2, et copiez-le sur le nouveau lecteur. L'appareil devrait alors redémarrer.
-
Avec le Meshtastic CLI installé, ouvrez votre Terminal ou Console et entrez la commande : meshtastic --noproto.
-
Vous devriez voir le message : Formatage... Terminé.
RP2040
-
Télécharger le flash_nuke.uf2 fichier sur votre ordinateur.
-
Appuyez et maintenez le bouton BOOTSEL, puis connectez la carte à votre ordinateur à l'aide d'un câble USB.
-
La carte devrait maintenant apparaître comme un périphérique de stockage de masse sur votre ordinateur, étiqueté RPI-RP2.
-
Copiez le fichier flash_nuke.uf2 sur cet appareil.
-
La carte redémarrera automatiquement et la mémoire flash sera effacée.
Conversion de RAK4631-R en RAK4631
Mise à jour du firmware de l'appareil USB (DFU)
-
Installez Python
-
Installez adafruit-nrfutil
pip3 install adafruit-nrfutil
|
-
Téléchargez le bootloader nécessaire : WisCore_RAK4631_Board_Bootloader.zip.
-
Connectez votre appareil RAK à votre ordinateur via USB.
-
Flashez le bootloader.
adafruit-nrfutil --verbose dfu serial --package ./WisCore_RAK4631_Board_Bootloader.zip -p /dev/ttyACM0 -b 115200 --singlebank --touch 1200
|
-
Ensuite, continuez avec les instructions de flash habituelles.
Étapes RUI3 supplémentaires
Port série COM11 touché Port série COM11 ouvert Démarrage de la mise à niveau DFU de type 2, taille SoftDevice : 0, taille du bootloader : 39000, taille de l'application : 0 Envoi du paquet de démarrage DFU Délai d'attente dépassé en attendant l'accusé de réception de l'appareil. Échec de la mise à niveau de la cible. L'erreur est : Aucune donnée reçue sur le port série. Impossible de continuer.
|
Débogueur
pip3 install pyocd
|
-
Téléchargez le bootloader nécessaire : WisCore_RAK4631_Board_Bootloader.hex.
-
Connectez le RAKDAP comme indiqué ci-dessous :

-
Flashez le bootloader
pyocd flash -t nrf52840 .\WisCore_RAK4631_Board_Bootloader.hex |
-
Procédez avec les instructions de flashage standard.
Mise à jour ou récupération du bootloader sur les appareils nRF52
Méthode 1 : Mise à jour avec le fichier UF2 (recommandé)
-
Téléchargez le fichier UF2 Bootloader correct.
-
Connectez votre appareil à votre ordinateur à l'aide d'un câble USB.
-
Activez le mode bootloader en appuyant deux fois rapidement sur le bouton RESET de votre appareil. Pour le Seeed Tracker 1000-E, maintenez le bouton utilisateur enfoncé, puis connectez rapidement le câble USB au port MagSafe deux fois. L'appareil devrait apparaître comme un lecteur amovible sur votre ordinateur.
-
Glissez-déposez le fichier UF2 que vous avez téléchargé dans le lecteur amovible. L'appareil mettra automatiquement à jour le bootloader et redémarrera.
-
Une fois que l'appareil redémarre, la mise à jour est terminée. Votre appareil fonctionne maintenant avec la dernière version du bootloader, et vous pouvez continuer avec le flashage du firmware.
Méthode 2 : Utilisation de adafruit-nrfutil
-
Lilygo T-Echo SHA256 : 85d8a334bbf82802d712e183f29ec5215f06786ca88914687c437aceab75d9cf
-
RAK4631 SHA256 : 4a216ad2be8be23b80371a11753677c850c5711d3b85129390a416fc47ea0910
-
Seeed Tracker 1000-E SHA256: 8c69f0d43a7aac925055451d7262682d6926d4cfb7ea8240b466dc8f16a692ba
-
Generic Meshtastic 6.1.1 for DIY SHA256: ecebecea849ab79d09517dd4f6ff98de5647fe275b0b4d525501e6c29cb5a586
-
Generic Meshtastic 7.3.0 for DIY SHA256: 9a38edf4e974a6f705c41b296499a4fc57682ec9bb686eecd9f3d8d02fc6ffcf
-
Ouvrez un terminal ou une invite de commandes et installez adafruit-nrfutil en exécutant la commande suivante :
pip install adafruit-nrfutil |
-
Obtenez le package ZIP correct.
-
Connectez votre appareil à votre ordinateur à l'aide d'un câble USB.
-
Dans le terminal ou l'invite de commandes, naviguez jusqu'au répertoire où vous avez téléchargé le package ZIP du bootloader, et exécutez la commande suivante. Assurez-vous de remplacer /dev/ttyACM0 par le port correct pour votre appareil (les utilisateurs Windows peuvent utiliser COMx) :
adafruit-nrfutil --singlebank --touch 1200 --verbose dfu serial --package
|
-
Une fois le processus terminé, la mise à jour est achevée. Votre appareil fonctionne désormais avec la dernière version du bootloader, ce qui vous permet de procéder à flasher le firmware.
Méthode 3 : Utilisation d'un débogueur
Utilisation de SWDIO pour le flashage avec un Raspberry Pi
Configuration du câblage
Installer le logiciel OpenOCD
$ sudo apt update $ sudo apt install libtool autoconf automake texinfo telnet gdb-multiarch git $ git clone git://repo.or.cz/openocd.git $ cd openocd/ $ ./bootstrap $ ./configure --enable-bcm2835gpio $ make -j4 $ sudo make install
|
Vérifier la connexion
$ openocd -f ./openocd/tcl/interface/raspberrypi-native.cfg -c "transport select swd" -f openocd/tcl/target/nrf52.cfg -s tcl
|
Open On-Chip Debugger 0.12.0+dev-00633-gad87fbd1c Sous licence GNU GPL v2 Pour les rapports de bugs, lisez http://openocd.org/doc/doxygen/bugs.html srst_only separate srst_gates_jtag srst_push_pull connect_deassert_srst swd Info : Écoute sur le port 6666 pour les connexions tcl Info : Écoute sur le port 4444 pour les connexions telnet Info : pilote BCM2835 GPIO JTAG/SWD bitbang Info : fréquence d'horloge 100 kHz Info : SWD DPIDR 0x2ba01477 Info : [nrf52.cpu] processeur Cortex-M4 r0p1 détecté Info : [nrf52.cpu] la cible a 6 points d'arrêt, 4 points de surveillance Info : [nrf52.cpu] Examen réussi Info : [nrf52.cpu] démarrage du serveur gdb sur 3333 Info : Écoute sur le port 3333 pour les connexions gdb Info : acceptation de la connexion 'telnet' sur tcp/4444
|
Télécharger le Firmware
Flasher le firmware
$ telnet 127.0.0.1 4444 Tentative de connexion à 127.0.0.1... Connecté à 127.0.0.1. Le caractère d'échappement est '^]'. Ouvrir On-Chip Debugger > init > reset init > halt > nrf5 mass_erase > program firmware.hex verify > reset > exit 0
|
Établir la connexion