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
https://github.com/user-attachments/assets/3cdc30e3-8383-4227-b88c-32bd1d464c70
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.
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.
esp32-lvgl-watchface
project for details on converting watchfaces from binary to LVGL code.app_hal.h
according to your build platform.This project now supports the installation of binary watchfaces after the initial code compilation and flashing. You can add or remove watchfaces via the Chronos app using BLE. Once transferred to the ESP32, the watchface will be parsed and executed.
[!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