WiFiManager VS esphome

Compare WiFiManager vs esphome and see what are their differences.

WiFiManager

ESP8266 WiFi Connection manager with web captive portal (by tzapu)

esphome

ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. (by esphome)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
WiFiManager esphome
41 227
6,351 7,711
- 6.5%
7.7 9.9
30 days ago 3 days ago
C++ C++
MIT License GNU General Public License v3.0 or later
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.

WiFiManager

Posts with mentions or reviews of WiFiManager. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-27.
  • Need some opinions on a clock I'm planning to sell online that involves ESP8266
    2 projects | /r/esp8266 | 27 May 2023
  • Trouble changing clock format from 24 hour to 12 hour
    1 project | /r/arduino | 14 May 2023
    #include "WiFiManager.h" //https://github.com/tzapu/WiFiManager WiFi Configuration Magic #include "ezTime.h" // Time Library - get your POSIX Timezone 'string' to replace TZ/GMT if needed, below, here: https://support.cyberdata.net/index.php?/Knowledgebase/Article/View/438/10/posix-timezone-strings #include "SevenSegmentExtended.h" #include "SevenSegmentTM1637.h" #include "SevenSegmentFun.h" // For Text readouts #include "SoftwareSerial.h" #include "DFMiniMp3.h" //========================USEFUL VARIABLES============================= const char* ssid = "R2D2"; // R2D2 Access point network name (to connect to R2D2, to change/add your WiFi details) const char* password = "Droidyouarelookingfor"; // R2D2 Access point password uint16_t notification_volume = 25; // Speaker volume int Display_backlight = 45; // 4 Digit Display brightness when operating normally (outside of initialisation) int BlueLED_brightness = 50; // Two blue LED's (when connected to ESP32 pin 14, instead of VCC) const char* ntpServer = "pool.ntp.org"; // Your chosen TimeServer const String timezone_posix_string = "EST5EDT,M3.2.0/2:00:00,M11.1.0/2:00:00"; // Insert your own POSIX Timezone string here. See link above for info. //===================================================================== // Avoid changing below here... // Call WiFi Manager WiFiManager wifiManager; // Call a Timezone Timezone TZ; #define CLK 25 #define DT 26 #define SW 27 #define RED_LED 17 #define WHITE_LED 16 const int BLUE_LED = 14; // 14 corresponds to GPIO14 float counter = 0; int currentStateCLK; int lastStateCLK; String currentDir = ""; unsigned long lastButtonPress = 0; int btnState = 0; // timer int timer_secs = 0; int timer_mins = 0; float inc_red_led = 0; // the number of the Blue LED's pin const int BlueChannel = 1; // setting PWM properties const int freq = 5000; const int resolution = 8; class Mp3Notify { public: static void PrintlnSourceAction(DfMp3_PlaySources source, const char* action) { if (source & DfMp3_PlaySources_Sd) { Serial.print("SD Card, "); } if (source & DfMp3_PlaySources_Usb) { Serial.print("USB Disk, "); } if (source & DfMp3_PlaySources_Flash) { Serial.print("Flash, "); } Serial.println(action); } static void OnError(uint16_t errorCode) { // see DfMp3_Error for code meaning Serial.println(); Serial.print("Com Error "); Serial.println(errorCode); } static void OnPlayFinished(DfMp3_PlaySources source, uint16_t track) { Serial.print("Play finished for #"); Serial.println(track); } static void OnPlaySourceOnline(DfMp3_PlaySources source) { PrintlnSourceAction(source, "online"); } static void OnPlaySourceInserted(DfMp3_PlaySources source) { PrintlnSourceAction(source, "inserted"); } static void OnPlaySourceRemoved(DfMp3_PlaySources source) { PrintlnSourceAction(source, "removed"); } }; SevenSegmentExtended blue1(21, 22); // CLK, DIO SevenSegmentFun words(21, 22); // CLK, DIO SoftwareSerial secondarySerial(18, 19); // TX, RX DFMiniMp3 mp3(secondarySerial); void configModeCallback (WiFiManager *myWiFiManager) { Serial.println("Entered WiFi Manager config mode.."); Serial.println(WiFi.softAPIP()); Serial.println(myWiFiManager->getConfigPortalSSID()); } //flag for saving data bool shouldSaveConfig = false; //callback notifying us of the need to save config void saveConfigCallback () { Serial.println("Should save config"); shouldSaveConfig = true; } void setup() { words.setBacklight(80); words.begin(); words.scrollingText("R2D2 START", 2);
  • I built a website running in ESP32 with separate frontend and backend. The frontend is made with VueJS + TailwindCSS, the backend is coded in C++
    1 project | /r/embedded | 13 Apr 2023
    Many examples in Arduino tell you to embed HTML to your C++ code (look https://github.com/tzapu/WiFiManager/blob/master/wm_strings_en.h), but my approach is different: The frontend is written in different language (TypeScript + Vue), with separate build process (no C compiler involved). It even is tested independently from Arduino code, on PC.
  • Esp-Idf wifi manager
    3 projects | /r/esp32 | 20 Mar 2023
    Hello. Some time ago I' ve strugled with seting up wifi manager in esp_idf framework. Most popular wifi manager made by tzapu was not working on esp-idf framework inside PlatformIo. So I have found tonyp7. It started to work after many changes in library code and makefiles. I have some free time and I can make WifiManager suited to bare esp-idf and esp-idf inside PlatformIo. My question is- do somebody need this ? Maybe there are alternatives which i did not find and my work is pointless. Please share your opinion
  • Best way to communicate WiFi details to Adafruit Feather Huzzah ESP8266
    1 project | /r/arduino | 7 Mar 2023
    #include // Using the Arduino Library Manager, install "WifiManager by tzapu" - lib at https://github.com/tzapu/WiFiManager void setup() { WiFiManager wifiManager; // Start a Wifi link wifiManager.autoConnect("NewDevice"); // (on first use: will set up as a Wifi name; set up by selecting new Wifi network on iPhone for instance) } void loop() { }
  • Easy way to program wifi credentials on a pre- programmed board?
    1 project | /r/arduino | 18 Feb 2023
    include // Using the Arduino Library Manager, // install "WifiManager by tzapu" // lib at https://github.com/tzapu/WiFiManager void setup() { WiFiManager wifiManager; // Start a Wifi link. wifiManager.autoConnect("NewDevice"); // (on first use: will set up as // a Wifi name; set up by // selecting new Wifi network on // iPhone for instance) }
  • Making it easy for customer/ client to put in wifi credentials onto a pre-programmed IoT device
    4 projects | /r/esp32 | 18 Feb 2023
    Is that fork needed still? It seems like the main project claims support for esp32 now? https://github.com/tzapu/WiFiManager
  • Making it easy for client/customer to program SSID and password into IoT devices?
    1 project | /r/esp8266 | 18 Feb 2023
  • ESP_WiFiManager deprecated?
    1 project | /r/esp8266 | 16 Feb 2023
    Use this one instead: https://github.com/tzapu/WiFiManager
  • SOFT AP Mode for ws2812b LED Matrix Sign using esp8266 and Adafruit Neomatrix library.
    3 projects | /r/esp8266 | 6 Feb 2023

esphome

Posts with mentions or reviews of esphome. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-24.
  • A Beginner's Guide to the ESP8266
    3 projects | news.ycombinator.com | 24 Apr 2024
    For the ESP32, an hero is in the process of adding LVGL to ESPHome. You can try it out now: https://github.com/esphome/esphome/pull/6363

    Here's the (very good!) preview documentation: https://deploy-preview-3678--esphome.netlify.app/components/...

    This is such a game-changer for me that I'll be using the ESP32 over the ESP8266 for any projects involving displays from now on.

  • ESPHome
    11 projects | news.ycombinator.com | 23 Apr 2024
    Solid state relay is probably a bad idea with all the extra heat-sinking, extra cost, and chance of getting counterfeits.

    I do this with ESPHome & a J115F21C12VDCS.9 relay (note only the NO side is rated for 40A resistive): https://i.imgur.com/MqqOkoY.png

    Choose any of the temperature sensors here for air temperature sensing: https://esphome.io/

    Configuration is so easy. For the sensor, just copy the config from here, for example: https://esphome.io/components/sensor/bme280. Add a gpio output (https://esphome.io/components/output/gpio) and a bang-bang climate controller (https://esphome.io/components/climate/bang_bang.html)

  • A Custom Zigbee Doorbell
    3 projects | news.ycombinator.com | 14 Feb 2024
    You might want to take a look at https://esphome.io/ for an easy integration of an ESP32/8266 into home Assistant.
  • Thoughts, learnings and regrets after three years on Home Assistant
    4 projects | news.ycombinator.com | 12 Feb 2024
    You can do this with a $30 Sonoff S31 running ESPHome [0]. Since the Sonoff wall switch can run a ping sensor against your server you could create a watchdog automation right on the S31 to shut off the mains power to the S31 switch and turn back on after X seconds.

    There are other ways you could have the S31 do operational checks but ultimately ESPHome is probably an interesting consideration and supported by tons of off the shelf hardware.

    [0] https://esphome.io/

  • Fixing a broken smart cat feeder with ESP32
    2 projects | news.ycombinator.com | 1 Feb 2024
    They're pretty great and compatible with most things. ESPHome [1] is a great resource for getting ESP32's working nicely with HA and you can find lots of projects using it to learn from.

    You'll likely need to do soldering if you want to connect sensors, batteries and the like.

    Personally I really like what SEEED Studio [2] does with their ESP32 boards and they have nice docs.

    1. https://esphome.io/

  • How to connect a SwiftUI app to NodeMCU ESP32
    1 project | /r/SwiftUI | 9 Dec 2023
    Maybe you could set up ESPHome on the ESP32. It might make connecting those components easier, plus a decent web server built in. Then your app can be set up to access data provided by the ESPHome web server.
  • Esp32 communication over the internet
    2 projects | /r/esp32 | 9 Dec 2023
  • Adafruit Feather ESP32-S2 with BME280 will not work!
    2 projects | /r/Esphome | 9 Dec 2023
    # # Setting pins for sda and scl will be required until https://github.com/esphome/esphome/pull/2970 is released
  • Hey all! ESP32 beginner here, looking for a little advice
    3 projects | /r/esp32 | 8 Dec 2023
    Probably an unpopular opinion, but for the simple stuff you may just want to use something like EspHome where you just need to create a yaml file. Once you’re comfortable with that maybe get into something a bit more advanced, but esphome make it a breeze. It integrates with home assistant if you already have that in place as well.
  • List of your reverse proxied services
    29 projects | /r/selfhosted | 5 Dec 2023
    ESPHome

What are some alternatives?

When comparing WiFiManager and esphome you can also consider the following projects:

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

ESPresense - An ESP32 based node for gathering indoor positioning and transmitting to mqtt

ESPAsyncWiFiManager - Port WiFiManager to ESP Async Server

ESP-Now - ESP-Now Examples

esp_wifi_repeater - A full functional WiFi Repeater (correctly: a WiFi NAT Router)

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

NTP-time-for-ESP8266-and-ESP32 - NTP time example for ESP8266 and ESP32 based on standard functionality

esp-homekit - Apple HomeKit accessory server library for ESP-OPEN-RTOS

ESP_WiFiManager - This is an ESP32 / ESP8266 WiFi Connection Manager with fallback web configuration portal. Use this library for configuring ESP32 (including ESP32-S2 and ESP32-C3), ESP8266 modules' WiFi, etc. Credentials at runtime. You can also specify static DNS servers, personalized HostName, fixed or random AP WiFi channel. With examples supporting ArduinoJson

tuya-convert - A collection of scripts to flash Tuya IoT devices to alternative firmwares

pubsubclient - A client library for the Arduino Ethernet Shield that provides support for MQTT.

Node RED - Low-code programming for event-driven applications