Vira WiFi Connector (ViraWC) - Professional WiFi configuration manager library for ESP8266 with Captive Portal, Static IP support, AsyncWebServer integration and automatic WiFi management.
Designed and Developed by Mostafa Mir Mousavi
ViraMedar
Vira WiFi Connector (ViraWC) is a lightweight and professional WiFi management library designed for ESP8266 projects.
It provides an easy way to:
The goal of ViraWC is to make ESP8266 WiFi configuration as simple as:
#include <ViraWC.h>
void setup(){
Serial.begin(115200);
ViraWC.begin();
ViraWC.attach(server);
ViraWC.setAPName("My Device");
ViraWC.connect();
}
No complicated WiFi setup code is required.
ESP8266 WiFi Manager, ESP8266 Captive Portal, ESP8266 WiFi Configuration,
AsyncWebServer WiFi Manager, Arduino WiFi Library, IoT WiFi Setup,
Static IP ESP8266, EEPROM WiFi Storage
There are many WiFi manager libraries available for ESP8266, but ViraWC was designed with a different approach:
| Feature | ViraWC | Traditional WiFi Managers |
|---|---|---|
| Lightweight code | β | β οΈ Depends |
| ESPAsyncWebServer support | β Native | β Usually requires modification |
| Static IP configuration | β Built-in | β οΈ Limited |
| DHCP support | β | β |
| Modern responsive UI | β | β οΈ Basic |
| EEPROM storage | β | β |
| Simple API | β | β οΈ |
| Automatic background service | β | β οΈ Depends on implementation |
| No additional user loop code required (ViraWC runs internal automatically) | β | β |
| Designed for IoT products | β | β οΈ |
ViraWC automatically loads saved credentials and connects:
ViraWC.connect();
If connection succeeds:
WiFi Connected
If connection fails:
Configuration AP Running
The user can configure WiFi from a browser.
When WiFi connection fails, ViraWC creates an Access Point:
SSID:
Vira WiFi Connector
IP:
192.168.4.1
The configuration page allows:
ViraWC is designed for modern ESP8266 asynchronous projects.
Example:
AsyncWebServer server(80);
ViraWC.attach(server);
Compatible with:
Search:
Vira WiFi Connector
or install manually:
Arduino/libraries/Vira_WiFi_Connector
#include <ESP8266WiFi.h>
#include <ESPAsyncWebServer.h>
#include <ViraWC.h>
AsyncWebServer server(80);
void setup(){
Serial.begin(115200);
ViraWC.begin();
ViraWC.attach(server);
ViraWC.setAPName(
"My ESP8266 Device"
);
if(!ViraWC.connect()){
ViraWC.startAP();
}
Serial.println(
ViraWC.getConnectionS()
);
Serial.println(
ViraWC.getIP()
);
server.begin();
}
void loop(){
}
No additional loop code is required.
begin()Initialize ViraWC.
ViraWC.begin();
Loads saved WiFi configuration and starts internal services.
connect()Connect to saved WiFi.
bool status = ViraWC.connect();
Returns:
true -> Connected
false -> Failed
startAP()Start WiFi configuration Access Point.
ViraWC.startAP();
setAPName()Change configuration AP name.
ViraWC.setAPName(
"Device Setup"
);
getConnectionS()Returns current connection status.
Serial.println(
ViraWC.getConnectionS()
);
Possible results:
WiFi Connected
Configuration AP Running
WiFi connection failed
getIP()Get current IP address.
String ip =
ViraWC.getIP();
Example:
192.168.1.50
connected()Check WiFi connection.
if(ViraWC.connected()){
}
isAP()Check Access Point mode.
if(ViraWC.isAP()){
}
startScan()Start asynchronous WiFi scan.
ViraWC.startScan();
getScanResult()Get networks as JSON.
String networks =
ViraWC.getScanResult();
Example:
[
{
"ssid":"HomeWiFi",
"rssi":-40
}
]
isScanDone()Check scan status.
if(ViraWC.isScanDone()){
}
Erase saved WiFi.
ViraWC.factoryReset();
Restart ESP8266.
ViraWC.restart();
Serial.println(
ViraWC.libver()
);
Output:
Vira WiFi Connector v1.2.0
Execute code after successful WiFi connection:
ViraWC.onConnected([](){
Serial.println(
"Connected Event"
);
});
ViraWC is optimized for ESP8266:
| Board | Support |
|---|---|
| NodeMCU ESP8266 | β |
| Wemos D1 Mini | β |
| ESP-12E/F | β |
| ESP8266 Modules | β |
Future versions:
Designed and developed by:
Mostafa Mir Mousavi (@admin3314)
MIT License
Copyright Β© 2026 Mostafa Mir Mousavi (ViraMedar)
See the LICENSE file for full license information.