Skip to content
MCU Atlas
ESP32ESP32Draft

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.

Difficulty:IntermediateCost:Source available

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

Source: GitHub
License: GPL-2.0
Last verified: 10/16/2026
My-TTGO-Watch: full smartwatch OS for LilyGO T-Watch

Illustration

How to Build It
My-TTGO-Watch ("hedge") is a full smartwatch OS for ESP32 wearables, mainly the LilyGO T-Watch 2020. It offers an LVGL interface, step counting, wrist-tilt wake, Wi-Fi, BLE notifications via Gadgetbridge, and apps such as weather and MQTT. It also runs on M5Paper, M5Core2, WT32-SC01 and as a Linux emulator.

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. 1

    Get the code

    Clone the repository and open it in VS Code with the PlatformIO extension.

  2. 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. 3

    Build and upload

    Run Build then Upload with the watch connected over USB.

  4. 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. 5

    Pair your phone

    Install Gadgetbridge on Android and pair the watch to get notifications and time sync.

  6. 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.

Parts List (BOM)
Complete parts list from the creator
complete
PartQtyRoleEst. PriceBuy
1main board$35–$50View
Estimated Total$35–$50 USD

Not included: 3D-printed case, wire, solder, USB cable

Download CSV

Related Projects

Watchy: open-source ESP32 e-ink smartwatch
Illustration
ESP32Draft
An open-source smartwatch with a 1.54in e-paper screen and ESP32, hackable watch faces in Arduino.
Beginner·Under $15·Code
2 parts listed
Low-power ESP32 e-paper weather display (7.5in)
Illustration
ESP32Draft
A wall-mounted 7.5in e-paper weather display on an ESP32 that runs for months on one battery charge.
Intermediate·Cost varies·Code
5 parts listed
OpenEPaperLink: reuse e-ink shelf labels with an ESP32 access point
Illustration
ESP32ESP32-S3Draft
Turns cheap second-hand electronic shelf labels into a Wi-Fi-managed e-ink display fleet via an ESP32 access point.
Advanced·Under $15·Code
3 parts listed