Upload a sketch using WIFI?

Is there an Arduino board that supports WIFI for uploading a sketch? If not, Is there a shield that can enable this feature?

Thanks!

Yes. You can do OTA uploads to the Arduino MKR 1010, Arduino MKR 1000, Arduino MKR Vidor 4000, Arduino Nano 33 IoT, ESP8266 boards, and ESP32 boards.

As for using shields. You can do OTA uploads to the Arduino Zero with the Arduino WiFi Shield 101. There is a list of supported microcontrollers of the ArduinoOTA library here:

For the MKR 1010 and WiFi Shield 101, there is an official Arduino library:

The ESP8266 comes with it's own OTA support built in:
https://arduino-esp8266.readthedocs.io/en/2.5.2/ota_updates/readme.html
The ESP32 folks seem to be allergic to writing documentation, but I'd guess the ESP8266 documentation should apply fairly well.

But the question is always - Why?

pert:
Yes. You can do OTA uploads to the Arduino MKR 1010, Arduino MKR 1000, Arduino MKR Vidor 4000, Arduino Nano 33 IoT, ESP8266 boards, and ESP32 boards.

As for using shields. You can do OTA uploads to the Arduino Zero with the Arduino WiFi Shield 101. There is a list of supported microcontrollers of the ArduinoOTA library here:
GitHub - jandrassy/ArduinoOTA: Arduino library to upload sketch over network to Arduino board with WiFi or Ethernet libraries

For the MKR 1010 and WiFi Shield 101, there is an official Arduino library:
GitHub - arduino-libraries/WiFi101OTA: Update sketches to your SAMD board over WiFi

The ESP8266 comes with it's own OTA support built in:
OTA Updates — ESP8266 Arduino Core 2.5.2 documentation
The ESP32 folks seem to be allergic to writing documentation, but I'd guess the ESP8266 documentation should apply fairly well.

Thanks! I was hoping I could use Arduino Nano 33 IoT. Could you direct me to some documentation to how this is done?

Thanks!!

The Arduino Nano 33 IoT is essentially just an Arduino MKR WiFi 1010 in a smaller form factor. So any information you find on the MKR WiFi 1010 will also apply to the Nano 33 IoT. You will find more information on the MKR WiFi 1010 than you will for the Nano 33 IoT because it’s been around longer. You can find some nice information in the jandrassy/ArduinoOTA library documentation:
https://github.com/jandrassy/ArduinoOTA

That library comes with two relevant example sketches. The one you should start with is WiFi101_OTA. The other is WiFi101_SD_OTA, but that requires an SD card connected to the Arduino board. The tricky thing about these sketches is they are using the WiFi101 library but that library is only for the MKR 1000 and the WiFi Shield 101. For the Nano 33 IoT, you need to use the WiFiNINA library. Luckily these libraries have the same API as far as the example goes so you only need to change this line:

#include <WiFi101.h>

to:

#include <WiFiNINA.h>

to make them work for the Nano 33 IoT.

Here's a tutorial for the WiFi101_OTA example sketch:

Keep in mind it was written assuming you will be using the MKR 1000 and the WiFi101 library so you'll need to ignore some parts of it, but the rest of it will apply equally to the Nano 33 IoT and WiFiNINA library.

pert:
Here's a tutorial for the WiFi101_OTA example sketch:
https://www.arduino.cc/en/Tutorial/WiFi101OTA
Keep in mind it was written assuming you will be using the MKR 1000 and the WiFi101 library so you'll need to ignore some parts of it, but the rest of it will apply equally to the Nano 33 IoT and WiFiNINA library.

Thank you very much! This thread has helped a lot!!