Skip to content

T-Display-S3 get it now

Overview

T-Display-S3 is a development board whose main control chip is ESP32-S3. It is equipped with a 1.9-inch LCD color screen and two programmable buttons. Communication using the I8080 interface Retains the same layout design as T-Display. You can directly use ESP32S3 for USB communication or programming.

Quick Start

Example Support

ExamplePlatformIO/ArduinoESP-IDFDescription
T-Display-S3BLE, WIFI, SPIFFS, FFat examples

PlatformIO

  1. Install Visual Studio Code and Python
  2. Search for the PlatformIO plugin in the VisualStudioCode extension and install it.
  3. After the installation is complete, you need to restart VisualStudioCode
  4. After restarting VisualStudioCode, select File in the upper left corner of VisualStudioCode -> Open Folder -> select the T-Display-S3 directory
  5. Wait for the installation of third-party dependent libraries to complete
  6. Click on the platformio.ini file, and in the platformio column
  7. Uncomment one of the lines default_envs = xxxx to make sure only one line works
  8. Click the (✔) symbol in the lower left corner to compile
  9. Connect the board to the computer USB
  10. Click (→) to upload firmware
  11. Click (plug symbol) to monitor serial output
  12. If it cannot be written, or the USB device keeps flashing, please check the FAQ below

Arduino

Install Arduino IDE

  1. In Arduino Preferences, on the Settings tab, enter the https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json URL in the Additional boards manager URLs input box. Please pay attention to the version. The test phase is using 2.0.14. It is not certain that versions above 2.0.14 can run. When the operation is abnormal, please downgrade to a version below 2.0.14. , As of 2024/08/02, TFT_eSPI does not work on versions higher than 2.0.14, see TFT_eSPI/issue3329

  2. Download T-Display-S3 , move to Arduino library folder (e.g. C:\Users\YourName\Documents\Arduino\libraries)

  3. Copy all folders in lib folder to Arduino library folder (e.g. C:\Users\YourName\Documents\Arduino\libraries)

  4. Enter the downloaded T-Display-S3/examples directory

  5. Select any example and double-click the any_example.ino to open it

  6. Select any example and double-click the any_example.ino to open it

  7. Open ArduinoIDE ,Tools ,Make your selection according to the table below

    Arduino IDE SettingValue
    BoardESP32S3 Dev Module
    PortYour port
    USB CDC On BootEnable
    CPU Frequency240MHZ(WiFi)
    Core Debug LevelNone
    USB DFU On BootDisable
    Erase All Flash Before Sketch UploadDisable
    Events Run OnCore1
    Flash ModeQIO 80MHZ
    Flash Size16MB(128Mb)
    Arduino Runs OnCore1
    USB Firmware MSC On BootDisable
    Partition Scheme16M Flash(3M APP/9.9MB FATFS)
    PSRAMOPI PSRAM
    Upload ModeUART0/Hardware CDC
    Upload Speed921600
    USB ModeCDC and JTAG
    • The options in bold are required, others are selected according to actual conditions.
  8. Click upload , Wait for compilation and writing to complete

ESP-IDF

Micropython

Development Platforms

  1. Arduino IDE
  2. PlatformIO
  3. MicroPython

Video

Key Features

  • ESP32-S3R8 Dual-core LX7 microprocessor
  • Wi-Fi 802.11, BLE 5 + BT mesh
  • 1.9" diagonal, Full-color TFT Display
  • 170(H)RGB x320(V) 8-Bit Parallel Interface
  • STEMMA QT / Qwiic
  • JST-GH 1.25mm 2PIN

Product Parameters

FeatureSpecification
MCUESP32-S3R8 Dual-core LX7 microprocessor
Wireless ConnectivityWi-Fi 802.11, BLE 5 + BT mesh
Programming PlatformArduino-ide、 Micropython
Flash16MB
PSRAM8MB
Bat voltage detectionIO04
Onboard functionsBoot + Reset + IO14 Button
LCD1.9" diagonal, Full-color TFT Display
Drive ChipST7789V
Resolution170(H)RGB x320(V) 8-Bit Parallel Interface
Working power supply3.3v
SupportSTEMMA QT / Qwiic JST-SH 1.0mm 4-PIN
ConnectorJST-GH 1.25mm 2PIN

