RUSSIAN | EXAMPLES | CHANGELOG |
Embedded WebUI Interface framework
A framework that helps to create WebUI and dynamic control elements for Arduino projects. It offers Interface-as-a-code approach to segregate web frontend and MCU backend firmware development.
- ESP32, ESP32-S2, ESP32-C3, ESP32-S3 Arduino Core
- ESP8266 Arduino Core branch v2.6 only
- asynchronous data exchange with frontend via WebSocket
- creating html elements using DOM and {{ mustache }} templater
- packet based data exchange with WebUI, allows transfering large objects containing multiple elements split into chunks and using less MCU memory
- dynamic UI elements update without page refresh
- allows fetching data/ui objects via 3rd party AJAX calls
- supports multiple parallel connections, WebUI updates simultaneously on all devices
- embedded WiFi manager, AP-failover on connection lost, autoreconnection
- full support for TimeZones, daylight saving autoswitchover
- embedded NTP sync, NTPoDHCP support, custom NTP servers
- OTA firmware updates via WebUI/CLI tools
- zlib-compressed FOTA using esp32-flashz lib
- mDNS/ZeroConf publisher, discovery
- device autodiscovery via:
- WiFi Captive Portal detection - upon connecting to esp's WiFi AP a device/browser will show a pop-up advising to open an EmbUI's setup page
- Service Browser Android
- SSDP for Windows
- Bonjour iOS/MacOS
- self-hosted - all resources resides on LittleFS locally, no calls for CDN resources
- FireLamp / Informer - DIY HUB75/ws2812 led panel/matrix informer, clock, cristmas light project
- ESPEM - ESP32 energy meter for Peacfair PZEM-004
- InfoClock - Clock/weather ticker based on Max72xx modules
To run EmbUI it is required to upload an FS image with resources to LittleFS partition. Prebuild resources are available as archive. Unpack it into data folder to the root of Platformio project
to be continued...