WiFiManager_NINA_Lite library does not work on my Nano RP2040 Connect

I bought another Arduino Nano RP2040 Connect board.

I installed the Arduino Mbed OS Nano Boards (v2.4.1) and I installed the library WiFiManager_NINA_Lite (v1.4.0)

Then running the default Example WiFiManager_NINA_Lite-->RP2040_WiFiNINA

But at start, the following error occurs:

Starting RP2040_WiFiNINA on MBED NANO_RP2040_CONNECT
WiFiManager_NINA_Lite v1.4.0
[WN] Hostname=RP2040-Master-Controller
LittleFS size (KB) = 64
LittleFS Mount Fail
Formatting... 

Any idea why an out-of-the-box Nano RP2040 Connect board would bring this error ?

On an RP2040 Connect board that I bought 2 months ago, the WiFiManager_NINA_Lite-->RP2040_WiFiNINA library worked without issues. Why the change now ? What is different for this board now ?

What do I have to do to make the default Example work ?

Check LittleFS Mount Fail - #2 by khoih-prog

You say "worked". Do you still have that board? If so, can you try uploading the sketch to it again now to verify that the issue only occurs on one of the two boards?

The reason I am interested in this is because the code (either of the sketch, the sketch's library dependencies, or the boards platform) might have changed in the last couple months and a change to the code might be the cause of the problem rather than the issue being board-specific.

This is a good suggestion and only you can do and isolate the issue of your boards.


I've tested again and again my board here and be sure the issue is not caused by either the ArduinoCore-mbed v2.4.1, the LittleFS_Mbed_RP2040 v1.0.1 or WiFiManager_NINA_Lite v1.4.0.

Be sure to check if you're using the same core /library version


LittleFS_Test on Nano RP2040 Connect

With #define FORCE_REFORMAT true

Start LittleFS_Test on Nano RP2040 Connect
LittleFS_Mbed_RP2040 v1.0.1
[LFS] LittleFS size (KB) = 64
[LFS] LittleFS Mount OK
====================================================
Writing file: /littlefs/hello1.txt => Open OK
* Writing OK
====================================================
Reading file: /littlefs/hello1.txt => Open OK
Hello from Nano RP2040 Connect

LittleFS_Counting on Nano RP2040 Connect

With #define FORCE_REFORMAT true

Start LittleFS_Counting on Nano RP2040 Connect
LittleFS_Mbed_RP2040 v1.0.1
[LFS] LittleFS size (KB) = 64
[LFS] LittleFS Mount OK
Times have been run = 1
 => Open to write OK

RP2040_WiFiNINA on MBED NANO_RP2040_CONNECT

After reformat => start over
Starting RP2040_WiFiNINA on MBED NANO_RP2040_CONNECT
WiFiManager_NINA_Lite v1.4.0
[WN] Hostname=RP2040-Master-Controller
LittleFS size (KB) = 64
LittleFS Mount OK
Loading DRD file failed
Flag read = 0x0
No doubleResetDetected
Saving DOUBLERESETDETECTOR_FLAG to DRD file : 0xd0d01234
Saving DRD file OK
SetFlag write = 0xd0d01234
[WN] bg: isForcedConfigPortal = false
[WN] bg:Stay forever in CP:No ConfigDat
[WN] clearForcedCP
[WN] SaveCPFile 
[WN] OK
[WN] SaveBkUpCPFile 
[WN] OK
[WN] SSID=WIFININA_51F485,PW=MyWIFININA_51F485
[WN] IP=192.168.4.1,CH=4
F
Your stored Credentials :
Blynk Server1 = account.duckdns.org
Token1 = token1
Blynk Server2 = account.ddns.net
Token2 = token2
Port = 8080
MQTT Server = mqtt.duckdns.org
Stop doubleResetDetecting
Saving to DRD file : 0xd0d04321
Saving DRD file OK
LittleFS Flag read = 0xd0d04321
ClearFlag write = 0xd0d04321

Run normally
Starting RP2040_WiFiNINA on MBED NANO_RP2040_CONNECT
WiFiManager_NINA_Lite v1.4.0
[WN] Hostname=RP2040-Master-Controller
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=0x113d,RCSum=0x113d
[WN] CrCCsum=0x1480,CrRCsum=0x1480
[WN] Valid Stored Dynamic Data
[WN] ======= Start Stored Config Data =======
[WN] Hdr=WIFININA,SSID=HueNet1,PW=12345678
[WN] SSID1=HueNet,PW1=12345678
[WN] BName=Nano_RP2040
[WN] i=0,id=sv1,data=Blynk_server1
[WN] i=1,id=tk1,data=token1
[WN] i=2,id=sv2,data=Blynk_server2
[WN] i=3,id=tk2,data=token2
[WN] i=4,id=prt,data=8080
[WN] i=5,id=mqt,data=mqtt_server
[WN] con2WF:SSID=HueNet1,PW=12345678
[WN] con2WF:OK
[WN] IP=192.168.2.111
[WN] SSID=HueNet1,RSSI=-13
[WN] IP=192.168.2.111
[WN] b:WOK
H
Your stored Credentials :
Blynk Server1 = Blynk_server1
Token1 = token1
Blynk Server2 = Blynk_server2
Token2 = token2
Port = 8080
MQTT Server = mqtt_server
Stop doubleResetDetecting
Saving to DRD file : 0xd0d04321
Saving DRD file OK
LittleFS Flag read = 0xd0d04321
ClearFlag write = 0xd0d04321
HHH

Here my answer:

Yes, I still have that board from order 1 (ordered on 7th of July 2021).
And the libraries from khoih-prog all work on it seemlessly.

And the boards from order 2 (ordered on 29th of August 2021) do NOT work with the libraries of concern.

Here you confirm that Flash-chips changed on newest deliveries of the Arduino Nano RP2040 Connect boards.

And that seems the root cause of the issue. At least the observed error-message LittleFS Mount Fail leads me to this hypothesis.

Due to the Flash-chip exchange, you also write "In this specific case the issue can be solved by compiling sketches using the latest core which is of course backwards compatible with all other chips". And you explain: "....you need to recover by resetting the board while shorting the rec pin with ground".

So here are my steps:

  1. I connect pin GND to pin RESET (or REC as you call it)
  2. I power the board by plugging in the USB connector
    --> I observe the RPI-RP2-drive cropping up on my desktop screen
  3. I disconnect pin RESET from GND
  4. I download the WiFiManager_NINA_Lite library's Example
    i.e. in Arduino IDE under Examples --> WiFiManager_NINIA_Lite --> RP2040_WiFiNINA
  5. At startup, still the same error :

Starting RP2040_WiFiNINA on MBED NANO_RP2040_CONNECT
WiFiManager_NINA_Lite v1.4.0
[WN] Hostname=RP2040-Master-Controller
LittleFS size (KB) = 64
LittleFS Mount Fail
Formatting...

A) Can you please explain better, step-by-step how you solve this problem with the library of concern ? Thank you.

