Which Arduinos can support OTA firmware update?

Hi,

I have a few questions about wireless firmware update on Arduino boards.

  1. Is there any reliable and easy modification that would not risk permanent damage and be reversible?

  2. Are there any ready-made Arduinos that natively support OTA firmware update?

  3. I'm thinking that if the Arduino has more than one serial port, then it should be able to natively support firmware update? Am i correct? Like, the Arduino MEGA??

  4. I am using a Bluetooth HC-05 module - is it possible to update the Arduino firmware directly using the Bluetooth connection with my Windows computer? I was able to obtain serial data from the Bluetooth module coming from the Arduino, but firmware update is not working.

bootloader on Mega only listens on RX/TX. but if you want to upload remotely to a board not plugged into PC USB, then RX/TX is free

the bootloader only listen for new sketch some seconds after reset. you must reset the MCU right before upload

what damage?

What do you mean by "natively support"?

You can certainly do OTA uploads via WiFi to the Arduino MKR1000 with either the official WiFi101OTA or Juraj's ArduinoOTA libraries. You can also do OTA uploads to the MKR WiFi 1010, MKR Vidor 4000, and I'm sure the Nano 33 IoT using Juraj's ArduinoOTA library.

It is possible to install a bootloader on the Mega that listens on the serial pins other than RX/TX if you really want. If you install MegaCore, there is a Tools > Bootloader menu that allows you to pick which serial port the bootloader uses. You would need to use an ISP programmer to burn that bootloader to your Mega:

DryRun:
4. I am using a Bluetooth HC-05 module - is it possible to update the Arduino firmware directly using the Bluetooth connection with my Windows computer? I was able to obtain serial data from the Bluetooth module coming from the Arduino, but firmware update is not working.

I've never done it, but supposedly it is possible. You'll definitely find some tutorials about it with a little searching. The trick is setting it up so that the Bluetooth module can reset your Arduino board to activate the bootloader.

pert:
You can certainly do OTA uploads via WiFi to the Arduino MKR1000 with either the official WiFi101OTA or Juraj's ArduinoOTA libraries. You can also do OTA uploads to the MKR WiFi 1010, MKR Vidor 4000, and I'm sure the Nano 33 IoT using Juraj's ArduinoOTA library.

thank you Per. I don't know if DryRun asks about Bluetooth or TCP OTA with ArduinoOTA library is acceptable too. I will add, that the ArduinoOTA library supports upload over Ethernet and UIPEthernet too. it supports Mega too. and Nano 33 BLE OTA over TCP should work too (I have nRF5 support in the library).

the InternalStorage objects of the ArduinoOTA library can be used to store and apply the bin file transported over any other way, so a bin file transported over BT can be stored and then applied. and the BT module can be on any RX/TX of Mega. (but the Mega must run Optiboot with copy_flash_pages function)

Hi Everyone,

I heard there is a solution for OTA firmware update of any Arduino AVR or PIC Microcontroller on the market now. From what I understand it's a programmer that you have to buy and then you buy the number of Wifi modules that you need for your project of commercial products. It gives you the ability to have Wifi communication with you MCU through API libraries (very easy to use apparently) and also to update your Arduino for example at any time.