A simple web-based user interface library for ESP32 and ESP8266 microcontrollers using WebSockets.
ESPUI is a web-based user interface library designed for ESP8266 and ESP32 microcontrollers. It enables developers to create interactive control panels accessible via a browser, using WebSockets for real-time communication without needing an internet connection. It solves the problem of quickly building UIs for IoT and embedded projects with minimal code.
IoT hobbyists, makers, and embedded developers working with ESP32/ESP8266 who need a simple, self-hosted web interface for device control and monitoring.
Developers choose ESPUI for its straightforward Arduino-style API, out-of-the-box functionality, and ability to run entirely offline on the microcontroller, eliminating dependencies on external servers or cloud services.
A simple web user interface library for ESP32 and ESP8266
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses familiar C++ syntax with minimal boilerplate, as shown in examples like ESPUI.button("button", &callback), making it accessible for embedded developers.
Includes buttons, switches, sliders, graphs, and more, covering common IoT control needs without external libraries.
WebSocket communication ensures UI changes via functions like updateLabel() are reflected instantly across all connected devices.
Works in access point mode without internet, serving all resources from the ESP's memory or filesystem, as highlighted in the documentation.
Key components like graphs are labeled experimental, and the roadmap lists pending features such as float support in number inputs, limiting reliability for advanced use.
Serving UI from PROGMEM can use too much memory, requiring optional LITTLEFS filesystem preparation—a complex step that adds overhead for beginners.
Default UI relies on basic Skeleton CSS, so achieving polished designs demands manual inline CSS or custom JavaScript, as admitted in the advanced features section.