ESP-DashboardPlus
A real-time, on-device web dashboard library for ESP32 microcontrollers.
Features
- π Real-time Updates - WebSocket-based communication for instant UI updates
- π 14 Card Types - Stats, charts, gauges, toggles, sliders, buttons, and more
- π¨ Modern Theme - Industrial IoT aesthetic with light/dark mode support
- π± Responsive Design - Works on desktop and mobile browsers
- ποΈ Tabbed Interface - Dashboard, Console, and OTA tabs in a single file
- π OTA Updates - Dedicated firmware update tab (not a card)
- π Console Logging - Full-page console tab with filtering and command input
- β‘ Optimized - Gzip-compressed HTML stored in PROGMEM (~18KB)
Note: OTA and Console are available as tabs only, not dashboard cards.
Quick Start
#include <WiFi.h>
#include <ESPAsyncWebServer.h>
#include "ESPDashboardPlus.h"
#include "dashboard_html.h"
AsyncWebServer server(80);
ESPDashboardPlus dashboard("My Device");
void setup() {
WiFi.begin("SSID", "PASSWORD");
while (WiFi.status() != WL_CONNECTED) delay(500);
dashboard.begin(&server, DASHBOARD_HTML_DATA, DASHBOARD_HTML_SIZE);
// Add cards
dashboard.addStatCard("temp", "Temperature", "25.0", "Β°C");
dashboard.addToggleCard("led", "LED", "Status", false);
server.begin();
}
void loop() {
dashboard.loop();
}
Installation
PlatformIO
Add to your platformio.ini:
lib_deps =
ESP-DashboardPlus
Manual
- Download the latest release from GitHub
- Extract to your projectβs
lib/folder - Include the library in your code
Next Steps
- Getting Started Guide - Complete setup tutorial
- Cards Reference - All available card types
- API Reference - Complete API documentation
- Examples - Code examples and demos