Welcome to my ESPHome LVGL configuration repository! This project provides a modular setup for ESP32-S3 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.
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.
- ESP32-S3 Touch LCD Support: Optimized for 7-inch 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
Important: This repository contains configurations specific to my home setup. Please fork this repository and customize it for your own environment rather than using it directly.
Start with the template configuration file in esphome to build for your device:
# Use template/office.yaml as your starting point
substitutions:
name: "your-device-name"
friendly_name: "Your Room Sensor"
room: "Your Room"The template pulls in modular components that you can customize:
- Device Configuration:
device/esp32-s3-touch-lcd-7.yaml - Add-ons: Time, backlight, and network configurations
- Assets: Custom fonts and icons
- Theme: Button styling and UI components
- Sensors: Room-specific sensor configurations
- LVGL Interface: Touch interface layout
Set your WiFi credentials in the Esphome secrets file:
wifi_ssid: "Your_WiFi_SSID"
wifi_password: "Your_WiFi_Password"├── addon/ # Optional add-on components
│ ├── backlight.yaml
│ ├── network.yaml
│ └── time.yaml
├── assets/ # Fonts and icons
│ ├── fonts.yaml
│ └── icons.yaml
├── device/ # Hardware-specific configurations
│ └── esp32-s3-touch-lcd-7.yaml
├── office/ # Room-specific configurations
│ ├── lvgl.yaml
│ └── sensors.yaml
├── template/ # Template for Esphome
│ └── office.yaml
└── theme/ # UI styling
└── button.yaml
-
Install ESPHome: Follow the ESPHome installation guide
-
Copy the repo: Use
template/office.yamlas your starting configuration -
Customize: Update the substitutions and modify components as needed for your specific setup
-
Flash: Compile and flash to your ESP32-S3 device
esphome compile your-config.yaml
esphome upload your-config.yaml- Sensors: Modify
office/sensors.yamlto match your sensor hardware - LVGL Interface: Customize
office/lvgl.yamlfor your preferred layout - Styling: Adjust
theme/button.yamlfor your visual preferences - Icons & Fonts: Add your own assets in the
assets/directory
Since this is my personal home setup, I encourage you to:
- Fork the repository for your own use
- Share improvements back to the community via pull requests
- Document your customizations to help others
This configuration is designed for:
- ESP32-S3 development boards
- 7-inch touch LCD displays
- Various sensors (temperature, humidity, etc.)
For ESPHome-specific issues, refer to the ESPHome documentation.
For LVGL-related questions, check the LVGL documentation.
This project is provided as-is for educational and personal use. Please ensure you comply with all relevant licenses for ESPHome, LVGL, and any other components used.
Remember: This repository contains my personal home automation setup. Please fork and customize it for your own environment rather than using it directly!