B) Also, please look at the ugly state of deliver from the official Arduino Store.
It seems to me that Arduino sells quite 2nd-hand-material for expensive prices. Some components are abrased (for some unknown reason).

Of course global markets suffer right now. But shouldn't you rather shorten the supply then deliverying non-working components ? (...just an advice from a very frustrated customer - who pays delay in his project...).

Thanks for the update!

Please note that is only me quoting from the reply from Arduino's hardware development manager in the linked issue here:
https://github.com/arduino/Arduino/issues/11638#issuecomment-899283531
Those are not my words. I'm not knowledgeable about this subject beyond the information in that issue report

Based on your findings that the problem is specific to the newer boards, with everything else the same, I agree with your conclusion.

It's not clear to me why this would be. In the case of the issue reported here, the problem was that the Blink UF2 file was compiled with code that only supported the old flash chip, so the result was expected. But you are compiling your sketch with the Arduino Mbed OS Nano Boards platform v2.4.1, which supports both the flash chips. So it's not clear to me why it would not work. But as I said I'm really not knowledgeable on this subject.

Anyway, I will recommend you to follow the two issues that another sufferer of this issue has created and revived. There may be an official response there:

Hmmm. Not something I'd concern myself with, but I guess I just have an easygoing nature.

Well, there is really no evidence at this point that there is anything wrong with the components. More likely, the flash chip is fine but the firmware is not working with it correctly.

As @pennam found out, the problem can be solved by going back to the mbed-core version 2.3.1 (instead of 2.4.1).

1 Like

Your crystal ball is so much better :smiley:

So something introduced in the latest core created the incompatibility of the new batches' flash.
As this issue has been isolated, it sure can be fixed very soon.