OTA arduino uno rev 3

Hello, is it possible to upload firmware via OTA on arduino uno rev 3?
What lib should I add?


OTA? Well the Ardiuno Uno Rev 3 doesn’t have WiFi to begin with so it needs a whole WiFi capable chip (and level shifting chips) attached to it, otherwise over-the-air updates are impossible.

The ESP8266 has a library that enables it to program an Uno via the ISP port (and an SPI protocol): Arduino/libraries/ESP8266AVRISP at master · esp8266/Arduino · GitHub

There’s also the project GitHub - jeelabs/esp-link: esp8266 wifi-serial bridge, outbound TCP, and arduino/AVR/LPC/NXP programmer that turns the ESP8266 into a (among other things) serial programmer, so the normal Arduino-style programming via only UART TX/RX and reset can be used.

There was also a topic about that at Set network port for upload?.

Sorry, I was not specific enough on my first post.
I meant if OTA is possible using a WiFi shield, not on a bare Arduino Uno Rev 3.
I would also like to know if there is a way to upload a new firmware using the Ethernet shield.
I guess the answer is no, except if using an intermediate device, right?

I agree with the answer at Sketch over network? (OTA to Arduino Ethernet) - #2 by wanek - Need Help With My Project - Blynk Community and program arduino over ethernet? - Home Automation - Arduino Forum here.

The referenced Arduino Ethernet Shield and TFTP bootloader project is at GitHub - loathingKernel/ariadne-bootloader: A little less unfinished TFTP bootloader for Arduino Ethernet or Arduino with Ethernet Shield with a writeup here and here. In short, it’s a complicated procedure that replaces the bootloader of the board with something that uses the Ethernetshield to open a TFTP server to which one can push firmware files that will then be flashed.

The ESP8266 method with the serial bridge project linked above would be much easier though and doesn’t require bootloader modifications. But needs an ESP8266 and level shifter, of course.