LILYGO T-Display-S3 User Guide
Version 1.0
Copyright 2022
About This Guide
This document is intended to help users set up the basic software development environment for developing applications using hardware based on the T-Display. Through a simple example, this document illustrates how to use Arduino, including the menu-based configuration wizard, compiling the Arduino, and firmware download to the ESP32-S3 module.
Release Notes
Date | Version | Release notes |
2022.11 | 1.0 | First release. |
1. Introduction
1.1. T-Display-S3
The T-Display-S3 is a development board that can work independently. It consists of an ESP32-S3 MCU supporting Wi-Fi + BLE communication protocol and a motherboard PCB. The screen is a 1.9-inch IPS LCD ST7789V. At the core of this module is the ESP32S3R8 chip. The ESP32-S3 integrates Wi-Fi (2.4 GHz band) and Bluetooth 5.0(LE) solutions on a single chip, along with dual high-performance cores and many other versatile peripherals. Powered by 40 nm technology, the ESP32-S3 provides a robust, highly integrated platform to meet the continuous demands for efficient power usage, compact design, security, high performance, and reliability.
Xinyuan provides the basic hardware and software resources that empower application developers to build their ideas around the ESP32-S3 series hardware. The software development framework provided by Xinyuan is intended for rapidly developing Internet-of-Things (IoT) applications, with Wi-Fi, Bluetooth, flexible power management, and other advanced system features.
The RF frequency range is 2.412 GHz to 2.472 GHz. (WIFI) BLE: 2402-2480MHz. The T-Display-S3 manufacturer is Shenzhen Xin Yuan Electronic Technology Co., Ltd.
1.2. Arduino
Arduino is a set of cross-platform applications written in Java. The Arduino Software IDE is derived from the Processing programming language and the integrated development environment of the Wiring program. Users can develop applications in Windows/Linux/MacOS based on Arduino. It is recommended to use Windows 10. Windows OS has been used as an example in this document for illustration purposes.
1.3. Preparation
To develop applications for ESP32-S3 you need:
- A PC loaded with either Windows, Linux, or Mac operating system
- Toolchain to build the Application for ESP32-S3
- Arduino that essentially contains API for ESP32-S3 and scripts to operate the Toolchain
- The ESP32-S3 board itself and a USB cable to connect it to the PC
2. Get Started
2.1. Download the Arduino Software
The quickest way to install the Arduino Software (IDE) on Windows machines.
2.1.1. Quick Start Guide
The website provides a quick start tutorial:
- Windows: https://www.arduino.cc/en/Guide/Windows
- Linux: https://www.arduino.cc/en/Guide/Linux
- Mac OS X: https://www.arduino.cc/en/Guide/MacOSX
2.1.2. Installation steps for Windows platform Arduino
Download the Arduino Software. Enter the download interface, select "Windows installer" to install directly.
The Arduino Software (IDE) makes it easy to write code and upload it to the board. It runs on Windows, Mac OS X, and Linux. The environment is written in Java and based on Processing and other open-source software. This software can be used with any Arduino board. Refer to the Getting Started page for installation instructions.
2.2. Install the Arduino Software
Follow the on-screen prompts in the Arduino Setup wizard. Ensure that "Install Arduino software" and "Install USB driver" are selected. Click "Next" to continue.
Wait for installation to complete.
3. Configure
3.1. Download Git
Download the installation package Git.exe from the official Git website.
Git: distributed-even-if-your-workflow-isnt
The entire Pro Git book, written by Scott Chacon and Ben Straub, is available to read online for free. Older releases are available, and the Git source repository is on GitHub.
GUI Clients
Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific experience. View GUI Clients →
Logos
Various Git logos in PNG (bitmap) and EPS (vector) formats are available for use in online and print projects. View Logos
Git via Git
If you already have Git installed, you can get the latest development version via Git itself:
git clone https://github.com/git/git
You can also always browse the current contents of the Git repository using the web interface.
3.2. Pre-build configuration
Click the Arduino icon, then right-click and select "Open folder where".
Select hardware:
Mouse Right click
Click Git Bash Here
3.3. Cloning a remote repository
$ mkdir espressif
$ cd espressif
$ git clone --recursive https://github.com/espressif/arduino-esp32.git esp32
4. Connect
You are almost there. To be able to proceed further, connect the ESP32-S3 board to the PC, check under what serial port the board is visible, and verify if serial communication works.
5. Test Demo
Navigate through the Arduino IDE menus: File > Sketch > Examples > WiFi > WiFiScan.
6. Upload Sketch
6.1. Select Board
In the Arduino IDE, go to Tools > Board > ESP32S3 Dev Module.
Configure the following settings:
- Upload Speed: "921600"
- USB Mode: "Hardware CDC and JTAG"
- USB CDC On Boot: "Disabled"
- USB Firmware MSC On Boot: "Disabled"
- USB DFU On Boot: "Disabled"
- Upload Mode: "UARTO"
- CPU Frequency: "240MHz (WiFi)"
- Flash Mode: "QIO 80MHz"
- Flash Size: "4MB (32Mb)"
- Partition Scheme: "Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)"
Ensure the correct board is selected from the list, which includes options like:
- ESP32S3 Dev Module
- ESP32C3 Dev Module
- ESP32S2 Dev Module
- ESP32 Dev Module
- ESP32 Wrover Module
- ESP32 PICO-D4
- ESP32-S3-Box
- ESP32S3 CAM LCD
6.2. Upload
Select Sketch > Upload to upload the code to the ESP32-S3 board.
6.2. Serial Monitor
Access the Serial Monitor by going to Tools > Serial Monitor.
The Serial Monitor will display output such as network scan results:
scan start
scan done
2 networks found
1: MEO-620B4B (-39)*
2: MEO-WiFi (-39)
scan start
scan done
2 networks found
1: MEO-620B4B (-38)*
2: MEO-WiFi (-38)
7. SSC Command Reference
This section lists common Wi-Fi commands to test the module.
7.1. op
Description: op commands are used to set and query the Wi-Fi mode of the system.
Example:
op -Q
op -S -o wmode
Parameter:
Parameter | Description |
-Q | Query Wi-Fi mode. |
-S | Set Wi-Fi mode. |
wmode | There are 3 Wi-Fi modes: • mode = 1: STA mode • mode = 2: AP mode • mode = 3: STA+AP mode |
7.2. sta
Description: sta commands are used to scan the STA network interface, connect or disconnect AP, and query the connecting status of STA network interface.
Example:
sta -S [-s ssid] [-b bssid] [-n channel] [-h]
sta -Q
sta -C [-s ssid] [-p password]
sta -D
Parameter:
Parameter | Description |
-S | Scan Access Points. |
-s ssid | Scan or connect Access Points with the ssid. |
-b bssid | Scan the Access Points with the bssid. |
-n channel | Scan the channel. |
-h | Show scan results with hidden ssid Access Points. |
-D | Disconnected with current Access Points. |
7.3. ap
Description: ap commands are used to set the parameter of AP network interface.
Example:
ap -S [-s ssid] [-p password] [-t encrypt] [-n channel] [-h] [-m max_sta]
ap -Q
ap -L
Parameter:
Parameter | Description |
-S | Set AP mode. |
-s ssid | Set AP ssid. |
-p password | Set AP password. |
-t encrypt | Set AP encrypt mode. |
-h | Hide ssid. |
-m max_sta | Set AP max connections. |
-L | Show AP parameters. |
Show MAC Address and IP Address of the connected station. |
7.4. mac
Description: mac commands are used to query the MAC address of the network interface.
Example:
mac -Q [-o mode]
Parameter:
Parameter | Description |
-Q | Show MAC address. |
-o mode | mode = 1: MAC address in STA mode. mode = 2: MAC address in AP mode. |
7.5. dhcp
Description: dhcp commands are used to enable or disable dhcp server/client.
Example:
dchp -S [-o mode]
dhcp -E [-o mode]
dhcp -Q [-o mode]
Parameter:
Parameter | Description |
-S | Start DHCP (Client/Server). |
-E | End DHCP (Client/Server). |
-Q | show DHCP status. |
-o mode | mode = 1: DHCP client of STA interface. mode = 2: DHCP server of AP interface. mode = 3: both. |
7.6. ip
Description: ip command are used to set and query the IP address of the network interface.
Example:
ip -Q [-o mode]
ip -S [-i ip] [-o mode] [-m mask] [-g gateway]
Parameter:
Parameter | Description |
-Q | Show IP address. |
-o mode | mode = 1: IP address of interface STA. mode = 2: IP address of interface AP. mode = 3: both |
-S | Set IP address. |
-i ip | IP address. |
-m mask | Subnet address mask. |
-g gateway | Default gateway. |
7.7. reboot
Description: reboot command is used to reboot the board.
Example:
reboot
7.8. ram
Description: ram command is used to query the size of the remaining heap in the system.
Example:
ram