{"id":48676529,"url":"https://github.com/jtenniswood/espcontrol","last_synced_at":"2026-06-05T22:01:01.414Z","repository":{"id":346392362,"uuid":"1189396081","full_name":"jtenniswood/espcontrol","owner":"jtenniswood","description":"Esphome based smart home control panel","archived":false,"fork":false,"pushed_at":"2026-06-02T14:03:21.000Z","size":16229,"stargazers_count":511,"open_issues_count":21,"forks_count":55,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-06-02T14:11:57.441Z","etag":null,"topics":["esp32","home-assistant"],"latest_commit_sha":null,"homepage":"https://jtenniswood.github.io/espcontrol/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jtenniswood.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"buy_me_a_coffee":"jtenniswood"}},"created_at":"2026-03-23T09:27:08.000Z","updated_at":"2026-06-02T08:45:02.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jtenniswood/espcontrol","commit_stats":null,"previous_names":["jtenniswood/espcontrol"],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/jtenniswood/espcontrol","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtenniswood%2Fespcontrol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtenniswood%2Fespcontrol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtenniswood%2Fespcontrol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtenniswood%2Fespcontrol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jtenniswood","download_url":"https://codeload.github.com/jtenniswood/espcontrol/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtenniswood%2Fespcontrol/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33961252,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"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":["esp32","home-assistant"],"created_at":"2026-04-10T16:04:19.523Z","updated_at":"2026-06-05T22:01:01.373Z","avatar_url":"https://github.com/jtenniswood.png","language":"JavaScript","funding_links":["https://buymeacoffee.com/jtenniswood","https://www.buymeacoffee.com/jtenniswood"],"categories":[],"sub_categories":[],"readme":"![EspControl on a 7-inch touchscreen: home screen with temperature, clock, and control tiles](docs/public/images/home_screen_hero.jpg)\n\n# EspControl\n\n**Turn an affordable touchscreen into a simple smart home control panel.**\n\nEspControl lets you put the Home Assistant controls you use every day onto a dedicated screen: lights by the door, heating in the hallway, garage controls in the utility room, room temperatures on a desk, or a tidy bedside panel for scenes and alarms.\n\nYou do not need to write code, edit YAML, or build your own ESPHome setup. Install the firmware from a web browser, connect the screen to WiFi, add it to Home Assistant, then choose what appears on the display from the screen's built-in setup page.\n\n**Documentation and install guide:** [jtenniswood.github.io/espcontrol](https://jtenniswood.github.io/espcontrol/)\n\n## What It Unlocks\n\n- **A real control panel for your home** - give family and guests simple buttons instead of asking them to use the Home Assistant app.\n- **Room-by-room control** - place a small screen where it is useful: kitchen, hallway, office, garage, bedroom, or next to a door.\n- **One-tap routines** - run scenes, scripts, and automations such as movie mode, bedtime, away mode, or garden lights.\n- **Live home information** - show temperatures, sensors, weather, dates, clocks, and other Home Assistant readings at a glance.\n- **Flexible pages of controls** - keep the main screen simple, then open extra pages for rooms, devices, or less common actions.\n- **Local smart home control** - the panel talks to Home Assistant on your own network. It is not a cloud dashboard.\n- **Easy changes later** - rearrange buttons, change icons, adjust colours, back up your setup, and install firmware updates without starting again.\n\n## What You Can Control\n\nEspControl works with devices and helpers that are already in Home Assistant, including:\n\n- Lights, switches, fans, and plugs\n- Scenes, scripts, buttons, and automations\n- Blinds, shutters, covers, and garage doors\n- Media players for playback, volume, progress, and now-playing display\n- Climate controls for thermostats and HVAC devices\n- Sensors such as temperature, humidity, power, battery, or custom text states\n- Weather, clocks, dates, and time zones\n- Built-in relays on supported panels\n\nIf Home Assistant can see it, EspControl is designed to make it easier to put that control or information on a touchscreen.\n\n![Web-based card configuration on the 4-inch 4848S040](docs/public/images/4848s040-buttons.png)\n\n## How It Works\n\n1. **Buy a supported ESP32 touchscreen.**\n2. **Install EspControl from your browser** using the web installer.\n3. **Connect the screen to WiFi** using the setup screen it creates.\n4. **Add it to Home Assistant** when Home Assistant discovers it.\n5. **Allow Home Assistant actions** so the panel is permitted to control your devices.\n6. **Open the panel's web page** and choose the buttons, sensors, pages, colours, and display settings you want.\n\nAfter that, the panel runs on its own. You can still change the layout at any time from a phone, tablet, or computer browser.\n\nStart here: [Install EspControl](https://jtenniswood.github.io/espcontrol/getting-started/install)\n\n## Supported Screens\n\nEspControl supports several low-cost ESP32 touchscreens. Larger screens give you more room for controls; smaller screens are useful beside doors, on desks, or in individual rooms.\n\n| | 10.1\" JC8012P4A1 | 7\" JC1060P470 | 4.3\" JC4880P443 | 4\" ESP32-P4 86 Panel | 4\" 4848S040 |\n|---|:-:|:-:|:-:|:-:|:-:|\n| Image | Image pending | ![7-inch JC1060P470](docs/public/images/jc1060p470-hero.jpg) | ![4.3-inch JC4880P443](docs/public/images/jc4880p443-hero.jpg) | Image pending | ![4-inch 4848S040](docs/public/images/4848s040-hero.jpg) |\n| Layout | 1280x800 landscape · 20 card slots | 1024x600 landscape · 15 card slots | 480x800 portrait · 6 card slots | 720x720 square · 9 card slots | 480x480 square · 9 card slots |\n| Processor | ESP32-P4 | ESP32-P4 | ESP32-P4 | ESP32-P4 | ESP32-S3 |\n| Panel | [AliExpress ~£40](https://s.click.aliexpress.com/e/_c4W6TYvp) | [AliExpress ~£40](https://s.click.aliexpress.com/e/_c335W0r5) | [AliExpress ~£24](https://s.click.aliexpress.com/e/_c32jr3eN) | [AliExpress ~£45](https://s.click.aliexpress.com/e/_c3O6ndAX) | [AliExpress ~£16](https://s.click.aliexpress.com/e/_c3sIhvBv) |\n| 3D mount | [MakerWorld](https://makerworld.com/en/models/2490049-guition-p4-10inch-screen-stand#profileId-2736046) | [MakerWorld](https://makerworld.com/en/models/2387421-guition-esp32p4-jc1060p470-7inch-screen-desk-mount#profileId-2614995) | - | [MakerWorld](https://makerworld.com/en/models/2720366-waveshare-esp32-p4-smart-86-box-screen-desk-stand#profileId-3013481) | [MakerWorld](https://makerworld.com/en/models/2581572-guition-esp32s3-4848s040-case-stand#profileId-2847301) |\n\nSee the [screen guides](https://jtenniswood.github.io/espcontrol/getting-started/install) for full details on each model.\n\n## Built for Everyday Use\n\n- **Simple setup page** - configure the screen from a normal browser.\n- **Drag-and-drop layout** - move controls around without editing files.\n- **Subpages** - make folder-like pages for rooms or groups of controls.\n- **Different card sizes** - make important controls larger and keep smaller items compact.\n- **Dedicated card types** - Switch, Lights, Action, Trigger, Sensor, Slider, Cover, Garage Door, Lock, Date \u0026 Time, World Clock, Weather, Media, Climate, Internal Switches, and Subpage.\n- **Screensaver and brightness controls** - dim or sleep the display when it is not in use.\n- **Automatic updates** - keep firmware current over WiFi after the first install.\n- **Backup and restore** - save your layout and copy it to another panel.\n\n## What You Need\n\n- A supported ESP32 touchscreen\n- A USB-C data cable for the first install\n- A computer running Chrome or Edge for flashing the firmware\n- Home Assistant running on your home network\n- 2.4 GHz WiFi for the panel\n\n## Project Links\n\n- [Documentation](https://jtenniswood.github.io/espcontrol/)\n- [Install guide](https://jtenniswood.github.io/espcontrol/getting-started/install)\n- [FAQ](https://jtenniswood.github.io/espcontrol/reference/faq)\n- [Report a bug or request a feature](https://github.com/jtenniswood/espcontrol/issues)\n\n## Contributor Checks\n\nAfter changing card configuration, the web setup page, or generated device files, run:\n\n- `npm run check:product`\n- `npm run check:fast`\n- `npm run check:web-browser-smoke`\n- `npm run docs:build`\n\nUse `npm run check:product` as the focused product preflight when changing shared schema,\ncard behavior, web setup behavior, device metadata, generated outputs, backup compatibility,\nor release-facing metadata.\n\nSee [Product Source Map](product/README.md) for the files that should be edited by hand\nand the generated outputs that should be rebuilt instead of manually changed.\n\n## License\n\nEspControl is licensed under the [PolyForm Noncommercial License 1.0.0](LICENSE).\n\nIn plain terms, you can view, change, and share the software for non-commercial purposes. Commercial use needs separate permission from the project owner.\n\nThis is a source-available non-commercial license rather than an OSI-approved open source license, because the standard open source definition does not allow restrictions on commercial use.\n\nRequired notice: see [NOTICE](NOTICE).\n\n## Support This Project\n\nIf EspControl is useful in your home, you can support ongoing development by buying me a coffee.\n\n\u003ca href=\"https://www.buymeacoffee.com/jtenniswood\"\u003e\n  \u003cimg src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" height=\"60\" style=\"border-radius:999px;\" /\u003e\n\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtenniswood%2Fespcontrol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjtenniswood%2Fespcontrol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtenniswood%2Fespcontrol/lists"}