I have two boards NANO RP2040 and I am not able to work with them. I have followed all the instructions explained in the ARDUINO tutorial and no success:
When I tried to compile the sketches on them, the process is interrupted and the windows explorer comes up showing two files (INDEX and INFO_UF2) like this:
When tried to congifure the device at the IoTCloud, the same interruption happends, the process is interrupted and the window explorer comes up again showing those INDEX and INFO_UF2 files.
When I tried to update the firmware, the same. I tried using the IDE2 and arduino-fwuploader tool, and the process is always interrupted, the blinking LEDs stop and the windows explorer comes up showing thos two files.
If I reset the board, the LEDs start blinking again, but it is like starting the whole process once again from the begining with another interruption accompanied by the windows explorer showing the two mentioned files.
Any help how can I configure the boards and put them to work correctly without interruptions in order to be able to load the scketches?
Can you please confirm which Window version you are using?
Second, with point 1, did you use the Arduino IDE?
Can you compile a sketch without uploading it? Click on Verify
Did you install the board support package and select the correct device?
Before you click on Upload make sure the correct port is selected.
The Nano RP2040 has two modes, one for running a sketch and bootloader mode. The bootloader mode is slightly different than with other Arduinos. The Arduino shows up a mass storage device.
I can reliably switch between the modes by single or double click of the reset button.
Did you use any other Arduinos with native USB before? e.g., Nano 33 IoT, BLE
Install the lateste IDE and then the package core for your board, see https://www.arduino.cc/en/Guide/Cores . Now try to select the boad and COM port it is connected to to via the IDE and run a blink LED example in the IDE. If this fails to resolve it, try step 2 below.
b. place a jumper wire between REC and GND. This will open a mass storage folder with INDEX and INFO_UF2 files.
c. remove the jumper wire between REC and GND while the mass storage folder still open.
d. now drag the "blink.ino.elf.uf2" file into the mass storage folder. If successful, the board will be flashed with a program that blinks the built-in LED, and shifts between the red, green and blue pixels.
e. Test with Blink LED sketch from the IDE after selecting the board and the COM port to confirm that the board now works fine.
Note: Use a good quality data USB cable (do not use a USB hub or USB 3.0 port)
Thanks Klaus: Regarding your questions:
a) I am using Windows 10.
b) I used Arduino IDE.
c) I can compile, I cannot upload the sketch.
d) I did install the board support package and select the device "Arduino Nano RP2040 Connect"
e) During the process i have described, I always was sure that the selected port was correct.
f) How can I select bootloader mode?. I have pressed the click button during the sketch upload without succcess
g) I did not used other Arduinos with native USB before. First time.
Anything else I can try?.
Thanks again.
Thanks dozie:
I did install latest IDE. I could not compile at the beginning but I did once I updated the latest version. However, the resulto was the same.
I downloaded "Blink.ino.elf.uf2" and folloed the procedure specified in the tutorials you have referenced and it was the same result.
Double click the reset button. Your Arduino should show up as a mass storage device. Then try to download a sketch. In that case you will not be able to select a port because there is none, but it should still work.
I had no issue with my RP2040 so far, but it looks like a few other in the forum had.
If it not an issue for you to get another Arduino while you figure this out, I recommend to get an Arduino Nano 33 IoT. It is very similar to the RP2040 and I like the SAMD21 over the Raspberry MCU. Microchip/ATMEL simply have more experience with microcontrollers. The WiFi/BLE module is the same on both boards.
Hello,
In my opinion (correct me if I'm wrong) the bootloader mode is when the mass storage mode is visible in Windows. I have another RP2040 that works correctly, bootloader mode is visible about 1 sec, when uploading my sketch.
This mode can be reached by double click the reset button or GND-REC trick, but in my case my board is always in the bootloader mode.
I also think that the running sketch is responsible for setting the USB port for upload. Because the running sketch is corrupted, there is no com port. When compiled sketch (UF2-file) is copied, the bootloader is copying this and trying to start it, but fails because the previous sketch is corrupt and cannot be deleted.
So we are really asking what to do next, this will be a big issue in Nano RP2040, if it is not solved by Arduino developers.
Do we need RP2040 firmware update (not the Wifi module fw) ?
Hello, some additional information on this issue:
I found out that it is actually the program PICOTOOL.exe, that is actually uploading the sketch to RP2040.
C:\Users\heikk\AppData\Local\Arduino15\packages\arduino\tools\rp2040tools\1.0.2>picotool info -a
Program Information
none
Fixed Pin Information
none
Build Information
none
Device Information
ROM version: 2
C:\Users\heikk\AppData\Local\Arduino15\packages\arduino\tools\rp2040tools\1.0.2>picotool load blink.ino.elf
Loading into Flash: [==============================] 100%
C:\Users\heikk\AppData\Local\Arduino15\packages\arduino\tools\rp2040tools\1.0.2>picotool save test.uf2 --all
Saving file: [==============================] 100%
Wrote 0 bytes to test.uf2
Info reports no program in RP2040, then I try to load the standard blink sketch , seems to work ok, but reading it back reports 0 bytes.
Does this indicate that my board flash memory is corrupt ?
There is smaller chip near the bigger RP chip, is that flash memory ?
There are small white spots in the chip (the fully working board, that chip is totally black). Is the flash memory burned ?
Thanks for your explanation. I tried everything. I tried with two different NanoRP2040 Connect. It seems not to be a burned memory. I also tried to load the sketch with a prior reset (double click), and it did not work either. Actually, the sketch seems to pass the loading process without a COM port connected (indicated by ARDUINO IDE), but once the process is finished, the message of an error during loading comes again. I tried with diferent USB-ports, different cables and nothing happened.
I will try with another board like the recommended Nano 33 IoT, but it seems very frustrating to do that after acquiring such an expensive board like Nano RP2040 Connect that seems to be useless to work with ARDUINO IDE.
There appears to be a minor issue with some versions of the board.
I did two things that both seems to have helped.
(1) Revert the board cores back one version to 2.3.1.
(2) Revert the firmware back one to the previous version if you are on the latest.
This may only affect certain revisions of the board with the ISSI chip (between the microphone and the RP2040 chip)
Not 100% which one fixed what but I now appear to be able to use the board with pretty much no issues. Certainly worth a try.
BTW I used the regular IDE 1.8.16 to do both those changes.
From my understanding one of the IDE's may update the boards firmware but am unsure if it is the JAVA version or the online version @pert ?
Not sure if that would be an issue in and of itself ?
Hi, there appears to be 2 versions for RP2040,"Arduino Mbed OS Nano Boards"/Arduino Nano RP2040 Connect and
"Arduino Mbed OS RP2040"/Raspberry Pi Pico, which one to use ?
Both have latest version 2.5.2, if I try to use 2.3.1 do they differ or are those actually same ? I understand that after downgrade I have to recompile blink sketch and try to send the EF2 file with picotool.exe.
How up/downgrade the firmware from IDE ? I have never done that. What is the current version, and what version should I use ?
Where to get it ?
I am using Platform IO in my RP2040 development (it worked well before this deadlock), but I think the IDE use does not matter, because it is picotool that finally download the sketch. I have tried to compile it with PlatformIO and Arduino IDE, but no help.
I have no idea about picotool or platfomio. Note my fix only seems to work for those boards with the ISSI chip !
My downgrade was to get past that issue.
To downgrade the firmware use the regular Arduino IDE.
Your are rigth. It is a question of versions. I installed the board classified as "DEPRECATED" and it did work. Now, when I run all expamples, I am requested to update the firmware but, al least, I am able to load a sketch that did run.
Thanks a lot!
Here a picture of the board I installed classified as obsolete. I was working before with the first one.