Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/xinyuan-lilygo/ttgo_twatch_library


https://github.com/xinyuan-lilygo/ttgo_twatch_library

arduino esp32 lilygo ttgo twatch

Last synced: 5 days ago
JSON representation

Awesome Lists containing this project

README

        

🌟LilyGO T-Watch🌟

**English | [δΈ­ζ–‡](docs/details_cn.md)**

⭐ News

1. **T-Watch-S3** version is [here](https://github.com/Xinyuan-LilyGO/TTGO_TWatch_Library/tree/t-watch-s3)
2. In order to be compatible with multiple versions of T-Watch, all examples include a `config.h` file. For the first use, you need to define the **T-Watch** model you use in the `config.h` file
3. In the `config.h` file, you can also see similar definitions, such as **LILYGO_WATCH_LVGL**, **LILYGO_WATCH_HAS_MOTOR**, this type of definition, it will be responsible for opening the defined module function, all definitions Will be available here [View](./docs/defined_en.md)
4. Most of the examples are only used as hardware function demonstrations. This library only completes some initialization work and some demonstrations. For more advanced gameplay, please see [TTGO.h](https://github.com/Xinyuan-LilyGO/TTGO_TWatch_Library/blob/master/src/TTGO.h), to understand how to initialize, after being familiar with it, you can completely leave this library for more advanced gameplay
- About API, please check the source code
- Example [description](docs/examples_en.md)
- The latest factory firmware is made by [sharandac/My-TTGO-Watch](https://github.com/sharandac/My-TTGO-Watch)

![sharandac/My-TTGO-Watch](https://github.com/sharandac/My-TTGO-Watch/blob/master/images/screen1.png)
![sharandac/My-TTGO-Watch](https://github.com/sharandac/My-TTGO-Watch/blob/master/images/screen2.png)
![sharandac/My-TTGO-Watch](https://github.com/sharandac/My-TTGO-Watch/blob/master/images/screen3.png)
![sharandac/My-TTGO-Watch](https://github.com/sharandac/My-TTGO-Watch/blob/master/images/screen4.png)
![sharandac/My-TTGO-Watch](https://github.com/sharandac/My-TTGO-Watch/blob/master/images/screen5.png)
![sharandac/My-TTGO-Watch](https://github.com/sharandac/My-TTGO-Watch/blob/master/images/screen6.png)
![sharandac/My-TTGO-Watch](https://github.com/sharandac/My-TTGO-Watch/blob/master/images/screen7.png)
![sharandac/My-TTGO-Watch](https://github.com/sharandac/My-TTGO-Watch/blob/master/images/screen8.png)
![sharandac/My-TTGO-Watch](https://github.com/sharandac/My-TTGO-Watch/blob/master/images/screen9.png)
![sharandac/My-TTGO-Watch](https://github.com/sharandac/My-TTGO-Watch/blob/master/images/screen10.png)

- Demonstration effect of T-Watch2020-V3 from lunokjod

![lunokjod/watch](https://github.com/lunokjod/watch/blob/devel/doc/watchface0.png)
![lunokjod/watch](https://github.com/lunokjod/watch/blob/devel/doc/day_watchface0.png)
![lunokjod/watch](https://github.com/lunokjod/watch/blob/devel/doc/playground0.png)
![lunokjod/watch](https://github.com/lunokjod/watch/blob/devel/doc/playground3.png)
![lunokjod/watch](https://github.com/lunokjod/watch/blob/devel/doc/settime.png)
![lunokjod/watch](https://github.com/lunokjod/watch/blob/devel/doc/battery.png)
![lunokjod/watch](https://github.com/lunokjod/watch/blob/devel/doc/ble_upload.png)
![lunokjod/watch](https://github.com/lunokjod/watch/blob/devel/doc/mainmenu_provisioning.png)
![lunokjod/watch](https://github.com/lunokjod/watch/blob/devel/doc/provisioning.png)

πŸš€ Characteristics

1. The library already contains all the hardware drivers for `T-Watch`
2. Using **TFT_eSPI** as the display driver, you can directly call **TFT_eSPI** through the construction object.
3. Using **lvgl v7.7.2** as the display graphics framework, the driver method has been implemented, you only need to call lvgl api according to your own needs.
4. For the use of lvgl please refer to **[lvgl docs](https://docs.lvgl.io/master/)**

πŸ”· Install

- Install the [Arduino IDE](https://www.arduino.cc/en/Main/Software). Note: Later instructions may not work if you use Arduino via Flatpak.
- Download a zipfile from github using the "Download ZIP" button and install it using the IDE ("Sketch" -> "Include Library" -> "Add .ZIP Library...", OR:
- Clone this git repository into your sketchbook/libraries folder. For more info, see https://www.arduino.cc/en/Guide/Libraries

πŸ”· Note

- If you don't have the `TTGO T-Watch` option in your board manager, please update the esp32 board as follows:
- Using Arduino IDE Boards Manager (preferred)
+ [Instructions for Boards Manager](docs/arduino-ide/boards_manager.md)
- Using Arduino IDE with the development repository
+ [Instructions for Windows](docs/arduino-ide/windows.md)
+ [Instructions for Mac](docs/arduino-ide/mac.md)
+ [Instructions for Debian/Ubuntu Linux](docs/arduino-ide/debian_ubuntu.md)
+ [Instructions for Fedora](docs/arduino-ide/fedora.md)
+ [Instructions for openSUSE](docs/arduino-ide/opensuse.md)

πŸ”· FAQ

- The following code is reported as an error when uploading. Please change the default upload baud rate in ArduinoIDE from '20000' to '921600'.
```
A fatal error occurred: Failed to write to target RAM(result was 01070000)
```
- This error may also occur on MacOS if using a poorly compatible USB to serial driver. The driver at [wch.cn](https://www.wch.cn/downloads/CH34XSER_MAC_ZIP.html) is a better match. The webpage is in Chinese but the driver is digitally signed for security.

πŸ”Ά How to find the sample program

* T-Watch & LilyPi
- In the Arduino board select `TTGO T-Watch`
- In the Arduino File -> Examples -> `TTGO_TWatch_Library`

πŸ”Ά Precautions

- T-Watch-2019 & LilyPi: Since uses a special IO as the SD interface, please remove the SD card when downloading the program.

πŸ”· Resources

- [LilyPi Pin mapping and other instructions](docs/lilypi_pinmap.md)
- [TWATCH 2019 Series pin mapping and other instructions](docs/watch_2019.md)
- [TWATCH 2020 V1 Pin mapping and other instructions](docs/watch_2020_v1.md)
- [TWATCH 2020 V2 Pin mapping and other instructions](docs/watch_2020_v2.md)
- [TWATCH 2020 V3 Pin mapping and other instructions](docs/watch_2020_v3.md)

🚩 Version comparison

Product
T-Watch-2019
T-Watch-2020-V1
T-Watch-2020-V2
T-Watch-2020-V3
T-Block/T-Block-V1
LilyPi

Core
ESP32-D0WDQ6
ESP32-D0WDQ6
ESP32-D0WDQ6
ESP32-D0WDQ6
ESP32-D0WDQ6
ESP32-WROVER-B

PSRAM

16MBytes

16MBytes

16MBytes

16MBytes

16MBytes

16MBytes

Flash

8MBytes

8MBytes

4MBytes

8MBytes

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]

[1]

TouchScreen

FT6336

FT6336

FT6336

FT6336

[1]

[1]

Real Time Clock

PCF8563

PCF8563

PCF8563

PCF8563

PCF8563

PCF8563

Infrared sensor

❌

βœ…

βœ…

βœ…

❌

❌

Scalable

βœ…

❌

βœ…

❌

βœ…

βœ…

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

πŸ”Ά More interesting projects

- [lunokjod/watch](https://github.com/lunokjod/watch)
- [Micropython-twatch2020](https://y0no.fr/posts/micropython-ttgo-twatch2020/)
- [sharandac/My-TTGO-Watch](https://github.com/sharandac/My-TTGO-Watch)
- [lyusupov/Flight Recorder](https://github.com/lyusupov/SoftRF/wiki/Flight-Recorder)
- [lixy123/TTGO_T_Watch_Baidu_Rec](https://github.com/lixy123/TTGO_T_Watch_Baidu_Rec)
- [lixy123/TTGO_T_Watch_Alarm_Clock](https://github.com/lixy123/TTGO_T_Watch_Alarm_Clock)
- [AlexGoodyear/agoodWatch](https://github.com/AlexGoodyear/agoodWatch)
- [Adosis/TTGO_TWatch_WordClock](https://github.com/Adosis/TTGO_TWatch_WordClock)
- [SpectralCascade/FancyWatchOS](https://github.com/SpectralCascade/FancyWatchOS)