{"id":16237666,"url":"https://github.com/vortigont/embui","last_synced_at":"2025-09-17T10:52:56.737Z","repository":{"id":42183389,"uuid":"304640688","full_name":"vortigont/EmbUI","owner":"vortigont","description":"Embedded WebUI framefork. Building interactive UI based on websockets for your Arduino projects. This is a fork of EmbUI project","archived":false,"fork":false,"pushed_at":"2025-08-11T03:23:21.000Z","size":3122,"stargazers_count":16,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-11T05:26:33.842Z","etag":null,"topics":["arduino","esp32","esp8266","websocket"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"DmytroKorniienko/EmbUI","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vortigont.png","metadata":{"files":{"readme":"README.en.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,"zenodo":null}},"created_at":"2020-10-16T13:49:41.000Z","updated_at":"2025-06-19T12:49:16.000Z","dependencies_parsed_at":"2023-10-02T07:07:07.274Z","dependency_job_id":"ab2c20f2-bd73-4956-87ac-ed8f5c309e1f","html_url":"https://github.com/vortigont/EmbUI","commit_stats":null,"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"purl":"pkg:github/vortigont/EmbUI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vortigont%2FEmbUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vortigont%2FEmbUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vortigont%2FEmbUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vortigont%2FEmbUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vortigont","download_url":"https://codeload.github.com/vortigont/EmbUI/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vortigont%2FEmbUI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275583375,"owners_count":25490651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-17T02:00:09.119Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["arduino","esp32","esp8266","websocket"],"created_at":"2024-10-10T13:36:33.783Z","updated_at":"2025-09-17T10:52:56.717Z","avatar_url":"https://github.com/vortigont.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"__[RUSSIAN](/README.md) | [EXAMPLES](/examples) | [CHANGELOG](/CHANGELOG.md)__ | [![PlatformIO CI](https://github.com/vortigont/EmbUI/actions/workflows/pio_build.yml/badge.svg)](https://github.com/vortigont/EmbUI/actions/workflows/pio_build.yml)\n\n# EmbUI\nEmbedded WebUI Interface framework\n\n\nA 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.\n\n## Supported platforms\n - ESP32, ESP32-S2, ESP32-C3, ESP32-S3 Arduino Core\n - ESP8266 Arduino Core [branch v2.6](https://github.com/vortigont/EmbUI/tree/v2.6) only\n\n## Features\n - asynchronous data exchange with frontend via WebSocket\n - creating html elements using DOM and [{{ mustache }}](https://mustache.github.io/) templater\n - packet based data exchange with WebUI, allows transfering large objects containing multiple elements split into chunks and using less MCU memory\n - dynamic UI elements update without page refresh\n - allows fetching data/ui objects via 3rd party AJAX calls\n - supports multiple parallel connections, WebUI updates simultaneously on all devices\n - embedded WiFi manager, AP-failover on connection lost, autoreconnection\n - full support for TimeZones, daylight saving autoswitchover\n - embedded NTP sync, NTPoDHCP support, custom NTP servers\n - OTA firmware updates via WebUI/CLI tools\n - zlib-compressed FOTA using [esp32-flashz](https://github.com/vortigont/esp32-flashz) lib\n - [mDNS](https://en.wikipedia.org/wiki/Multicast_DNS)/[ZeroConf](https://en.wikipedia.org/wiki/Zero-configuration_networking) publisher, discovery\n - device autodiscovery via:\n    - 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\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 - self-hosted - all resources resides on LittleFS locally, no calls for CDN resources\n\n## Projects using EmbUI\n - [FireLamp / Informer](https://github.com/vortigont/FireLamp_JeeUI) - DIY HUB75/ws2812 led panel/matrix informer, clock, cristmas light project\n - [ESPEM](https://github.com/vortigont/espem) - ESP32 energy meter for Peacfair PZEM-004\n - [InfoClock](https://github.com/vortigont/infoclock) - Clock/weather ticker based on Max72xx modules\n\n\n## WebUI samples based on EmbUI framework\n\n\u003cimg src=\"https://raw.githubusercontent.com/vortigont/espem/master/examples/espemembui.png\" alt=\"embui UI\" width=\"30%\"/\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/vortigont/espem/master/examples/espemembui_setup.png\" alt=\"embui options\" width=\"30%\"/\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/vortigont/espem/master/examples/ui_datetime.png\" alt=\"embui dtime\" width=\"30%\"/\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/vortigont/infoclock/master/doc/infoclock_embui02.png\" alt=\"InfoClock\" width=\"30%\"/\u003e\n\n\n## Usage\nTo run EmbUI it is required to upload an FS image with resources to LittleFS partition.\nPrebuild resources are available [as archive](https://github.com/vortigont/EmbUI/raw/main/resources/data.zip).\nUnpack it into *data* folder to the root of [Platformio](https://platformio.org/) project\n\n## Documentation/API description\nto be continued...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvortigont%2Fembui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvortigont%2Fembui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvortigont%2Fembui/lists"}