Sorry in advance for a long message. I wanted to include as much information as possible about this issue.
I recently got an Arduino Nano RP2040 Connect with the intention of using it for an IoT Cloud project. When I try to add it as a device, I encounter an issue while the web editor is configuring the board for cloud use. I have tried the process on four different devices. This is what happened...
Two windows machines:
I select setup arduino board, install the arduino cloud agent, and plug in the board. It is recognized by the web program and starts configuring. I name the board and it tries to upload a sketch, but the program then says that no board is found after thinking for a minute.
I am able to upload a standard blink sketch to the board from the desktop version of Arduino IDE, but not from the web version.
Chromebook:
When selecting the board to add on a Chromebook, there are only four official Arduino boards I can choose from and the RP2040 connect is not on the list.
I am able to upload a sketch from the web IDE on the Chromebook to the board.
Linux Computer:
Same case as the Windows computers. I did not try to upload any sketches from a desktop version.
Additionally:
I have tried using multiple USB cables.
I have re-installed the cloud agent.
I have reset the board by double tapping the button.
These were the recommendations I saw on the Arduino support website, but they did not seem to change anything.
If someone knows what is going or how to fix the problem that would be greatly appreciated. Thank you!
Sorry, I am not understanding what is going on. Let me show some screen prints of normal operation then you can show us your screen if it is different. I will use a different board but that is not relevant.
BTW, thge Cloud Agent should already be running, it starts when you power on your computer and never shuts off.
After login in to the cloud
Click on Device
Click on Arduino Board
Click Configure
Wait for it to setup the board, can take 5mins
FOLLOW instructions, remove USB, plug USB back in
Press Continue
Name the board
Wait up to 5 minutes for board to be made IoT ready
And we are done
Press Done and this is the final screen
Here are some screenshots:
Cloud Agent is running
I click "Add Device"
Select Arduino Board
Next this screen opens
I plug the Nano RP2040 in and this appears after a few seconds
I click "Configure" and it shows this screen. During this time the nano reboots and the RPI-RP2 drive appears on my file explorer.
I then am prompted to name the board
After naming, it returns to this screen
After a few seconds, I see this
If I try to upload a regular sketch from the Cloud IDE, I receive this error:
We like lots of information
. You did a great job of performing relevant experiments!
In hopes it might provide some clue that would allow us to identify the cause of the problem, I'm going to ask you to provide the full verbose output from an upload using the desktop Arduino IDE.
This procedure is not intended to solve the problem. The purpose is to gather more information.
Please do this:
- Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
The "Preferences" dialog will open.
- Uncheck the box next to Show verbose output during:
☑
compile in the "Preferences" dialog.
- Check the box next to Show verbose output during: ☐ upload.
- Click the "OK" button.
The "Preferences" dialog will close.
- Attempt an upload, as you did before.
- Wait for the upload to finish.
- Right click on the black "Output" panel at the bottom of the Arduino IDE window.
A context menu will open.
- Select Copy All from the menu.
- Open a reply here on this forum topic by clicking the "Reply" button.
- Click the
<CODE/>
icon on the post composer toolbar.
This will add the forum's code block markup (```
) to your reply to make sure the error messages are correctly formatted.
- Press the Ctrl+V keyboard shortcut (Command+V for macOS users).
This will paste the upload output into the code block.
- Move the cursor outside of the code block markup before you add any additional text to your reply.
- Click the "Reply" button to publish the post.
Sketch uses 60060 bytes (0%) of program storage space. Maximum is 16773120 bytes.
Global variables use 9552 bytes (3%) of dynamic memory, leaving 252592 bytes for local variables. Maximum is 262144 bytes.
"C:\Users\richt\AppData\Local\Arduino15\packages\rp2040\tools\pqt-python3\1.0.1-base-3a57aed-1/python3" -I "C:\Users\richt\AppData\Local\Arduino15\packages\rp2040\hardware\rp2040\4.5.3/tools/uf2conv.py" --serial "COM7" --family RP2040 --deploy "C:\Users\richt\AppData\Local\arduino\sketches\D2FF026FC8C8500E769F80AF89492921/Blink.ino.uf2"
Resetting COM7
Converting to uf2, output size: 153600, start address: 0x2000
Scanning for RP2040 devices
Flashing D: (RPI-RP2)
Wrote 153600 bytes to D:/NEW.UF2
That is the output I receive with these preferences (on the desktop IDE):
OK, great. That actually did provide the clue I needed. I can see you are using the 3rd party "Raspberry Pi Pico/RP2040/RP2350" boards platform from Earle F. Philhower, III in Arduino IDE, which is different from the official "Arduino Mbed OS Nano Boards" platform Arduino provides for the board.
When you upload a sketch to the board using that platform, it puts the board into a state where it can't accept uploads from Arduino Cloud (including the uploads that are performed to provision the board as an Arduino Cloud IoT Device).
Fortunately, Arduino IDE doesn't have this problem. So the workaround for the problem is to use Arduino IDE to upload a sketch to the board using the "Arduino Mbed OS Nano Boards" platform. That will put the board into a state where you can then upload sketches to the board using Arduino Cloud. I'll provide instructions you can follow to do that:
A. Install "Arduino Mbed OS Nano Boards"
If you haven't already installed it, you will first need to use the Arduino IDE Boards Manager to install the "Arduino Mbed OS Nano Boards" platform:
- Select Tools > Board > Boards Manager... from the Arduino IDE menus to open the "Boards Manager" view in the left side panel.
- Find the "Arduino Mbed OS Nano Boards" entry in the list of boards platforms.
- Click the "INSTALL" button at the bottom of the entry.
- Wait for the installation process to finish, as indicated by a notification at the bottom right corner of the Arduino IDE window:
Successfully installed platform ...
B. Upload a Sketch
- Select File > New Sketch from the Arduino IDE menus.
- Select Tools > Board > Arduino Mbed OS Nano Boards > Arduino Nano RP2040 Connect from the Arduino IDE menus.
- Select Sketch > Upload from the Arduino IDE menus.
- Wait for the upload to finish successfully.
- Select File > Close from the Arduino IDE menus.
ⓘ The reason for this step is that if you have Serial Monitor open in Arduino IDE, it will block the serial port of the board and thus cause uploads from Arduino Cloud to fail.
Now try adding the Nano RP2040 Connect as an Arduino Cloud IoT Device once again, just as you did before. Hopefully this time it will be successful.
You only need to perform the procedure I described above once for each of the Nano RP2040 Connect boards. After that, you should be able to upload sketches to the board as many times as you like using Arduino Cloud without running into that upload failure problem. However, if you later upload a sketch to the board from Arduino IDE while you have Tools > Board > Raspberry Pi Pico/RP2040/RP2350 > Arduino Nano RP2040 Connect selected from the Arduino IDE menus, it will put the board back into the state where it is incompatible with the Arduino Cloud upload system and you will need to perform the procedure once more after that when you decide you want to start using the board with Arduino Cloud once again.
Yes! That seemed to fix the problem. The RP2040 connect is now registered under my devices. Thank you!
You are welcome. I'm glad it is working now.
Regards, Per