Updating Multiple I2C Arduinos OTA via NodeMCU

Hi

I have almost completed a project with one NodeMCU and a bunch of Arduinos connected via the I2C bus. The NodeMCU has WiFi and thanks to code from Rui Santos, I have successfully managed to perform OTA updates of INO files, on it, which is great.

The next step is to update all of the slave arduinos with software updates as I continue to tinker with the code. As I see it, these are my requirements/challenges:

  1. To understand if I can broadcast/force the updates, on demand or if I have to place the file(s) somewhere and program the device(s) to look for updates.
  2. If the INO file, needs to be changed into a .BIN file (not a problem)
  3. If I have to upload the file in question to the Flash memory of the nodeMCU before updating
  4. If i can create a list of I2C addresses that need the update, so that the process is not labour intensive. n.b. each device has DIP switches which I2C address physically set up to be unique, so the same code on all Arduino's will work perfectly.

I've done a bit of digging before posting and it mentions creating a firmware update server etc, however, I just wondered if:

  1. This has been done before
  2. If there is a simple way to do this
  3. If not, a general pointer on what specific area to focus on, would be extremely helpful

Many thanks

what Arduino boards?

Apologies,

They are Arduino Nanos

google "atmega i2c bootloader"

Thanks,
I've had a quick look and my head hurts!
I can see managed ways of doing it, if I were using a Nano_33 IOT (which I am not)
Those ways revolve around subscriptions to websites too.

I was hoping there may be an easier way if I used a WiFi enabled NodeMCU as a shared device but sadly not.

Looks like I need to do a lot more research. If I get anywhere I will report back but as there does not seems to be any examples / guides, so I have the feeling it's not an easy task.

Thanks for your comment, regardless.

look like you are getting different results than I. I wonder why would you get something about Nano 33 IoT. maybe you googled something else than "atmega i2c bootloade"?

https://github.com/orempel/twiboot
https://github.com/mihaigalos/miniboot
https://hackaday.io/project/25406-wild-thumper-based-ros-robot/log/77894-updating-the-avrs-over-i2c

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