Blynk & WiFiManager for Mega/SAMD/SAM-DUE,Teensy/STM32, RP2040-based boards, etc. using WiFiNINA

Updated June 1st 2021

Major Releases v1.1.0

  1. Add support to RP2040-based boards, such as RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040, using Earle Philhower’s arduino-pico v1.6.2+ core.
  2. Add support to RP2040-based boards, such as Nano_RP2040_Connect, RASPBERRY_PI_PICO, ADAFRUIT_FEATHER_RP2040 and GENERIC_RP2040, using Arduino-mbed RP2040 v2.1.0+ core.
  3. Enable scan of WiFi networks for selection in Configuration Portal. Check PR for v1.3.0 - Enable scan of WiFi networks #10. Now you can select optional SCAN_WIFI_NETWORKS, MANUAL_SSID_INPUT_ALLOWED to be able to manually input SSID, not only from a scanned SSID lists and MAX_SSID_IN_LIST (from 2-6 for ESP8266-AT or 2-15 for other)
  4. Use more efficient FlashStorage_SAMD v1.1.0 and FlashStorage_STM32 v1.1.0
  5. Add functions to control Config Portal from software or Virtual Switches. Check How to trigger a Config Portal from code #25
  6. Configurable Customs HTML Headers, including Customs Style, Customs Head Elements, CORS Header.
  7. Fix MultiWiFi connection bug. Check SAMD MultiWiFi issues when first WiFi SSID configured in CP is invalid or not available #6
  8. Fix invalid “blank” or NULL Config Data treated as Valid. Check WiFiManager connection attempt to unconfigured (“blank”) SSID after restart on SAMD #8
  9. Permit optionally inputting one set of WiFi SSID/PWD by using REQUIRE_ONE_SET_SSID_PW == true
  10. Enforce WiFi Password minimum length of 8 chars
  11. Enhance MultiWiFi connection logic
  12. Minor enhancement to not display garbage when data is invalid
  13. Tested with new Arduino Core for STM32 v2.0.0 and add support to new STM32L5 boards
  14. Optimize code.
  15. Update examples
  16. Update `Packages’ Patches
  17. Fix compiler warnings.

Debug Terminal Output

Start RP2040_WiFiNINA_WM using WiFiNINA_Shield on MBED NANO_RP2040_CONNECT
Blynk_WiFiNINA_WM v1.1.0
DoubleResetDetector_Generic v1.3.0
Start Blynk_WM
[WN] Hostname=nRF52-WiFiNINA
LittleFS size (KB) = 64
LittleFS Mount OK
LittleFS Flag read = 0xd0d04321
Flag read = 0xd0d04321
No doubleResetDetected
Saving DOUBLERESETDETECTOR_FLAG to DRD file : 0xd0d01234
Saving DRD file OK
SetFlag write = 0xd0d01234
[WN] CCSum=0x3361,RCSum=0x3361
[WN] CrCCsum=0x219f,CrRCsum=0x219f
[WN] Valid Stored Dynamic Data
[WN] ======= Start Stored Config Data =======
[1236] Hdr=SHD_WiFiNINA,BrdName=SAMD_WiFiNINA
[1236] SSID=HueNet1,PW=password
[1236] SSID1=HueNet,PW1=password
[1237] Server=,Token=token
[1238] Port=8080
[1238] ======= End Config Data =======
[WN] i=0,id=mqtt,data=new-mqtt-server
[WN] i=1,id=mqpt,data=1883
[WN] i=2,id=user,data=new-mqtt-username
[WN] i=3,id=mqpw,data=new-mqtt-password
[WN] i=4,id=subs,data=new-mqtt-SubTopic
[WN] i=5,id=pubs,data=new-mqtt-PubTopic
[1241] ======= End Dynamic Data =======
[WN] con2WF:SSID=HueNet1,PW=password
[WN] con2WF:OK
[WN] IP=
[4819] IP =, GW =, SN =
[4822] b:WOK.TryB
    ___  __          __
   / _ )/ /_ _____  / /__
  / _  / / // / _ \/  '_/
 /____/_/\_, /_//_/_/\_\
        /___/ v0.6.1 on MBED NANO_RP2040_CONNECT

[4824] BlynkArduinoClient.connect: Connecting to
[4854] Ready (ping: 17ms).
[4924] Con2BlynkServer=,Token=token
[4924] b:WBOK
Your stored Credentials :
MQTT Server = new-mqtt-server
Port = 1883
MQTT UserName = new-mqtt-username
MQTT PWD = new-mqtt-password
Subs Topics = new-mqtt-SubTopic
Pubs Topics = new-mqtt-PubTopic
Stop doubleResetDetecting
Saving to DRD file : 0xd0d04321
Saving DRD file OK
LittleFS Flag read = 0xd0d04321
ClearFlag write = 0xd0d04321