{"id":16991419,"url":"https://github.com/dmytrokorniienko/embui","last_synced_at":"2026-03-06T15:02:52.880Z","repository":{"id":39963702,"uuid":"303143834","full_name":"DmytroKorniienko/EmbUI","owner":"DmytroKorniienko","description":"Embedded WebUI Interface","archived":false,"fork":false,"pushed_at":"2023-04-09T12:04:53.000Z","size":2258,"stargazers_count":66,"open_issues_count":3,"forks_count":13,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-08-20T06:47:48.882Z","etag":null,"topics":["esp32","esp32-arduino","esp8266","esp8266-arduino","framework","websockets"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DmytroKorniienko.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-11T14:51:06.000Z","updated_at":"2025-07-30T10:08:19.000Z","dependencies_parsed_at":"2024-10-28T13:23:50.404Z","dependency_job_id":"f9b8728f-1bd2-422d-a9ab-89643c168ea2","html_url":"https://github.com/DmytroKorniienko/EmbUI","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/DmytroKorniienko/EmbUI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DmytroKorniienko%2FEmbUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DmytroKorniienko%2FEmbUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DmytroKorniienko%2FEmbUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DmytroKorniienko%2FEmbUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DmytroKorniienko","download_url":"https://codeload.github.com/DmytroKorniienko/EmbUI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DmytroKorniienko%2FEmbUI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30182686,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T14:42:24.748Z","status":"ssl_error","status_checked_at":"2026-03-06T14:42:14.925Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp32","esp32-arduino","esp8266","esp8266-arduino","framework","websockets"],"created_at":"2024-10-14T03:25:49.466Z","updated_at":"2026-03-06T15:02:52.858Z","avatar_url":"https://github.com/DmytroKorniienko.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EmbUI\nEmbedded WebUI Interface\n\n[![arduino-library-badge](https://www.ardu-badge.com/badge/EmbUI.svg?)](https://www.ardu-badge.com/EmbUI)\n[![PlatformIO CI](https://github.com/DmytroKorniienko/EmbUI/actions/workflows/pio_build.yml/badge.svg)](https://github.com/DmytroKorniienko/EmbUI/actions/workflows/pio_build.yml)\n\n__[CHANGELOG](/CHANGELOG.md)__\n\nFramework for building a web-interface and controls for projects under Arduino ESP\n## Supported controllers/platforms\n - ESP8266 Arduino Core\n - ESP32/ESP32-S2/ESP32-C3/ESP32-S3 Arduino Core\n\n## Capabilities\n - automatic publication of the controller in the local network via [mDNS](https://en.wikipedia.org/wiki/Multicast_DNS)/[ZeroConf](https://en.wikipedia.org/wiki/Zero-configuration_networking)\n - device discovery capability:\n    - [Service Browser](https://play.google.com/store/apps/details?id=com.druk.servicebrowser) Android\n    - [SSDP](https://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol) for Windows\n    - [Bonjour](https://en.wikipedia.org/wiki/Bonjour_(software)) iOS/MacOS\n - communication with the browser via WebSocket\n - support for multiple parallel connections, the interface is updated simultaneously on all devices\n - self-hosted - no dependencies on external resources/CDN/Cloud services\n - built-in WiFi manager, auto-switch to AP mode when client connection is lost\n - full support for all existing Time Zones, automatic changeover to summer/winter time, correct calculation of dates/time intervals\n - OTA, FS firmware/image update via browser\n - the ability to load data / interface elements via AJAX\n\n## Projects based at EmbUI\n - [FireLamp_EmbUI](https://github.com/DmytroKorniienko/FireLamp_EmbUI/tree/dev) - ws2812 led matrix fire lamp\n - [ESPEM](https://github.com/vortigont/espem) - energy meter based on the PZEM-004 module\n\n\n## Examples of building interfaces\n![EmbUI](https://user-images.githubusercontent.com/26786760/140750180-65de2694-3ed8-41de-87eb-6f7e94ac12b2.png)\n![image](https://user-images.githubusercontent.com/26786760/169590465-2947514b-a29f-446c-a8bb-16ab23abc912.png)\n\n\u003cdetails\u003e\u003csummary\u003eOther pictures\u003c/summary\u003e\u003cimg src=\"https://raw.githubusercontent.com/vortigont/espem/master/examples/espemembui.png\" alt=\"espem ui\" width=\"30%\"/\u003e\u003cimg src=\"https://raw.githubusercontent.com/vortigont/espem/master/examples/espemembui_setup.png\" alt=\"espem opts\" width=\"30%\"/\u003e\u003c/details\u003e\n\n\n## Usage\nFor WebUI to work, it is necessary to upload an image of the LittleFS file system with web resources to the controller.\nPrepared resources for creating an image can be deployed [from the archive](https://github.com/DmytroKorniienko/EmbUI/raw/main/resources/data.zip).\nIn [Platformio](https://platformio.org/) this is usually the *data* directory at the root of the project.\n\n## Depends\n\nProjects           |                     URL                                                          | Remarks\n------------------ | :-------------------------------------------------------------------------------:| --------------\nArduinoJson        |  https://github.com/bblanchon/ArduinoJson.git                                    |\nAsyncWebServer-mod |  https://github.com/DmytroKorniienko/ESPAsyncWebServer/tree/ESPAsyncWebServerMod | manual install, fork\nAsyncMqttClient    |  https://github.com/marvinroger/async-mqtt-client.git                            | manual install\nTaskScheduler      |  https://github.com/arkhipenko/TaskScheduler.git                                 |\nFtpClientServer    |  https://github.com/charno/FTPClientServer.git                                   | manual install, fork\nESP32SSDP          |  https://github.com/luc-github/ESP32SSDP.git                                     | manual install, esp32\nAsyncTCP           |  https://github.com/me-no-dev/AsyncTCP.git                                       | manual install, esp32\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmytrokorniienko%2Fembui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmytrokorniienko%2Fembui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmytrokorniienko%2Fembui/lists"}