This repositry contains the minimal stuff needed to program the T-WATCH S3 in MicroPython. For now there is code to:
- Setup the AX2101 power manager chip in order to give current to the different subsystems, enable the TFT display backlight, setup charging, and so forth.
- Configure SPI correctly in order to use a MicroPython ST7789 display driver that was already available here.
DISCLAIMER: I wrote this code based on the available information and the C implementation of Lilygo. However this code is not well tested and may ruin your device. Use it at your own risk.
WARNING: after installing MicroPython you will no longer be able to flash the device with esptools
if you don't press the boot button inside the device, accessible under the battery, as explained here.
I just used the generic MicroPython release for the S3 device.
The file name is ESP32_GENERIC_S3-20231005-v1.21.0.bin
.
esptool.py --chip esp32s3 --port /dev/tty.usbmodem* erase_flash
esptool.py --chip esp32s3 --port /dev/tty.usbmodem* write_flash -z 0 ESP32_GENERIC_S3-20231005-v1.21.0.bin
Use talk32 to transfer the .py files to the device:
talk32 /dev/tty.your.usb.serial.device put *.py
Then enter the device in REPL mode:
talk32 /dev/tty.your.usb.serial.device repl
Hit Ctrl+D to reset the device and you should see a demo usign the TFT screen. The screen should change color every 2 seconds.
This is a work in progress, my goal is to just gain enough access to the device in order to port FreakWAN into this device. My plans if I find some time is to write an SX126x driver similar to the one I wrote for the SX127x LoRa chip (part of FreakWAN), implement the terminal-style display code for the watch and not much than this.
The problem is that there are no guarantees this device will be produced in the future, so since I own two of these, I'll try to make them working, but likely most of the future developments will focus more on the T-BEAM and T3 devices that are sold for many years.