Esphome touch screen setup
ESPHome LVGL Configuration Repository
Welcome to my ESPHome LVGL configuration repository! This project provides a modular setup for ESP32 touch LCD devices using the LVGL graphics library, designed specifically for home automation and sensor monitoring.
7-inch touch LCD display running ESPHome with LVGL interface, showing home automation controls including temperature display, printer status, air conditioning controls, and various smart home features.
Purpose
This repository contains ESPHome configurations for creating beautiful, touch-enabled displays for home automation. The setup is organized into modular components that can be mixed and matched to create custom interfaces for different rooms and use cases.
Features
- ESP32 Touch LCD Support: Optimized for multiple ESP32-based touch LCD displays
- Modular Design: Organized components for easy customization
- LVGL Interface: Modern, responsive touch interface
- Sensor Integration: Built-in support for various sensors
- Custom Themes: Styled buttons and UI components
- Network & Time: Automatic network connectivity and time synchronization
- Backlight Control: Intelligent display brightness management
Supported Devices
| Device | Size | Configuration | |--------|------|---------------| | Waveshare ESP32-P4-WIFI6-Touch-LCD-4B | 4.0" 720x720 | esphome.yaml | | Guition ESP32-P4 JC1060P470 | 7" | esphome.yaml | | Guition ESP32-P4 JC8012P4A1 | 10.1" | esphome.yaml | | Guition ESP32-P4 JC4880P443 | 4.3" | esphome.yaml | | Guition ESP32-S3 4848S040 | 4.0" | esphome.yaml |

Archived Devices
These configs are kept for reference but are no longer listed as current supported devices.
| Device | Configuration | |--------|---------------| | Waveshare ESP32-S3 Touch LCD 7" | esphome.yaml |

Where to Buy
| Device | Configuration | Where to Buy | |--------|---------------|--------------| | Waveshare ESP32-P4-WIFI6-Touch-LCD-4B (4.0", 720x720) | esphome.yaml | Waveshare | | Guition ESP32-P4 JC1060P470 (7") | esphome.yaml | AliExpress | | Guition ESP32-P4 JC8012P4A1 (10.1") | esphome.yaml | Search by model name | | Guition ESP32-P4 JC4880P443 (4.3") | esphome.yaml | Search by model name | | Guition ESP32-S3 4848S040 (4.0") | esphome.yaml | AliExpress | | Waveshare ESP32-S3 Touch LCD 7" (archived) | esphome.yaml | AliExpress |
Stands
Desk/desktop stands (3D printable models on MakerWorld):
| Device | Stand | |--------|-------| | Guition ESP32-P4 JC1060P470 (7") | Link | | Guition ESP32-S3 4848S040 (4.0") | Link | | Waveshare ESP32-S3 Touch LCD 7" (archived) | Link |
How to get it working
Follow these steps in order. The first flash is the only fiddly part; after that you can usually update over WiFi (OTA).
- Fork this repo (recommended) and clone it. The configs are meant to be customized for your own setup rather than used as-is.
- Install ESPHome
esphome dashboard or your usual method) and open it in Chrome β youβll need Chrome for USB flashing later.
- Add your device config
esphome.yaml in that device's folder (see the table above). Use the full contents of that file as your ESPHome config: in the dashboard, create a new device (or edit an existing one) and paste in the template contents.
- Set WiFi and secrets
wifissid: "YourWiFi_SSID"
wifipassword: "YourWiFi_Password"
- First flash over USB
- Done
- Allow Home Assistant actions
homeassistant.action calls from the display will be silently ignored.
Optional: To change whatβs on the display, edit the YAML in the device folder: device/device.yaml, device/sensors.yaml, device/lvgl.yaml, plus addon/, assets/, and theme/ as needed.
Resources
- ESPHome LVGL documentation
- Getting started with ESPHome
- LVGL hints and tips
- Setup guide video
- LVGL-specific install video
Home Assistant Stateful Scenes
The lighting scene examples in this project assume you are using the Stateful Scenes integration for Home Assistant so scene state can be inferred reliably (for example, keeping a scene switch "on" when all scene entities match). Install and configure the add-on here: https://github.com/hugobloem/stateful_scenes.
Remember: This repository contains my personal home automation setup. Please fork and customize it for your own environment.