Sunton
ESP32-S3 Touch Display (LVGL Ready)
Render a full touch UI directly from first flash. This board pairs the ESP32-S3 with an integrated capacitive LCD and pre-configured LVGL, so buttons, sliders, charts, and animations are available before you write a single line of app logic. No ribbon cables, no separate driver board, no display initialization rabbit hole.
The dual-core 240MHz ESP32-S3 handles wireless communication and graphics rendering in parallel without contention. LVGL runs natively with hardware-accelerated drawing, giving you production-quality widgets at the firmware level. Broken-out GPIO stays fully accessible alongside the display for sensors, relays, or any I2C peripheral you need to wire in.
Things to build with this
- Build a wall-mounted Home Assistant control panel using ESPHome's native LVGL support (added 2024): define conditional views in YAML so the display switches between a light control grid and a climate dashboard based on time of day, all driven over MQTT without custom firmware
- Use SquareLine Studio to design a multi-screen bench controller UI, export the LVGL C code directly, then wire PWM-capable GPIO pins to a DC motor driver so touch sliders adjust motor speed in real time with a live RPM chart rendered on the display
- Write a Bluetooth LE peripheral scanner that renders discovered devices as a scrollable LVGL list on the integrated display, with tap-to-connect triggering BLE pairing handled by the ESP32-S3's onboard Bluetooth 5 stack, no phone required
Key Features
- ESP32-S3: dual-core 240MHz with WiFi 4 and Bluetooth 5 onboard
- Integrated capacitive touchscreen LCD: no separate driver board, no ribbon cable routing
- LVGL pre-configured: buttons, charts, sliders, and animations available from first flash
- SquareLine Studio compatible: export drag-and-drop UI layouts directly to this board as compiled C code
- USB-C: single cable for power and flashing
- Arduino IDE and PlatformIO supported: large community example library included
- Broken-out GPIO: attach I2C sensors, relays, or peripherals alongside the display without sacrificing screen functionality
Frequently Asked Questions
Can I design the UI visually in SquareLine Studio and flash it to this board without hand-coding the layout?
Yes. SquareLine Studio exports LVGL-compatible C code that compiles and runs on this board without modification. Design your layout, export, drop it into your PlatformIO or Arduino project, and flash. Widget positioning, styling, and animation timing all come through in the export.
Does ESPHome support this board for Home Assistant integration?
ESPHome added LVGL support in 2024 and it has matured steadily through 2025. Basic display output and capacitive touch input configure cleanly via YAML. For complex UIs with animations, conditional views, or custom widgets, flashing directly through Arduino or PlatformIO gives you full access to the LVGL C API.
How many GPIO pins are actually usable alongside the display?
The display and touch controller consume several SPI and I2C lines internally. Enough pins are broken out to add a handful of sensors, a relay module, or additional I2C peripherals. Check the pinout diagram in the product datasheet before committing to a dense peripheral design.
Why we stock this
Curated by Kindly Morrow. We test and vet every product before it hits the store. If we wouldn't use it in our own builds, we don't sell it.
Things to build with this
Fun projects to try once you get your hands on it.
Movie mode with one tap
NFC tag on your coffee table. Tap your phone: lights dim, TV turns on, blinds close. Tap again to undo. Feels like magic every time.
Laundry notification system
Vibration sensor on your washing machine. When it stops vibrating, your phone buzzes. No more forgetting wet clothes for 3 days.
Automatic night light path
Motion sensors in the hallway trigger dim warm lights at floor level after 10pm. Walk to the bathroom without waking up fully.
Mailbox alert
Contact sensor on the mailbox door. Home Assistant sends a notification when mail arrives. Never walk to an empty mailbox again.





