/T-Watch

Application code for the LilyGo T-Watch 2020

Primary LanguageC++

T-Watch

Application code for the LilyGo T-Watch 2020, which you can purchase from https://www.aliexpress.com/item/1005004531572564.html

This is an ESP32-based smartwatch with a pretty neat array of features

There are various versions of this watch available. I've been primarily developing on the "V1". The "V3" is almost identical, except also features an I2S microphone. The "V2" has GPS, but omits some other functionality to do so :

Product T-Watch-2019 T-Watch-2020-V1 T-Watch-2020-V2 T-Watch-2020-V3 T-Block/T-Block-V1
Core ESP32-D0WDQ6 ESP32-D0WDQ6 ESP32-D0WDQ6 ESP32-D0WDQ6 ESP32-D0WDQ6
PSRAM 16MBytes 16MBytes 16MBytes 16MBytes 16MBytes
Flash 8MBytes 8MBytes 4MBytes 8MBytes 8MBytes
PMU AXP202 AXP202 AXP202 AXP202 AXP202
IMU BMA423 BMA423 BMA423 BMA423 MPU6050
TFT 1.54"/240X240/ST7789V 1.54"/240X240/ST7789V 1.54"/240X240/ST7789V 1.54"/240X240/ST7789V [1]
TouchScreen FT6336 FT6336 FT6336 FT6336 [1]
Real Time Clock PCF8563 PCF8563 PCF8563 PCF8563 PCF8563
Infrared sensor
Microphone [1] SPM1423HM4H [1]
GPS [1] Quectel L76K [1]
Decoder [1] MAX98357A MAX98357A [1]
Tactile [1] ✅(IO Control) DRV2605(I2C Control) ✅(IO Control) [1]
Button ✅[2] ✅[2] ✅[2] ✅[2]
[1]:Need expansion board to support
[2]:The buttons are AXP202 PEK programmable buttons

Installation

Download the library from https://github.com/Xinyuan-LilyGO/TTGO_TWatch_Library and place in your Arduino libraries folder (easiest way to do this is download the entire repository as a .zip, and then from the Arduino IDE select Sketch->Include Library->Add .ZIP library

The library comes with example code although I didn't find it particularly easy to follow, and it seems to be heavily-tied to its use of the LVGL library (https://docs.lvgl.io/master/index.html), which is used to create the menu/displays.

Target Board is ESP32>TTGO T-Watch

Requires https://github.com/earlephilhower/ESP8266Audio for audio To upload code, first set the watch into low power mode by holding down the button on the side for 6 seconds, and then releasing. The screen should go blank. Now, select to upload a sketch from the Arduino IDE. Once the sketch has finished compiling and first attempts to upload, hold down the button on the side for 2 seconds, until the code starts to upload. Then release.