The WT32-SC01 PLUS project turns Espressif's ESP32-S3 based touch display module into a network-connected desk companion. It combines a clock, live weather information from OpenWeatherMap, an online radio player, and a configurable interface that stores preferences in EEPROM and can optionally log activity to an SD card.
This repository contains everything needed to build, flash, and customize the firmware, together with the SquareLine Studio project used to design the LVGL user interface.
- WT32-SC01 PLUS (ESP32-S3 with 480×320 capacitive touch display)
- Optional I2S audio amplifier and speaker connected to BCLK (GPIO 36), LRC (GPIO 35), and DOUT (GPIO 37)
- Optional microSD card wired for SPI (CS 41, CLK 39, CMD 40, D0 38)
- USB-C cable capable of data transfer for flashing
Before building the firmware ensure that:
- Visual Studio Code is installed.
- The PlatformIO IDE extension is installed in VS Code.
- USB drivers for the WT32-SC01 PLUS are available on your operating system.
- Clone this repository and open the folder in VS Code.
- When prompted, allow PlatformIO to install the required ESP32 toolchains and libraries.
- Connect the WT32-SC01 PLUS over USB and note the serial port name (COMx on Windows,
/dev/ttyUSBxon Linux,/dev/cu.usbmodem*on macOS). - Open
WT32-SC01-PLUS/platformio.iniand adjust themonitor_portif PlatformIO cannot auto-detect your device. - Build and upload the firmware using the PlatformIO: Upload command or run
pio run --target uploadin the integrated terminal. - Launch PlatformIO: Monitor to observe boot logs and confirm Wi-Fi connections, weather updates, or radio stream status.
After flashing, the on-device UI guides you through configuring Wi-Fi credentials, choosing a city for weather data, picking an online radio station, and setting brightness. All user selections are written to EEPROM so they persist between reboots. If an SD card is present and SDCARD_INSERTED is set to true in the source, logs are stored in log.txt on the card.
The UI is built with LVGL and rendered via LovyanGFX. You can edit the visuals in SquareLine Studio using the provided WT32-SC01-PLUS.spj project file. After exporting the updated LVGL sources, replace the generated files under WT32-SC01-PLUS/src to apply the changes.
- Board stuck in boot loop: erase the flash with
esptool.py --chip esp32-s3 erase_flash(Python) oresptool.exe --chip esp32-s3 erase_flash(Windows executable) before reflashing. - No audio output: confirm the I2S pins match the defaults above and the amplifier is powered.
- Weather updates fail: verify the device has internet access and that the OpenWeatherMap API key in
weather.cppis valid. - SD logging disabled: set
SDCARD_INSERTEDtotrueinsrc/main.cpponly if a microSD card is wired; otherwise leave itfalseto skip SD initialization.
Planned improvements include using the remaining GPIOs for expansion modules and adding hourly weather forecasts alongside the current conditions.





