<p align="center">
  <a href="https://elegantota.pro?ref=ghfeature" target="_blank">
    <img src="https://raw.githubusercontent.com/ayushsharma82/ElegantOTA/master/docs/feature.png" width="1200"></p>
  </a>
</p>

<br/>

<p>
<img src="https://img.shields.io/github/last-commit/ayushsharma82/ElegantOTA.svg?style=for-the-badge" />
&nbsp;
<img src="https://img.shields.io/github/actions/workflow/status/ayushsharma82/ElegantOTA/ci.yml?branch=master&style=for-the-badge" />
&nbsp;
<img src="https://img.shields.io/github/license/ayushsharma82/ElegantOTA.svg?style=for-the-badge" />
</p>

<br/>

<p>Over-the-air update library for wireless microcontrollers</p>

<p>
ElegantOTA provides a beautiful user interface to upload over-the-air firmware/filesystem updates to your hardware with precise status and progress. ElegantOTA is designed to make the process of OTA updates slick and simple!
</p>

<br/>
<br/>

## Features

- 🔥 Quick & simple OTA procedure
- 🏀 Get useful insight on progress and status of your OTA update
- 🎷 No need to learn HTML/CSS/JS
- 🛫 Ready to use within 3 lines of code

<br/>

## Supported MCUs

ElegantOTA works on the following microcontrollers/boards:

- ESP8266
- ESP32
- RP2040 (+WiFi / Pico W)
- RP2350 (+WiFi / Pico 2 W)
- *( more coming soon )*

<br/>
<br/>

<h2>Documentation</h2>
<p>Learn more about Installation & Usage: <a href="https://docs.elegantota.pro">Click Here</a></p>

<br>

<!-- <b>Antivirus Issue:</b> If you have an antivirus on your PC with internet security, the progress bar on webpage will instantly show 100% because of request caching by your antivirus software. There is no fix for this unless you want to disable your antivirus or whitelist your local IP addresses in it. ( Same is the case with iOS, safari will cache the outgoing requests ) -->

<br>

## Open-Source Preview
*Preview might appear as blurry due to image optimization.*
<br>

<img src="https://raw.githubusercontent.com/ayushsharma82/ElegantOTA/master/docs/demo.gif" width="600">

<br>
<br>

## Looking for more? Upgrade to Pro.

ElegantOTA Pro comes with the following extended functionality:
- Exclusive Drag & Drop Zone
- Toggle OTA modes
- Hardware ID & Firmware Version on UI
- Whitelabel / Branding
- Commercial License

Atlast, It is a fantastic way to support the developer for the time went into the making & maintaining the library.

<br> <b>Available here: </b>

- [Official Webstore (elegantota.pro)](https://elegantota.pro)

<br/>

<a href="https://elegantota.pro" target="_blank">
  <img src="https://raw.githubusercontent.com/ayushsharma82/ElegantOTA/master/docs/pro-preview.jpg" alt="ElegantOTA Pro" width="600">
</a>

<br>
<br>

<h2>Contributions</h2>
<p>Every contribution to this repository is highly appreciated! If you spot any bug or problem, open a issue or pull request so that it can be rectified for everyone.</p>

**For feature requests:** Please open a issue and I'll add the feature in a future release once I get some time in my hands.

<br/>

<h2>License</h2>

ElegantOTA open-source edition is licensed under Affero General Public License v3.0 ( AGPL-3.0 ).

If you are planning to use ElegantOTA in a commercial project, please consider purchasing [ElegantOTA Pro](https://elegantota.pro) which comes with a less restrictive SOFTT Commercial License 1.2 ( SCL-1.2 ).
