Skip to content
No description or website provided.
Branch: master
Clone or download
Latest commit 5fd0589 Mar 29, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
src ESP32 doesn't have mDNS update() Mar 19, 2019
.gitignore Ignore Makefiles and *.bin Mar 14, 2019
LICENSE Initial commit Mar 14, 2019


Easily add web based OTA updates to your ESP32/ESP8266 projects.


Clone this repo to your Arduino libraries directory. On Linux this is ~/Arduino/libraries/


Include the WebOTA library

#include <WebOTA.h>

Optionally initialize the WebOTA library if you want to change the defaults. This is done at the end of your setup() function:

void setup() {
    // Other init code here (WiFi, etc)

    // To use a specific port and path uncomment this line
    // Defaults are 8080 and "/webota"
    // webota.init(8888, "/update");

Listen for update requests at the end of your loop() function:

void loop() {
    // Other loop code here


Note: If you have long delay() commands in your loop() WebOTA may not be responsive. We have provided webota.delay() as a drop-in replacement, which is more WebOTA friendly.

Upload a sketch

You will need to create a binary sketch image to upload. This is done in the Arduino IDE by going to the Sketch menu and selecting Export compiled Binary.

Navigate to your ESP in a web browser to upload your binary image. Typical URLs are: http://esp-ota.local:8080/webota.

You can also use Curl if you want to script your uploads from the CLI

curl -F "file=@MyImage.bin" http://esp-ota.local:8080/webota

Based on

Borrowed from and improved upon.

You can’t perform that action at this time.