WiFiManager

WiFiManager is the maintained ESP8266/ESP32 configuration-portal fork used by DeviceFramework. It is a deliberate breaking fork of upstream tzapu/WiFiManager, with a streamed single-page portal and typed JSON APIs rather than upstream’s legacy page/template model.

Why use it

  • Single-shell portal: one responsive SPA for WiFi, parameters, information, actions, and firmware update flow.
  • Data-first APIs: portal state and actions are exposed under /api/..., not scraped from HTML.
  • Controlled customisation: supported portal* APIs customise branding, parameters, cards, layout, and small style/JS enhancements without exposing portal internals.
  • ESP8266 and ESP32: clean PlatformIO consumers resolve the right asynchronous TCP transport automatically.

Try it

#include <Arduino.h>
#include <WiFiManager.h>

WiFiManager wifi;

void setup() {
    Serial.begin(115200);
    wifi.setConfigPortalTimeout(180);
    if (!wifi.autoConnect("Device Setup", "change-me")) {
        ESP.restart();
    }
}

void loop() {}

For a DeviceFramework device, configure the framework’s shared device password instead. DeviceFramework applies it consistently to the provisioning AP, OTA, HTTP Basic authentication, and WebSerial.

Explore the portal

Goal Guide
Brand the portal, add parameters, cards, or small UI enhancements Portal customisation
Configure primary/fallback station profiles Station profiles
Understand the JSON APIs and station-connect handoff Portal API
Build a clean consumer or work on this fork Testing · Development

Install

[common]
lib_deps =
    WiFiManager=https://github.com/alexhopeoconnor/WiFiManager.git#v3.1.0

The suffix after # is a Git ref. PlatformIO clones the repository and checks out that release tag; GitHub Release assets are unrelated. This repository is supported through PlatformIO. Use a local symlink:// or file:// dependency only while actively changing this fork.

Development and releases

./scripts/test.sh compile --platform esp8266
./scripts/test.sh compile --platform esp32
./scripts/check-docs.sh
./scripts/prepare-release.sh vMAJOR.MINOR.PATCH --tag

Tagging repeats the board-free compile checks, validates the package, and creates a GitHub Release from the corresponding changelog section. It does not publish to the PlatformIO Registry or deploy firmware.

See the documentation index, release history, and licence.

S
Description
No description provided
Readme MIT
4.2 MiB
Languages
C++ 74.3%
Shell 15.3%
C 4.7%
JavaScript 3.6%
Python 2%
Other 0.1%