🛠 Mettre à jour le firmware du module NINA
Objetivos
Retomar el control del firmware del módulo NINA-W102 — un ESP32 que ejecuta el firmware de Arduino construido sobre ESP-IDF (arduino/nina-fw). Un firmware desincronizado con la biblioteca WiFiNINA es la causa número uno de los fallos de red (connect devuelve 255, server.accept degradado a available, TLS fallido). Se presentan la vía oficial (Firmware Updater del IDE 2) y la vía manual (SerialNINAPassthrough + esptool).
Material
- 1 × Arduino MKR WiFi 1010 con un cable micro-USB funcional (datos)
- IDE Arduino 2.x (incluye arduino-fwuploader) o arduino-cli + esptool
- Permisos de acceso al puerto serie (en Linux: grupo dialout)
Código completo
// 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);
}
Verificación esperada
Tras la actualización, vuelva a ejecutar el sketch Scan WiFi: las redes vuelven a aparecer y WiFi.begin tiene éxito. Verifique la coherencia entre la versión de WiFiNINA y la versión de firmware indicada en el README de nina-fw. En caso de duda sobre el estado del módulo, el mensaje de error del primer scanNetworks (a menudo -1 o timeout total) es el mejor indicador.
Errores frecuentes
- Firmware «a medio flashear»: un corte de USB durante esptool deja un módulo que no arranca; realice un flasheo completo, asegurándose de alimentar correctamente la placa (el WiFi del NINA genera picos de corriente, evite hubs USB de dudosa calidad).
- Desincronización firmware/biblioteca: un firmware muy reciente con una WiFiNINA muy antigua (o viceversa) provoca fallos oscuros — mantenga ambas versiones actualizadas y compatibles.
- Esperanza de ejecutar WiFi + BLE juntos al flashear el módulo con un firmware personalizado: es posible (el módulo es un ESP32 abierto, Arduino lo asume), pero esto rompe la certificación RF del módulo — advertencia oficial en la página del producto.
- Confundir el reset del SAMD21 con el reset del NINA: tras el flasheo, es el módulo de radio el que debe reiniciarse; un simple reconexión USB suele resolverlo.
- Olvidar que el bootloader SAMD (bossac, toque a 1200 baudios) es independiente: aquí se flashea el NINA, no el MCU principal.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
scan-wifi.inoArduinoconnexion-wpa2.inoArduinohttp-get.inoArduinoserveur-web-led.inoArduinohorloge-ntp.inoArduinoudp-diffusion.inoArduino