A Production-Grade Offline WiFi Analysis Tool for ESP8266
Real-Time Network Scanner β’ Channel Analyzer β’ OLED Monitor
ESP8266 WiFi Analyzer transforms your ESP8266 into a powerful offline network diagnostic tool.
No internet required.
Just connect to the ESP Access Point and open the dashboard in your browser.
This firmware provides:
- π‘ Real-time WiFi network scanning
- π Signal strength (RSSI) visualization
- πΆ Channel usage analysis (1β13)
- π§ Automatic best channel suggestion
- π Animated signal bar dashboard
- πΊ OLED live monitoring display
- β‘ Non-blocking background scan engine
- ESP8266 starts in Access Point mode
- User connects to the device WiFi
- Open
192.168.4.1 - Dashboard loads from LittleFS
- WiFi scan results are returned via JSON API
- OLED shows live network statistics
ESP8266-WiFi-Analyzer/
β
βββ WiFi_Analyzer.ino
βββ data/
βββ index.html
Only 2 files required.
- SSID
- RSSI (Signal Strength)
- Signal Quality (%)
- Channel
- Encryption Type
- BSSID (MAC Address)
- Counts networks per channel (1β13)
- Displays usage bar chart
- Suggests best available channel
- Helps reduce WiFi interference
Signal percentage calculated from RSSI:
If RSSI <= -100 β 0%
If RSSI >= -50 β 100%
Else β 2 Γ (RSSI + 100)
Live display includes:
- Device Name
- IP Address
- Total Networks Found
- Strongest Signal
- Best Channel Suggestion
- Scan Status
Professional splash screen on boot.
Premium Dark Network Tool UI:
- Modern gradient header
- Animated signal bars
- Channel usage graph
- Auto-refresh system
- Responsive design
- Smooth transitions
- Loading indicators
| Element | Color |
|---|---|
| Background | #0f172a |
| Card | #1e293b |
| Accent | Blue / Cyan |
| Strong Signal | Green |
| Medium Signal | Yellow |
| Weak Signal | Red |
| Endpoint | Method | Description |
|---|---|---|
/api/scan |
GET | WiFi scan results |
/api/channels |
GET | Channel usage stats |
/api/status |
GET | Device status info |
/api/restart |
POST | Restart device |
All responses are structured JSON.
| Setting | Value |
|---|---|
| Mode | Access Point |
| Default IP | 192.168.4.1 |
| Scan Mode | Non-blocking |
| Channel Range | 1β13 |
Install in Arduino IDE:
- ESP8266WiFi
- ESP8266WebServer
- LittleFS
- ArduinoJson
- Adafruit SSD1306
- Adafruit GFX
- Place
index.htmlinside/data - Use LittleFS Data Upload Tool
- Open
WiFi_Analyzer.ino - Select board (NodeMCU / D1 Mini)
- Upload
- Connect to device WiFi
- Open browser β
192.168.4.1
- No blocking
delay() - Background async scan engine
- Controlled JSON buffer size
- Limited network result handling
- Clean modular structure
- NodeMCU ESP8266
- LOLIN D1 Mini
- ESP8266MOD
- WebSocket real-time push updates
- Export scan results (JSON)
- Interference heatmap
- Authentication system
- OTA firmware update
- Network logging system
MIT License β Free to use, modify, and distribute.
CODE Bangla ILP
Embedded Systems & IoT Development
GitHub: https://github.com/codebanglailp
β If you find this project useful, consider giving it a star!