Skip to content

T-Display S3 Pro Quick Start

Required Libraries

Copy the project lib/ directory to your Arduino libraries folder, or install the libraries below:

LibraryVersionSource
LovyanGFXLatestGitHub
LilyGo-display-libraryLatestXinyuan-LilyGO/LilyGo-display-library
LVGL8.xGitHub
XPowersLibLatestGitHub
SensorLibLatestGitHub
TouchLibLatestGitHub
JPEGDECLatestGitHub

Arduino

  1. Install VS Code and the PlatformIO IDE extension
  2. Clone the repository:
    bash
    git clone https://github.com/Xinyuan-LilyGO/T-Display-S3-Pro.git
  3. Open platformio.ini and enable one target example
  4. Build, connect via USB-C, then upload

Arduino IDE

SettingValue
BoardESP32S3 Dev Module
Upload Speed921600
USB ModeHardware CDC and JTAG
USB CDC On BootEnabled
CPU Frequency240 MHz (WiFi)
Flash ModeQIO 80 MHz
Flash Size16 MB (128Mb)
Partition Scheme16M Flash (3MB APP/9.9MB FATFS)
PSRAMOPI PSRAM

Set USB CDC On Boot to Disabled when running from battery only.


Examples

ExampleDescription
FactoryFull factory test
GFX / LovyanGFXST7796U display drawing test
Touch_TestCST816S capacitive touch test
PMU_ExampleSY6970 battery management
CameraDVP camera streaming
USB_HIDUSB HID keyboard/mouse demo
LTR553_SensorAmbient light and proximity sensor
LVGL_DemoLVGL 8 UI demo

The panel is a 2.2-inch ST7796U IPS display (222 x 480) with CST816S touch. For quick display tests, use the LilyGo_T_Display_S3_Pro profile from LilyGo_LovyanGFX.

Peripheral Examples

Display (LovyanGFX)

cpp
#define LILYGO_LGFX_USE_T_DISPLAY_S3_PRO
#include <LilyGo_LovyanGFX.h>

LilyGo_T_Display_S3_Pro display;

void setup() {
    display.begin(0);
    display.setTextColor(TFT_WHITE, TFT_BLACK);
    display.drawString("T-Display S3 Pro", 20, 220, &fonts::Font2);
}

void loop() {}

LVGL

Copy lv_conf.h from the project lib/ folder so it sits beside the lvgl folder in your Arduino libraries directory. Key settings:

c
#define LV_COLOR_DEPTH     16
#define LV_HOR_RES_MAX    222
#define LV_VER_RES_MAX    480

Open the repository LVGL_Demo or Factory example for a complete display + touch implementation. Use LilyGo_T_Display_S3_Pro for the display backend and keep the CST816S touch pins from the official pin_config.h.


FAQ

Q: Upload keeps failing?
A: Hold BOOT, press and release RST, then release BOOT and upload again.

Q: Screen is off or backlight is abnormal?
A: Check that the backlight driver matches your board version. V1.0 uses PWM; V1.1 uses a constant-current backlight driver.