Project with ESP32-S3-Touch-LCD-4B

ESP32-S3 Smart Home Control Panel (Waveshare ESP32-S3-Touch-LCD-4B LCD, LVGL, MQTT & Home Assistant)

Hi everyone,

I wanted to share a project I’ve been working on: touch-screen Smart Home Control Panel designed specifically for the Waveshare ESP32-S3-Touch-LCD-4B.

The goal was to create a sleek, reliable interface that integrates directly with Home Assistant via MQTT while handling weather, time, and power management locally.

Key Features:

  • Smart Home Control: Button grid for device control (Lights, Fans, AC, etc.) with bi-directional MQTT sync. (WIP)
  • Hybrid Location/Weather: Automatic IP-based location detection or manual search (Open-Meteo API). It includes a dynamic UI that changes based on local weather and day/night cycles.
  • Notification System: Supports MQTT-based alerts from Home Assistant with an on-device notification history center.
  • System Management: Full on-screen WiFi manager (scan/save networks), NTP/RTC timekeeping, and brightness control via the AXP2101 PMU.
  • Power Management: Deep sleep and screensaver support with hardware-level battery monitoring.

Technical Specs:

  • Hardware: Waveshare ESP32-S3-Touch-LCD-4B (480x480 RGB interface).
  • Graphics: Designed in SquareLine Studio and powered by LVGL.
  • Storage: Custom partition scheme (10MB App) to accommodate high-res assets.
  • Framework: Arduino IDE with ESP32 Core v3.x.

Project Repository:

You can find the full source code, library requirements, and partition configurations here:

:backhand_index_pointing_right: GitHub: ESP32-S3-Touch-LCD-4B

I'm still working on refining the MQTT bi-directional sync (WIP), so any feedback or suggestions on the UI/logic are more than welcome!

Happy coding!

2 Likes

Looks great, thanks for sharing!

Great work! Is there a way to get the .spj file for Squareline Studio? I'd like to tweak the graphics a bit to suit my needs.
Thanks.

1 Like