Professional WiFi Manager for ESP8266 featuring Captive Portal, Static IP configuration, Gateway, Subnet Mask, EEPROM profile management and enhanced configuration tools.
β‘ Lightweight β’ π Plug & Play β’ π‘ Smart Connectivity β’ π§ Self-Healing Network Engine
Professional-grade WiFi management library for ESP8266 IoT systems with automatic fallback, captive portal configuration, and persistent network memory.
ViraWM is a professional-grade WiFi management library for ESP8266 designed by ViraMedar (Mostafa MirMousavi).
It removes the complexity of WiFi configuration and replaces it with a smart, self-healing connection system.
β Captive Portal WiFi Setup (Browser-based)
β Static IP / DHCP Switching
β EEPROM Persistent Storage
β Auto AP Fallback System
β One-line AutoConnect API
β WiFi Profile Reset (Factory Reset)
β Lightweight ESP8266 Optimized
At startup, ViraWM automatically decides the best connection strategy:
β Connects automatically to saved WiFi
β Applies Static IP (if enabled)
Static IP Configuration Panel
Part of ViraWM Captive Portal UI
β Restores previous network state
β Runs in STA mode
π΄ Recovery Mode (No WiFi / Failed Connection)
β Switches to Access Point (AP) mode
β Starts configuration portal
β Allows WiFi setup via browser
β Saves configuration to EEPROM
When the device enters setup mode, it creates a WiFi network:
π² User Flow:
Connect with phone or laptop
Open browser
Configure WiFi settings:
SSID π‘
Password π
Static IP (optional) π
Subnet Mask π§©
Gateway πͺ
Save & reboot automatically
ViraWM supports full network manual configuration:
β Available Settings
IP Address
Subnet Mask
Gateway
π Modes:
Static Mode: Manual network control
DHCP Mode: Automatic IP assignment
You can fully reset stored network credentials anytime:
wifiManager.clearWiFiProfile(true);
What happens:
π§Ή Erases saved SSID & Password
πΎ Clears EEPROM storage
π Forces AP Mode on next boot
Clone or download repository
Copy folder to:
Documents/Arduino/libraries/ViraWM
Done β
#include <WiFiClient.h>
#include <ViraWM.h>
#include <EEPROM.h>
#define BAUD_RATE 115200
#define Server_Port 80
ESP8266WebServer server(Server_Port);
void setup() {
EEPROM.begin(512);
Serial.begin(BAUD_RATE);
delay(100);
ViraWM wifiManager;
// Auto connect or start AP portal
wifiManager.autoConnect("Vira WiFiManager Configuration");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("IP address: " + WiFi.localIP().toString());
server.begin();
Serial.println("HTTP server started");
}
void loop() {
// Your code here
}
βββββββββββββββββ
β ESP Boots β
ββββββββ¬βββββββββ
β
βΌ
ββββββββββββββββββββββββ
β Read EEPROM Config β
ββββββββ¬ββββββββββββββββ
β
βΌ
ββββββββββββββββββββββββ
β Credentials Exists ? β
ββββββββ¬ββββββββββββββββ
YES β NO
βΌ βΌ
ββββββββββββββββ ββββββββββββββββββββ
β Connect WiFi β β Start AP Mode β
ββββββββ¬ββββββββ ββββββββ¬ββββββββββββ
β β
βΌ βΌ
ββββββββββββββββ ββββββββββββββββββββ
β Connection OKβ β Captive Portal β
ββββββββ¬ββββββββ ββββββββ¬ββββββββββββ
β β
YES β User Config
βΌ β
ββββββββββββββββ βΌ
β STA MODE RUN β ββββββββββββββββββββ
β NORMAL STATE β β Save to EEPROM β
ββββββββββββββββ ββββββββ¬ββββββββββββ
β
βΌ
ββββββββββββββββ
β Auto Reboot β
ββββββββ¬ββββββββ
β
βΌ
ββββββββββββββββ
β Reconnect STAβ
ββββββββββββββββ
Instant connection with stored credentials
Browser-based WiFi setup (no app needed)
WiFi credentials saved permanently in flash memory
Switch between manual IP and automatic network config
Automatically enters AP mode if connection fails
Clean stored credentials anytime with one function
Designed for long-running IoT and embedded systems
Mostafa MirMousavi (@admin3314)
MIT License
This project is released under a commercial-friendly custom license by ViraMedar.
ESP32 support
Web dashboard upgrade
JSON configuration API
OTA update integration
Multi-device provisioning
This library is optimized for:
IoT projects
Smart home systems
ESP8266 automation
Industrial embedded systems