Hardware Reference

Complete pinout, peripheral specs, and configuration details for the Waveshare ESP32-S3-Touch-LCD-1.69.

# Microcontroller

PropertyValue
SoCESP32-S3 (Xtensa LX7 dual-core)
Clock240 MHz
Flash16 MB Quad-SPI NOR
PSRAM8 MB OPI (Octal SPI)
WiFi802.11 b/g/n 2.4 GHz
BluetoothBT 5.0 LE
USBNative USB-C CDC (no bridge chip)

# Display — ST7789V2

1.69-inch IPS LCD driven via SPI. 262K colors (RGB565). Backlight PWM-controllable via GPIO 17.

SignalGPIONotes
SCLK18SPI clock
CS16Chip select (active low)
RST3Reset (active low)
DC2Data / command select
BL17Backlight — HIGH = on

TFT_eSPI User_Setup.h patch:

#define ST7789_DRIVER
#define TFT_WIDTH   240
#define TFT_HEIGHT  280
#define TFT_MOSI    -1   // write-only; MOSI not needed
#define TFT_SCLK    18
#define TFT_CS      16
#define TFT_DC       2
#define TFT_RST      3
#define TFT_BL      17
#define TFT_BACKLIGHT_ON HIGH
#define SPI_FREQUENCY  40000000

# Touch — CST816T

Capacitive single-touch controller. Communicates over I2C (shared bus with IMU and RTC).

SignalGPIO
SDA11
SCL10

# IMU — QMI8658

6-axis inertial measurement unit: 3-axis accelerometer and 3-axis gyroscope. Shares I2C bus with touch and RTC.

AxisDescription
Accel X/Y/ZLinear acceleration (±2g to ±16g selectable)
Gyro X/Y/ZAngular rate (±16 dps to ±2048 dps selectable)
SignalGPIO
SDA11
SCL10

# RTC — PCF85063

Low-power real-time clock with seconds-to-years timekeeping. On-board SH1.0 connector for a backup battery keeps time when main power is removed.

SignalGPIO
SDA11
SCL10

# I2C Bus Summary

Three peripherals share a single I2C bus on GPIO 10/11. Each has a distinct address.

PeripheralDriverI2C Address
Touch controllerCST816T0x15
IMUQMI86580x6B
RTCPCF850630x51

# Power

InterfaceDetails
USB-CPower input and programming. Native USB CDC — no external UART bridge chip required.
MX1.25 LiPoSingle-cell lithium battery connector for portable operation.
ETA6098Integrated charging IC — charges LiPo from USB-C automatically.
RTC batterySH1.0 header for a small coin-cell / backup battery to sustain RTC.

# Serial / Programming

PropertyValue
Port (macOS)/dev/cu.usbmodem1101
Baud (flash)460800
Flash modedio
Flash freq80 MHz
Flash size16 MB
USB modehwcdc (hardware CDC)

# arduino-cli FQBN

esp32:esp32:esp32s3:USBMode=hwcdc,CDCOnBoot=cdc,FlashSize=16M,PSRAM=opi