A demo LVGL Watch project for ESP32 C3 mini 240*240 touch display development board. Can also be built natively to test the LVGL UI.
LVGL 9 update, Navigation
ESP32 C3 mini LVGL
ESP32 Watchfaces LVGL
Waveshare ESP32 S3 (240x240 1.28” Round & 240x280 1.69” Rectangular)
Installing custom watchfaces
esp32-c3-lvgl.mp4
- Time (Time, Date, Day, Weather[Icon, Temp]) + Custom Watchfaces
Installable custom watchfaces from Chronos appToDo - LVGL 9- Weather (City,Icon, Temp, Update time) (1 week forecast [Day, Icon, Temp]) (Hourly forecast [+wind, ])
- Notifications (Icon, Time, Text) (List [Icon, Text] - 10 notifications) (Incoming call)
- Settings (Brightness, Timeout, Battery, About)
- Control (Music Control, Find Phone, Bluetooth State) (Camera Capture)
- QR Codes, Contacts
- Games - Simon Says, Racing (Need to enable)
- Navigation (Get Google Maps Navigation instructions on ESP32)
Select your build environment in platformio.ini by uncommenting only one default_envs
When building for native check that you have configured SDL according to your platform. Follow the instructions here https://github.com/lvgl/lv_platformio?tab=readme-ov-file#install-sdl-drivers
The SDL path might be different depending on your configuration and you will need to update platformio.ini
accordingly
The prebuilt native applications have been included in the test folder
, however you might still require SDL installed before running them.
You can also find binary files for various boards.
- CrowPanel ESP32 Display-1.28(R) 240x240
- M5 Stack Dial
- ESP32 C3 Mini 1.28 240x240
- Waveshare S3 1.28 240x240
- Waveshare S3 1.69 240x280
- Waveshare RP2040 1.28 240x240
- Waveshare RP2040 1.69 240x280
This project supports two types of watchfaces in addition to the default one:
These watchfaces are binary files converted into LVGL code and compiled along with the main code. To add or remove these watchfaces, you need to recompile and flash the firmware.
- Check out the
esp32-lvgl-watchface
project for details on converting watchfaces from binary to LVGL code. - You can add more watchfaces, but be mindful of the ESP32's flash size limitations. Prioritize compiling only your favorite watchfaces.
- Links to pre-built binary watchfaces are included. Enable them in
app_hal.h
according to your build platform.
-
Custom watchfaces works on LVGL 8. Checkout this branch
-
Work in progress for LVGL 9
-
Ensure there is sufficient storage space on the ESP32 flash. Using the FFAT partition is recommended.
Important
This feature is experimental and may not work 100% reliably. Ensure your partition is mounted successfully for proper functionality.
Warning
This has issues running on ESP32 C3 Mini due to smaller SRAM size Not ported to LVGL 9 yet. Work in progess
This is needed for additional functions on esp32 hardware as listed below.
ChronosESP32 library handles communication with the Chronos app over BLE
- Sync time
Install additional watchfacesLVGL 9 Work in progress- Send notifications and call alerts
- Sync weather info
- Sync QR Links, & Contacts
- Music control, find phone & Camera
- Send Navigation instructions