🛠 Mettre à jour le firmware du module NINA
Objectifs
Reprendre en main le firmware du module NINA-W102 — un ESP32 qui exécute le firmware Arduino construit sur ESP-IDF (arduino/nina-fw). Un firmware désynchronisé de la bibliothèque WiFiNINA est la cause numéro un des échecs réseau (connect en 255, server.accept dégradé en available, TLS KO). On voit la voie officielle (Firmware Updater de l'IDE 2) et la voie manuelle (SerialNINAPassthrough + esptool).
Matériel
- 1 × Arduino MKR WiFi 1010 sur câble micro-USB fonctionnel (data)
- IDE Arduino 2.x (embarque arduino-fwuploader) ou arduino-cli + esptool
- Droits d'accès au port série (sous Linux : groupe dialout)
Code complet
// Etape 1/2 de la voie manuelle : televerser cet exemple (menu
// Fichier > Exemples > WiFiNINA > Utilities > SerialNINAPassthrough),
// ouvrir le moniteur 115200 pour laisser le module en mode boot, puis
// etape 2/2 en ligne de commande :
//
// esptool.py --chip esp32 -b 460800 --before default_reset \
// --after hard_reset --no-stub write_flash --flash_mode dio \
// --flash_size detect --flash_freq 40m 0x10000 NINA102_firmware.bin
//
// Le binaire officiel est livre avec le package board arduino/samd
// (dossier tools/firmware). La voie simple : IDE 2 > Sketch > Se connecter
// a un appareil Arduino WiFi > Firmware Updater.
#include <WiFiNINA.h>
void setup { Serial.begin(115200); Serial1.begin(115200); }
void loop {
while (Serial1.available) Serial.write(Serial1.read);
while (Serial.available) Serial1.write(Serial.read);
}
Vérification attendue
Après mise à jour, relancer le sketch Scan WiFi : les réseaux réapparaissent et WiFi.begin aboutit. Vérifier la cohérence version de WiFiNINA / version de firmware listée dans le README de nina-fw. En cas de doute sur l'état du module, le message d'erreur du premier scanNetworks (souvent -1 ou timeout total) est le meilleur thermomètre.
Erreurs fréquentes
- Firmware « à moitié flashé » : une coupure USB pendant esptool laisse un module qui ne boote plus ; reflasher complet, en alimentant correctement la carte (le WiFi du NINA tire des pointes de courant, évitez les hubs USB douteux).
- Désynchronisation firmware/bibliothèque : un firmware très récent avec une WiFiNINA très ancienne (ou l'inverse) provoque des échecs obscurs — gardez les deux couples.
- Espoir de faire tourner WiFi + BLE ensemble en reflashant le module avec un firmware custom : possible (le module est un ESP32 ouvert, Arduino l'assume), mais cela casse la certification RF du module — avertissement officiel sur la page produit.
- Confondre reset du SAMD21 et reset du NINA : après flash, c'est le module radio qui doit redémarrer ; un simple rebranchement USB résout souvent.
- Oublier que le bootloader SAMD (bossac, touch 1200 bauds) est indépendant : ici on flashe le NINA, pas le MCU principal.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
scan-wifi.inoArduinoconnexion-wpa2.inoArduinohttp-get.inoArduinoserveur-web-led.inoArduinohorloge-ntp.inoArduinoudp-diffusion.inoArduino