This repository contains the firmware for the Waveshare ESP32-S3-Touch-AMOLED-2.06 smartwatch development board. More information about the board can be found on the Waveshare Wiki: ESP32-S3-Touch-AMOLED-2.06 Wiki
ESP32-S3-Touch-AMOLED-2.06 is a high-performance, wearable watch-shaped development board launched by Waveshare. The product is based on the ESP32-S3R8 microcontroller, integrating a 2.06inch capacitive touch HD AMOLED screen, a six-axis sensor, RTC, an audio codec chip and power management and other functional modules. With a custom case, it looks and forms like a smart watch and is designed for prototyping and functional verification of wearable applications.
Equipped with ESP32-S3R8 high-performance Xtensa 32-bit LX7 dual-core processor, up to 240MHz main frequency Supports 2.4GHz Wi-Fi (802.11 b/g/n) and Bluetooth 5 (BLE), with onboard antenna Built in 512KB SRAM and 384KB ROM, with onboard 8MB PSRAM and an external 32MB Flash Adopts Type-C interface to improve user convenience and device compatibility
Onboard 2.06inch high-definition capacitive touch AMOLED screen with a resolution of ×ばつ502, 16.7M colors for clear color pictures Embedded with CO5300 driver chip and FT3168 capacitive touch chip, communicating through QSPI and I2C interfaces respectively, minimizes required IO pins Onboard QMI8658 6-axis IMU (3-axis accelerometer and 3-axis gyroscope) for detecting motion gesture, step counting, etc. Onboard PCF85063 RTC chip connected to the battery via the AXP2101 for uninterrupted power supply Onboard PWR and BOOT two side buttons with customizable functions, allowing for custom function development Onboard 3.7V MX1.25 lithium battery recharge/discharge header Bring out 1 x I2C port, 1 x UART port, and 1 x USB pad, which can be used for external device connection and debugging Onboard TF card slot for extended storage and fast data transfer, flexible for data recording and media playback, simplifying circuit design The benefits of using AXP2101 include efficient power management, support for multiple output voltages, charging and battery management functions, and optimization for battery life The AMOLED screen has the advantages of higher contrast, wider viewing angle, richer colors, faster response, thinner design, lower power consumption, and flexibility
This project targets the ESP32-S3 and works seamlessly with the ESP-IDF VS Code extension. The steps below assume you are using Visual Studio Code with the official ESP-IDF tooling:
- Install prerequisites: Install Visual Studio Code and add the official ESP-IDF Extension. When prompted, let the extension install the ESP-IDF tools or point it to an existing ESP-IDF 5.x setup.
- Configure the extension: Open the command palette (
Ctrl+Shift+P) and runESP-IDF: Configure ESP-IDF extension. Follow the wizard to select your ESP-IDF directory, Python environment, and tools folder. The wizard will also verify the toolchain installation. - Open the project folder: Use
File → Open Folder...to open the repository root (S3Watch). The ESP-IDF status bar should appear at the bottom once the extension detects the project. - Set the target: From the ESP-IDF status bar, choose
Set Target(or runESP-IDF: Set Targetfrom the command palette) and selectesp32s3. - Build: Click
Build Projectin the status bar or runESP-IDF: Build Project. The extension launchesidf.py buildin an integrated terminal and streams the output. - Select the serial port: Connect the Waveshare board via USB, then use
ESP-IDF: Select Serial Portto choose the appropriate port (e.g.,COMxon Windows or/dev/ttyUSBxon Linux/macOS). - Flash and monitor: Trigger
ESP-IDF: Flash (UART)to program the firmware. For combined flashing and serial monitoring, useESP-IDF: Flash and Monitor. The integrated monitor can be closed withCtrl+]followed byCtrl+d
The project utilizes several components managed by the ESP-IDF Component Manager, as defined in main/idf_component.yml and dependencies.lock:
esp32_s3_touch_amoled_2_06: Board support package for the Waveshare ESP32-S3-Touch-AMOLED-2.06.lvgl/lvgl: LVGL graphics library for UI development.
These dependencies are automatically fetched by the ESP-IDF build system.