My-TTGO-Watch: full smartwatch OS for LilyGO T-Watch
An LVGL-based smartwatch firmware for the ESP32 LilyGO T-Watch with apps, BLE notifications and Wi-Fi.

Key Facts
- Chip: ESP32
- Hardware: LilyGO T-Watch 2020 V1/V2/V3
- UI: LVGL
- Connectivity: Wi-Fi, BLE (Gadgetbridge)
About This Project
My-TTGO-Watch (the hedge GUI) turns the LilyGO T-Watch 2020 and related ESP32 watches into a usable smartwatch. It provides an app launcher, watch faces, step counting, weather, MQTT, Gadgetbridge BLE notifications and power management built on LVGL. The project is no longer heavily developed, but it remains a reference for LVGL UIs and power tuning on ESP32 wearables.
Source & Attribution

Illustration
Parts Needed
- LilyGO T-Watch 2020 (V1, V2 or V3), or another supported device such as the T-Watch 2021, M5Paper, M5Core2 or WT32-SC01
- USB data cable
Steps
- 1
Get the code
Clone the repository and open it in VS Code with the PlatformIO extension.
- 2
Pick your environment
Choose the PlatformIO environment that matches your hardware, for example t-watch2020-v1, v2 or v3. The wrong one can leave the display or power management misconfigured.
- 3
Build and upload
Run Build then Upload with the watch connected over USB.
- 4
Connect to Wi-Fi
Join a network from the on-watch keyboard or with WPS. If neither works for you, the README points to where you can hard-code credentials in wifictl.cpp.
- 5
Pair your phone
Install Gadgetbridge on Android and pair the watch to get notifications and time sync.
- 6
Tips
Windows builds can fail at link time, so remove apps you don't need from src/app to shrink the build. To try the Linux emulator, install SDL2, curl and mosquitto dev packages and select an emulator environment.
| Part | Qty | Role | Est. Price | Buy |
|---|---|---|---|---|
| 1 | main board | $35–$50 | View |
Not included: 3D-printed case, wire, solder, USB cable
Related Projects


