Go Down

Topic: OTA Firmware Upgrade on Arduino UNO (Read 778 times) previous topic - next topic

titusece

Dear All,

I've NodeMCU (ESP12E) board and able to upload the sketch via WiFi (OTA)
How can we achieve the same on Arduino UNO boards.

I've Arduino UNO+Ethernet Shield and Arduino UNO+ESP01 for WiFi connection.
So please tell me how can I upgrade/upload the sketch using OTA ?
Any help greatly appreciated.

Thanks for your support.

Regards,
Titus S.
Regards,
Titus S.

pert

As for upload via the ESP8266, there's a technique described here:
https://translate.google.com/translate?hl=en&sl=es&tl=en&u=http%3A%2F%2Fwww.sistemasorp.es%2F2014%2F11%2F11%2Fprogramando-un-arduino-remotamente-con-el-modulo-esp8266%2F
I believe you can find other descriptions of similar things but the problem with the one above and all the others I've seen is that they use one of the Arduino pins directly connected to the reset pin to reset the Arduino to start the bootloader. This might work but it's specifically not recommended by Atmel, the manufacturer of the ATmega328P microcontroller used on the Uno, because it may not produce a long enough reset pulse. I see a couple possible solutions:
Add some hardware components to ensure that the reset pin will be held for at least the amount of time specified in the ATmega328P datasheet.
Modify the Uno bootloader so that a watchdog reset will activate the bootloader. This is a bit more work than the first but has the advantage of not requiring a pin on the Uno.

If you want to upload via Ethernet instead of WiFi I recommend the excellent Ariadne bootloader:
https://github.com/LoathingKernel/Ariadne-Bootloader
It works very well. The bootloader is activated by a watchdog reset so you only need to send a message to the Uno to reset itself via a watchdog reset and then begin the TFTP upload of the sketch immediately.

titusece

Thanks for your reply.
I am working with ariadne bootloader stuff.
Regards,
Titus S.

Go Up