Programming many Arduinos simultaneously with a wireless broadcast

I will have many microcontroller-based devices which will be independent from each other, but all will run the same program.

I would like to upload a program to all of them at the same time with a wireless broadcast. Ideally the user would plug in a USB controller to his computer, and upload a program from the Arduino environment as if s/he were programming a single device.

To get a better idea of what I'm talking about, please take a look at this video. This was achieved with Atmel microcontrollers but a custom-made, non-Arduino bootloader.

From a Google search for "Arduino infrared programming" this interesting project came up. The main drawback is that the reset button still has to be pressed manually. Ideally I would like the devices to be in a low-power state by default, and wake up to receive a program when they sense a signal from the controller. Still, this may be a good starting point for me.

I just wanted to get some perspectives from people who are familiar with Arduinos as to whether they think this is feasible before I jump in.

Thank you!

Exceedingly difficult to do.
Bootloaders require bi directional communication between the sending source and the Micro to implement some kind of flow control and optionally data integrity checking.
You could theoretically write a bootloader which didnt need either, but then you would have no way of knowing
whether the bootload actually worked or not.
In addition to do this by wireless , means that you also need data integrity checking at the RF link level, which cant be done by a broadcast.

I understood about 0% of everything XD.. but if the main drawback is just pressing the reset button, here are some options just off the top of my head (i'm sure there's many more):

  • physical solution: arduinos have a rst pin... make a transistor circuit, i trust you can find a way to remotely activate it

  • Serial solution: send an AT+RST command