Remote programming OTA

Hi..Hope you are doing great. I have a few doubts and it would be great if someone can guide me. Is there any way that I can program a bunch of Arduino Nano 33 IoT which will be connected to WiFi from a remote place (not on the same WiFi network). Example: let us say I have a product design based on Arduino nano 33 IoT. I want to program it from anywhere in the world. Is this possible? If yes can you please let me know what to do.

If this is a product, I recommend you talk to some professionals that know what they are doing. Once your devices are sold to your customers, they expect them to work and they will come after you if that is not the case. So, asking for help for a professional product in a forum for hobbyist is not a great start.

There are many issues that you will need to investigate.

  • the hardware needs to be designed to have enough memory to store the entire program, decrypt it and verify it before it can update the device. The SAMD21 microcontroller on the Nano 33 IoT has a Cortex-M0+ processor which is not powerful when it comes to computation and does not have any hardware support for encryption. The Nano 33 IoT has a microcontroller and a radio module. You would need to solve these problems for both.

  • you need a deployment system that knows where each device is and whether the customer likes it to be updated and when it is safe to do so (depends on the application)

  • because the device is connected to the internet you need security experts that monitor vulnerabilities and support you in fixing them

I recommend you Google IoT device management, provisioning, monitoring. There are companies that provide solutions for these issues, so you can worry about your product and not how to update it.

https://github.com/jandrassy/ArduinoOTA#ota-update-as-download

Thanks a lot Klaus_K and Juraj. I will consider your suggestions.