Can't connect 2 Nano RP2040 Connect devices to the IoT Cloud

I have successfully added a single Nano RP2040 Connect on the Arduino IoT Cloud. It has the imaginative name RP2040ConnectTest. I have loaded a sketch onto it and it has correct two-way comms with the Dashboard. All done on Windows 11 on the free tariff. So far so good.

When I try to register a second Nano RP2040 Connect, I get the response that "RP2040Test has already been configured".

I've tried turning the original device off, and also deleting it a setting up again as suggested, but I get the same message.

Any ideas as to why I cannot configure 2 RP2040 Connect devices?

I loaded blink onto the board causing the problem and it worked ok.

I then tried to add it to the IoT as a device and it failed with the message that it couldn't find a device.

I then went back to try blink again and the Arduino IDE couldn't see it either. Not a great end to a brand new Arduino board straight out of the box!

Still, the ESP8266/ESP32 boards seem to work ok.

Have a look at the following article: https://support.arduino.cc/hc/en-us/articles/4404168794514-Nano-RP2040-Connect-not-being-detected-on-USB-port

Once you have the board detected make sure you install the latest version of the create agent and then try again.

Thanks for the tip. That successfully de-bricked my second RP2040 Connect. Much obliged.

However, I still have the problem that I can't add two Nano RP2040 Connect devices to my IoT at the same time.

Starting from no devices in my IoT, I can add RP2040-1 ok. When I try to add a second RP2040 I am told that "RP2040-1 has already been configured" and I don't get the opportunity to type in the new name.

If I then delete RP2040-1 I can add the other device, RP2040-2, but when I try to add RP2040-1 again, I am told the "RP2040-2 has already been configured".

Since both device are working fine in isolation to the other, this is starting to smell like an Arduino IoT bug, but I'd be very happy for someone to prove otherwise.

Hi,
I had no issues adding a second device of the same model.

My only thought is that if you're trying to create the same thing and associate (attach) it with two different devices (rp2040s) then this might cause you problems as 1 thing can only be associated with one device. Thus, you would need to create another new thing, which may have the same variables then you may attach it to a second device.

  1. Create Thing1 and attach it to device1
  2. Create another Thing2 (A copy of Thing1) and attach it to device2

Thanks for your efforts. I tried what you suggested.

I started with RP2040-001 being used as a Thing. Fully functioning with data updates visible in its dashboard. All good up to this point.

I then tried to add a second RP2040 connect and I got the message that RP2040-001 is already configured.

I'm running short of ideas. I'll try it on another PC when I get the chance.

Ok, so I just tried adding RP2040-002 using a different Windows lap top and got the same result. I.e. "RP2040-001 is already configured". It's official, I give up.

@robertics it looks like you are try to add two instances of the same hardware device, this is not supported. The Arduino Create Agent checks for the serial number of the connected board and recognize thet is already present in your device list.

You can check your boards serial number using

arduino-cli board list --format json

Thanks for your reply. That sound plausible.

Where would I enter that command?

I've extracted some device information using the API devicesV2Show() interface.

With one device configured and then the next, I ran the show command and got the results below. If the 'serial' field is the serial number to which you refer, then my devices do indeed have an identity crisis.

Where on earth do I go from here?

RP2040-001

{'created_at': datetime.datetime(2022, 7, 27, 15, 47, 29, 967648, tzinfo=tzutc()),
'href': '/iot/v2/devices/54ad5658-d235-4fe0-ac8b-7b29a8926f7a',
'id': '54ad5658-d235-4fe0-ac8b-7b29a8926f7a',
'metadata': None,
'name': 'RP2040-001',
'serial': '3350315009003637',
'type': 'nanorp2040connect',
'user_id': 'HIDDEN FROM VIEW',
'webhooks': None}

RP2040-002

{'created_at': datetime.datetime(2022, 8, 5, 18, 25, 28, 973519, tzinfo=tzutc()),
'href': '/iot/v2/devices/672d6e09-4828-4bb4-bd45-8a0c024a126c',
'id': '672d6e09-4828-4bb4-bd45-8a0c024a126c',
'metadata': None,
'name': 'RP2040-002',
'serial': '3350315009003637',
'type': 'nanorp2040connect',
'user_id': 'HIDDEN FROM VIEW',
'webhooks': None}

I also used the IDE Tools > Get Board Info and got the results below that support the API results.

RP2040-001
BN: Arduino Nano RP2040 Connect
VID: 2341
PID: 005e
SN: 3350315009003637

RP2040-002
BN: Arduino Nano RP2040 Connect
VID: 2341
PID: 005e
SN: 3350315009003637

Can anyone tell me how to change the serial number of a board?

@robertics is it not possible to change the serial number of a board. The RP2040 Connect serial number is readed from the flash UUID, i suspect there is an issue/bug in this procedure.

Ok, thanks for letting me know. That is most helpful. I've spent way too much time on this issue but now at least I can stop trying to find a fix and just bin the board instead.

It doesn't fill me with confidence for any future purchases of the board, though.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.