ElegantOTA VS arduino-esp32

Compare ElegantOTA vs arduino-esp32 and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
ElegantOTA arduino-esp32
4 228
516 12,590
- 3.4%
8.1 9.6
8 days ago 5 days ago
C++ C++
GNU Affero General Public License v3.0 GNU Lesser General Public License v3.0 only
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.

arduino-esp32

Posts with mentions or reviews of arduino-esp32. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-07.
  • Any good/worthwhile Camera sensor modules for arduino/pico for still photography?
    1 project | /r/diyelectronics | 11 Dec 2023
    You could just buy ready-made ESP32 boards with an OV2640 camera built-in, then customize the example sketch from https://github.com/espressif/arduino-esp32/tree/master/libraries/ESP32/examples/Camera/CameraWebServer to your liking.
  • I am trying to write to an SD card, it "works" but I can only find the file on PC if I use data recovery software?
    1 project | /r/esp32 | 9 Dec 2023
  • ESP32 memory corruption
    2 projects | /r/esp32 | 7 Dec 2023
    Are you perhaps this poster? https://github.com/espressif/arduino-esp32/issues/5250 - asking that poster for the list I just asked for went nowhere and it was auto-closed.
  • ESP32 WiFiMulti: Connect to the Strongest Wi-Fi Network (from a listing of networks).
    2 projects | /r/u_KeatonParker | 1 Oct 2023
    /* * Based on the following examples: * WiFi > WiFiMulti: https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WiFiMulti/WiFiMulti.ino * WiFi > WiFiScan: https://github.com/espressif/arduino-esp32/blob/master/libraries/WiFi/examples/WiFiScan/WiFiScan.ino * Complete project details at our blog: https://RandomNerdTutorials.com/ * */ #include #include WiFiMulti wifiMulti; // WiFi connect timeout per AP. Increase when connecting takes longer. const uint32_t connectTimeoutMs = 10000; void setup(){ Serial.begin(115200); delay(10); WiFi.mode(WIFI_STA); // Add list of wifi networks wifiMulti.addAP("ssid_from_AP_1", "your_password_for_AP_1"); wifiMulti.addAP("ssid_from_AP_2", "your_password_for_AP_2"); wifiMulti.addAP("ssid_from_AP_3", "your_password_for_AP_3"); // WiFi.scanNetworks will return the number of networks found int n = WiFi.scanNetworks(); Serial.println("scan done"); if (n == 0) { Serial.println("no networks found"); } else { Serial.print(n); Serial.println(" networks found"); for (int i = 0; i < n; ++i) { // Print SSID and RSSI for each network found Serial.print(i + 1); Serial.print(": "); Serial.print(WiFi.SSID(i)); Serial.print(" ("); Serial.print(WiFi.RSSI(i)); Serial.print(")"); Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?" ":"*"); delay(10); } } // Connect to Wi-Fi using wifiMulti (connects to the SSID with strongest connection) Serial.println("Connecting Wifi..."); if(wifiMulti.run() == WL_CONNECTED) { Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } } void loop(){ //if the connection to the stongest hotstop is lost, it will connect to the next network on the list if (wifiMulti.run(connectTimeoutMs) == WL_CONNECTED) { Serial.print("WiFi connected: "); Serial.print(WiFi.SSID()); Serial.print(" "); Serial.println(WiFi.RSSI()); } else { Serial.println("WiFi not connected!"); } delay(1000); }
  • problems connecting esp32 to sd card
    1 project | /r/esp32 | 29 Sep 2023
  • ESP32 S2 Help
    1 project | /r/arduino | 1 Aug 2023
    I have 2 ESP32-S2-Saolo-1 's on hand. I am trying to do the example Wifi FTM code that can be found at the following repo: https://github.com/espressif/arduino-esp32/tree/master/libraries/WiFi/examples/FTM
  • The Nano ESP32
    5 projects | news.ycombinator.com | 17 Jul 2023
    That has not been my experience at all as a user. ESPHome is even easier than Arduino and I haven’t touched firmware code in years.

    The price makes a huge difference when you have dozens of them operating which is trivial with a decent hydroponics and smarthome setup. I also have a dozen boards just sitting idle ready to be called up to replace a failed one or use for a new project because they’re so cheap.

    Not to mention the Arduino core is supported officially by ESP32: https://github.com/espressif/arduino-esp32

    Who actually uses Arduino in production? Everyone just uses modules (for ESP32) or rolls their own using the Arduino board as a reference.

  • Arduino Uno R4 WiFi
    5 projects | news.ycombinator.com | 26 Jun 2023
    They've done a good job of hiding the RTOS from you and making most sketches run fine without porting, but you're still running as a task under the RTOS, yielding between loop() calls[1]. This leads to mysterious timing issues if you aren't aware of it[2]

    It doesn't appear that the Arduino core for the Renesas chip is using the RTOS, at least by default -- its main loop is literally doing while (1) { loop(); }, similar to how the AVR core works. [3, 4]

      1. https://github.com/espressif/arduino-esp32/blob/72c41d09538663ebef80d29eb986cd5bc3395c2d/cores/esp32/main.cpp#L45
  • exit status 1 error not going away! Pls help
    2 projects | /r/arduino | 21 Jun 2023
    https://github.com/lewisxhe/esp32-camera-series/issues/11 may interest you - you need all the files in the same dir, not just the .ino by itself
  • Do you have any idea why this program would not work? [ESP32]
    2 projects | /r/arduino | 19 Jun 2023
    I copied all the libraries from here: https://github.com/espressif/arduino-esp32/tree/master/libraries

What are some alternatives?

When comparing ElegantOTA and arduino-esp32 you can also consider the following projects:

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

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]

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

esp32_template

platform-espressif32 - Espressif 32: development platform for PlatformIO

fpc-esp-freertos

WLED - Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi!

esp32-wifi-penetration-tool - Exploring possibilities of ESP32 platform to attack on nearby Wi-Fi networks.

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

TinyGo-On-ESP32 - This tutorial will walk you through how to setup Ubuntu 20.10 with Ubuntu Desktop on a Raspberry Pi 4B, install the Espressif ESP-IDF, install Go and TinyGo and finally flash an app to an Espressif ESP32 Microcontroller.