OTA via IoT Cloud not working (Nano 33 IoT)

I am not able to update a sketch via the IoT cloud. The device is online, but each time I try to use OTA updating I get a "Binary not received by the board: board not found" error. The firmware is updated. I have tried three boards and all of them have the same problem. The sketch itself is just the boilerplate that is automatically created.

1 Like

Hi, I'm facing the same problem. I have Arduino Nano 33 IoT, properly connected to the IoT Cloud. OTA updating worked fine one or two weeks ago and for all that time the dashboard communicates with the device (read and write) without any problems, even right now. However, today I'm unable to update a sketch via internet. All I see is:

Start Uploading sketch Test_jun23a Over-the-Air

Binary not received by the board: board not found

The wifi library should be up to date, I updated it two weeks ago.

Any advice?

I'm getting exactly the same thing with an arduino rp2040. The device is online but when publishing I get "binary not received by the board: board not found"

Today I noticed that the error changed to

Binary not received by the board: error checking binary URL

Still, I've been trying several times per day for the last 5 days to do an OTA update and every single time it does not work. Last time it worked was about two weeks ago, since then the system has always been online and connected to the cloud.

I'm happy to provide more details, just please tell me what you need or what I can try doing.

Edit: now it went back to the previous error:

Binary not received by the board: board not found

I am having the same problem for weeks now. I have 4 mkr wifi 1010 boards and they all give the same errors. I have updated everything, including the wifi firmware on the boards and still the same problems.

1 Like

I am having the same issue; however the board is connected as I am able to control an LED from a previous sketch that is still running.

Hi all, thank you for reporting these errors!

A couple of days ago, we fixed a timing issue that might solve some of these problems.

Please, reply to this thread with your error messages if and when it occurs.

It would also be great to provide us a sharing URL to the affected sketch to check if possible. Some sketch details (for example, using the delay function with multiple seconds values in the main loop) can interfere with the IoTCloudLibrary and the OTA.

I was having this problem, but after I commented out the delay(1500) after the Serial.begin call it started working.

1 Like

If you need to run specific code on a regular interval you can use the following code snipplet and adapt it to your needs:

#define TIME_SLOT_INTERVAL 10000
unsigned long lastTickTime;
void setup(){
  lastTickTime = millis();
void loop(){
  unsigned long msNow = millis();
  if(msNow - lastTickTime >= TIME_SLOT_INTERVAL){
    /* do something */
    lastTickTime = msNow;

The IoTCloudLibrary works at its best when the ArduinoCloud.update() method is executed regularly, so the library can handle the communication between the device and the Cloud.

This is why the use of delay() function should be avoided as much as possible.

Please report any OTA errors un this thread and we'll try to sort them out as soon as possible,

1 Like

I have a Nano IoT 33. Just got it set up. I can push the sketch to it via USB no problem. It does connect to wifi without issue. It does "phone home" and show "online" in the dashboard. It did upload OTA once or twice in the very beginning without issue, but for a couple days now it just says "Binary not received by the board: board not found" every single time I try to push the sketch via OTA.

I have tried what others in the thread have said which was to remove any "Delay" statements, which I have done and that made no difference.

I have even deleted the thing, and recreated from scratch and then pushing the default starting sketch first via USB, then once it was checking in, I then tried to push the same default/starting sketch via OTA. Same errors....

The board is checking in as it shows online and the last contact timestamp stays current. I can only surmise there is an issue with the cloud system?

Hi, There was something wrong before as I received "Object :object " message after an OTA sketch upload... but the sketch was uploaded and device was online and running as supposed to be.
I've tried that ,then tried to upload OTA to the online device and now this device is gone
i've lost the comunication OTA, and device is offline now after receiving this message

I'm away from device so tomorrow i'l will try to upload sketch by USB

Hi again,
new device, new thing with just a cloud switch variable and simple dashboard.
no modifications in the autogenerated sketch
OTA answered:

but device seems to bee online

Yep, same thing I see when trying to OTA with Nano 33 IOT. I just got a MKR Wifi 1010 and it has no such OTA problems. Clearly the issue is widespread, dare I say all Nano 33's trying to OTA upload sketches....

Variable updating works still though, and we can upload sketches via USB still; but this OTA is kind of the whole reason I bought this and also subscribed to the Arduino Cloud Paid Service. I have contacted support, who asked for a video. There was someone from Arduino on this thread, but they have gone MIA too.

Interestingly, I tried it a little while ago and same thing. Tried it just now while getting ready to record the video and it uploaded properly without error. Tried it again a few minutes later and it failed again. Not sure what to make of that.

Hi, I was looking again this thread as the problem persist erratically,
I think this is not the cause of the problem
the line with "delay(1500);" is autogenerated by the thing creation process so I assume it should not be wrong ...
by the way , the line is at setup sequence so there is no reason to interfere with the ArduinoCloud.update() method which is in the loop section
anyway I've tried your code with no luck as it stops the automatic update if the cloud script is inserted inside /* do something */ line.
I'll be watching this thread to see evolution of the problem, I suppose that is more relate to traffic and synchronization timing of the cloud .
Many thanks.

I've been banging my head on the wall quite a bit on this. It is not only the Nano 33 iot boards, the others also have the issue, such as the MKR boards.

The issue has nothing to do with the delay() values, or at least "reasonable" values anyway. I have ripped all delays out and the problem is still there.

It is inconsistent, basically a roll of the dice if your sketch will upload or not. In all cases the board is properly phoning home as the variables are "last updated" within the past few seconds, and everything else works properly otherwise from a network connectivity standpoint.

No idea beyond what I've stated. I opened a case with Arduino support and they asked for a video of the problem................... I responded and also pointed them at this thread and no replies since.

Hey @Ale-X and @exr90 I've been OFF during the last two+ week, but now I can try to troubleshoot your issues.

Are you available to share more details about your sketches so we can try to reproduce and fix this issue?

Hi zmoog,
I have been really busy these last Three weeks,
I can confirm that the error is erratically happening so it has no relation with the board nor even with an specific sketch.
Also even with the sample sketches, they can be uploaded by OTA at a time and then without any changes the same sketch fails to upload, I assume that this is more related avec a kind of instability of the cloud but this is just a thought ...
i wish I could help more with this
Please let me know if I can help

Hi guys,
Exactly the same issue for some weeks now with a mkr1010Wifi board.
Usb works fine but impossible to works with OTA mode...
Try differents PCs and places....same issue ,
with the bloody "Binary not received by the board: board not found" error...

Sorry, the forum message went to my spam. I can, yes. It has been fairly wild, yesterday it worked most of the time, with only a couple "board not found" errors and if I retried those they most of the time would work after that retry.

No rhyme or reason to this. It's done it with different boards too with different models.

I can help with a remote session or whatever you want to do. I will DM you.