Skip to content

Firmware for a TTGO T-Watch 2020 V1, V2 and V3, a SmartWatch based on ESP32 from LilyGo.

License

Notifications You must be signed in to change notification settings

d03n3rfr1tz3/TTGO.T-Watch.2020

 
 

Repository files navigation

 


Warning

This repository only represents the state of my own T-Watch. I will implement some apps that are very specific for my needs and will also disabled apps that I personally don't need. Maybe you find something interesting and maybe I'll create a PR for some apps I might create in the future, but currently nothing concrete is planned.

My-TTGO-Watch

A GUI named hedge for smartwatch like devices based on ESP32. Currently support for T-Watch2020 (V1,V2,V3), T-Watch2021 (V1 and V2, no ota-updates), M5Paper, M5Core2, WT32-SC01 and native Linux support for testing.

Features

  • BLE communication

  • Time synchronization via BLE

  • Notification via BLE

  • Step counting

  • Wake-up on wrist rotation

  • Quick actions:

    • WiFi
    • Bluetooth
    • GPS
    • Luminosity
    • Sound volume
  • Multiple watch faces:

  • Multiple 'apps':

    • Music (control the playback of the music on your phone)
    • Navigation (displays navigation instructions coming from the companion app)
    • Map (displays a map)
    • Notification (displays the last notification received)
    • Stopwatch (with all the necessary functions such as play, pause, stop)
    • Alarm
    • Step counter (displays the number of steps and daily objective)
    • Weather
    • Calendar
    • IR remote
    • ...
  • Companion apps: Gadgetbridge

Install

Clone this repository and open it with platformIO. Select the right env and then build and upload. Or follow the great step by step tutorial from ShotokuTech.

Please check out https://github.com/sharandac/My-TTGO-Watch/blob/709ed0c5863435aa966c1d6f44552ddc0909a57c/src/hardware/wifictl.cpp#L256-L261 to setup your wifi when wps or input via display is not possible.

If you are interested in native Linux support, please install sdl2, curl and mosquitto dev lib and change the env to emulator_* in platformIO.

sudo apt-get install libsdl2-dev libcurl4-gnutls-dev libmosquitto-dev build-essential

Known issues

  • the webserver crashes the ESP32 really often
  • the battery indicator is not accurate, rather a problem with the power management unit ( axp202 )

Development on the Windows platform

The development tools have a known issue with the size of the project on Windows platforms. When the program is built you may receive the following error:

xtensa-esp32-elf-g++: error: CreateProcess: No such file or directory
*** [.pio\build\t-watch2020-v1\firmware.elf] Error 1

This issue has not been seen on Linux or other platforms. This is a linker issue and can be fixed by removing apps. To remove unneeded apps you can simply delete the appropriate directory in /src/app. Then simply recompile. App can be added in the same way. But note that the app must support autocall_function . This allows the automatic integration of apps without touching the rest of the code ( the magic behind autocall_function ).

Since each app includes a different set of files, you may need to delete several apps to reduce it small enough for the Windows build.

How to use

Cf. Usage

Forks that are recommended

Pickelhaupt
FantasyFactory
NorthernDIY
linuxthor
d03n3rfr1tz3
lunokjod

For the programmers

Cf. contribution guide
app autocall function the magic behind autocall_function or add a app without touching the rest

Interface

TTGO T-Watch 2020

screenshot screenshot screenshot screenshot screenshot screenshot screenshot screenshot screenshot screenshot screenshot screenshot

M5Paper ( downscaled )

screenshot screenshot screenshot

M5Core2

screenshot screenshot screenshot screenshot

WT32-SC01

screenshot screenshot screenshot

TTGO T-Watch 2021

screenshot screenshot screenshot

Contributors

Special thanks to the following people for their help:

5tormChild
bwagstaff
chrismcna
datacute
fliuzzi02
guyou
jakub-vesely
joshvito
JoanMCD
NorthernDIY
Neuroplant
paulstueber
pavelmachek
rnisthal
ssspeq

and the following projects:

ArduinoJson
AsyncTCP
ESP32SSDP
ESP32-targz
ESP8266Audio
ESPAsyncWebServer
LVGL
NimBLE-Arduinoh2zero/NimBLE-Arduino
pubsubclient
TinyGPSPlus
TFT_eSPI
TTGO_TWatch_Library

Every Contribution to this repository is highly welcome! Don't fear to create pull requests which enhance or fix the project, you are going to help everybody.

If you want to donate to the author then you can buy me a coffee.

About

Firmware for a TTGO T-Watch 2020 V1, V2 and V3, a SmartWatch based on ESP32 from LilyGo.

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • C 98.3%
  • C++ 1.7%
  • PHP 0.0%
  • Ruby 0.0%
  • Shell 0.0%
  • HTML 0.0%