$ show ayushsharma82/ElegantOTA
ElegantOTA is an Arduino library that provides a polished web-based portal for over-the-air (OTA) firmware and filesystem updates on wireless microcontrollers (ESP8266, ESP32, RP2040+WiFi, RP2350+WiFi). The library exposes a minimal C++ API (begin, loop, callbacks) and serves a gzipped HTML/CSS/JS portal at /update. It handles the entire OTA workflow: capacity check before upload, MD5 integrity verification, chunked writing, progress reporting, and automatic reboot. The code is well-structured with platform-specific abstractions via preprocessor macros, supporting both synchronous (WebServer) and asynchronous (ESPAsyncWebServer) modes. The repository includes comprehensive CI testing across multiple boards and toolchains (Arduino CLI, PlatformIO), a CLA assistant, and stale issue management. The library is actively maintained with recent bug fixes (MD5 verification, RP2040 space calculation) and a clear upgrade path to a commercial Pro version.
The LLM identified 1 files worth highlighting for reuse:
A standalone Python script that enables PlatformIO to upload firmware directly to an ElegantOTA-enabled device over the network. It handles authentication (HTTP Digest), MD5 hash computation, multipart upload with progress bar (using requests_toolbelt and tqdm), and supports both firmware and filesystem updates. The script is parameterized via platformio.ini or config.h, making it reusable across any project using ElegantOTA without modification.