ElegantOTA VS esp-serial-flasher

Compare ElegantOTA vs esp-serial-flasher and see what are their differences.

esp-serial-flasher

Library for flashing Espressif SoCs from other MCUs. (by espressif)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
ElegantOTA esp-serial-flasher
4 6
516 320
- 4.4%
8.1 8.3
8 days ago 13 days ago
C++ C++
GNU Affero General Public License v3.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

ElegantOTA

Posts with mentions or reviews of ElegantOTA. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-07-06.
  • OTA Updates & Community Resources
    1 project | /r/esp32 | 14 Feb 2023
    As u/__deeetz__ pointed out, the esp32 already had a good OTA mechanism, and there are some libraries that simplify the whole process - probably one of the more popular ones is ElegantOTA: https://github.com/ayushsharma82/ElegantOTA If I understand what you're doing correctly, you'll really have just 2 layers, not 3 - one being your application (which effectively has the Kernel/OS compiled in), and then your scripting/LUA component. Technically the ESP32 also has a bootloader portion, but it's pretty uncommon to need to modify that in any way, so I would highly recommend against doing that. As far as dealing with the LUA scripts - you can easily download and run those - you'll store them into NV ram, and I believe the current recommended format is LittleFS. Keep in mind that on a normal ESP32 configured to do OTA updates there's 4MB of storage, 2x 1.8MB for the two bootable images, and ~200k for the file system (in this case LittleFS). There are also other boards which come with more flash memory, like the new S3R8 has 16MB of flash, so your OTA partitions stay about the same in most cases, but you now have ~12MB of storage, which I suspect would be way beyond anything you'd need for storing LUA.
  • How to power esp32-33 Feather TFT?
    1 project | /r/esp32 | 17 Jan 2023
  • ESP32 C3 firmware upgrade over UART to select partition
    3 projects | /r/esp32 | 6 Jul 2022
  • Example of OTA via HTTP server on IDF?
    5 projects | /r/esp32 | 20 Jan 2022
    I'm looking for a small, thin example of the ESP32 hosting a webserver to accept firmware update files for OTA updates. There's a handful of Arduino libraries that do exactly this (e.g. https://github.com/ayushsharma82/ElegantOTA) but I haven't come across anything clean that's just built around IDF.

esp-serial-flasher

Posts with mentions or reviews of esp-serial-flasher. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-07-11.
  • Esp32-S3 brownout when Wi-Fi starts
    1 project | /r/esp32 | 6 Dec 2023
  • Can I update an ESP32 from another microcontroller
    1 project | /r/esp32 | 12 Dec 2022
  • Esp32
    3 projects | /r/esp32 | 11 Jul 2022
    if you have a board with a lot of UARTs and a way to connect your targets programming-UART to them, Expressif provides a C implementation of the bootloader protocol suitable for running on embedded devices here. This is basically the same functionality esptool.py provides in C. That repo's example directory provides code running on other ESP's, RaspPi's and STM32. You would need a bit of customizing. If you want to do this via USB, the board doing the flashing needs USB host (e.g. ESP S3)
  • ESP32 C3 firmware upgrade over UART to select partition
    3 projects | /r/esp32 | 6 Jul 2022
    Hi I am developing application where I have STM32 MCU connected to LTE with modem and ESP32 C3 to handle wifi and ble. STM32 will receive new firmware from modem connected to LTE but it doesnt have enough space to hold whole app. Is it possible to load application to a partition on ESP32 and after the image is loaded ESP boots itself from new partition containing new app? I found This example, but afaik it doesnt support option to flash to partition. Thanks for suggestions :)
  • Update firmware on serial connected ESP32 from another ESP32?
    1 project | /r/esp32 | 28 Dec 2021
    Espressif has an official library for just that: https://github.com/espressif/esp-serial-flasher

What are some alternatives?

When comparing ElegantOTA and esp-serial-flasher you can also consider the following projects:

esp-idf - Espressif IoT Development Framework. Official development framework for Espressif SoCs.

mch2022-autoflasher - Tools to automatically flash the MCH2022 badge when plugged in via USB

Sonoff-Tasmota - Alternative firmware for ESP8266 with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at [Moved to: https://github.com/arendst/Tasmota]

esp32_template

fpc-esp-freertos

Tasmota - Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at

Arduino-HomeKit-ESP8266 - Native Apple HomeKit accessory implementation for the ESP8266 Arduino core.

i2s-upnp-bridge - Stream I2S audio to UPnP renderers with an ESP32.

arduino-esp32 - Arduino core for the ESP32

DiscImageCreator - This is the disc (CD, GD, DVD, HD-DVD, BD, GC/Wii, XBOX, XBOX 360) and disk (Floppy, MO, USB etc) image creation tool

ESP-WebOTA - Simple web based Over-the-Air (OTA) updates for ESP based projects