Pin Diagram

T-Display-S3 pin diagram

Display

ST7789VBLPower ENRSTCSDCWRRDD0D1D2D3D4D5D6D7
ESP32-S3GPIO38GPIO15GPIO5GPIO6GPIO7GPIO8GPIO9GPIO39GPIO40GPIO41GPIO42GPIO45GPIO46GPIO47GPIO48

Button

ButtonBOOTUser
ESP32-S3GPIO0GPIO14

Battery

BatteryADC
ESP32-S3GPIO4

I2C (QWIIC / STEMMA QT)

I2CSDASCL
ESP32-S3GPIO18GPIO17

UART

UARTTXRX
ESP32-S3GPIO43GPIO44

Dimension Diagram

Schematic

Datasheet

Software Development

Dependent Libraries

FAQ

  1. The screen does not light up when using battery?
    • When T-Display-S3 is powered by battery, GPIO15 must be set to HIGH to turn on the backlight.
    • Please add the following two lines at the beginning of the setup
    C++
    void setup(){
       //Turn on display power
       pinMode(15, OUTPUT);
       digitalWrite(15, HIGH);
    }
  2. The program can be written normally, but there is still no display after writing
  • If you are using TFT_eSPI, then you can try running Arduino_GFXDemo first. If nothing is displayed after writing, you can determine that there is a problem with the hardware.
  • If Arduino_GFXDemo is written normally, but TFT_eSPI is not displayed, then it can be judged that User_Setup_Select has been overwritten, then please read the third article of FAQ to reconfigure TFT_eSPI
  1. How to update TFT_eSPI, or confirm whether the TFT_eSPI pin configuration is correct?

    • Search for TFT_eSPI in the ArduinoIDE library manager and click Update.
    • Enter the default library manager installation location and open the TFT_eSPI folder. The default installation location is:(e.g. C:\Users\YourName\Documents\Arduino\libraries)
    • Open User_Setup_Select.h, comment out #include <User_Setup.h> which is enabled by default, or delete it
    • Search Setup206_LilyGo_T_Display_S3, find it, cancel the previous comment, then save it, and finally close it, so that TFT_eSPI uses the pin definition of T-Display-S3 by default
    c++
    #include <User_Setups/Setup206_LilyGo_T_Display_S3.h>     // For the LilyGo T-Display S3 based ESP32S3 with ST7789 170 x 320 TFT
  2. Can't upload any sketch,Please enter the upload mode manually.

    • Connect the board via the USB cable
    • Press and hold the BOOT button , While still pressing the BOOT button
    • Press RST button
    • Release the RST button
    • Release the BOOT button (If there is no BOOT button, disconnect IO0 from GND.)
    • Upload sketch
    • Press the RST button to exit download mode
  3. If you use external power supply instead of USB-C, please turn off the CDC option. This is because the board will wait for USB access when it starts.

    • For Arduino IDE users, it can be turned off in the options , Please note that turning off USB CDC will turn off Serial redirection to USBC. At this time, you will not see any Serial message output when opening the port from USB-C, but output from GPIO43 and GPIO44.
    c
    Tools -> USB CDC On Boot -> Disable
    • For platformio users, you can add the following compilation flags in the ini file
    c
    build_flags =
        ; Enable -DARDUINO_USB_CDC_ON_BOOT will start printing and wait for terminal access during startup
        ; -DARDUINO_USB_CDC_ON_BOOT=1
    
        ; Enable -UARDUINO_USB_CDC_ON_BOOT will turn off printing and will not block when using the battery
        -UARDUINO_USB_CDC_ON_BOOT
  4. If all the above are invalid, please flash the factory firmware for quick verification, please check here

  5. Can I use an external 5V pin for power? Please see here issues/205

  6. The default charging current is set at 500mA per hour. If you need to adjust the charging current, please see this issue

Version History

VersionRelease DateUpdate Description