• sales

    +86-0755-88291180

ESP-S3-1.69-touch User Guide

Overview

Introduction

ESP32-S3-Touch-LCD-1.69 is a cost-effective, high-performance microcontroller development board designed by Waveshare. On the small plates, onboard a 1.69inch capacitive touch LCD screen, Lithium battery charging chip, 6-axis sensor (3-axis accelerator and 3-axis gyroscope), and peripheral interface such as RTC, easy to develop and embed into products.

Features

  • Equipped with high-performance Xtensa®32-bit LX7 dual-core processor, main frequency running up to 240MHz.
  • Support 2.4 GHz Wi-Fi (802.11 b/g/n) and Bluetooth® 5 (LE), and onboard antenna.
  • Built-in 512KB SRAM and 384KB ROM, 8MB PSRAM, and external 16MB Flash.
  • Onboard 1.69inch capacitive touch LCD screen, 240×280 resolution, 262K colors, can clearly display color pictures.

Hardware Description

  • Onboard patch antenna, uses 0 ohm shorted optional external antennas, as shown in ⑩.
  • Onboard PCF85063 RTC chip with reserved SH1.0 RTC battery header (support charging), supports timing function, as shown in ③ and ⑨.
  • Onboard QMI8658C 6-axis Inertial Measurement Unit (IMU), including a 3-axis gyroscope and a 3-axis accelerator, as shown in ④.
  • Onboard ETA6089 high-performance Lithium battery charging chip, M1.25 Lithium battery interface, easy to install lithium batteries charge and discharge for long-term usage, as shown in ⑤ and ⑥.
  • Onboard buzzer can be utilized as an audio peripheral, as shown in ⑧.
  • Onboard Type-C interface, connect to ESP32-S3 USB for demo programming and log printing, as shown in ⑦.
  • Onboard BOOT and RST function buttons, easy to reset and enter the download mode, as shown in ⑫ and ⑬.
  • Onboard function circuit button, can be customized as the power-on button, and can identify single pressing, double pressing, and long pressing, as shown in ⑪.


Dimensions


Development Environment Setup

  • The following development system is Windows by default.

ESP-IDF

  • It is recommended to develop with the VSC plug-in.

Develop with VSCode Plug-in

Install VSCode

1. Open the download page of the official VSCode website, and select the corresponding system and system bit to download.

2. After running the installation package, the rest can be installed by default, but here for the subsequent experience, it is recommended to check boxes 1, 2, and 3.

    • After the first and second items are enabled, you can open VSCode directly by right-clicking files or directories, which can improve the subsequent user experience.
    • After the third item is enabled, you can select VSCode directly when you choose how to open it.

Install Espressif IDF Plug-in

  • Note: The latest version of the current plug-in is V1.6.0, for a consistent experience, users can choose the same version as us.
1. Open VSCode and use the shortcut key Shift + Ctrl + X to enter the plugin manager.

2. In the search bar, type Espressif IDF, select the corresponding plug-in, and click install.

3. Press F1 to enter:
esp-idf: configure esp-idf extension

4. Choose express (This tutorial is for first-time users, so only the first general installation tutorial is covered.)

5. Open and display this screen.

6. Choose Espressif server to download.

7. Select the ESP-IDF version you want now, we choose the latest V5.0.1 (note that ESP-IDF started to support ESP32-S3 only after V4.4).

8. The following two are the ESP-IDF directory installation address and the ESP-IDF required tools installation address respectively.

    • Note: If you have installed ESP-IDF before, or if it has failed, please make sure to delete the file completely or create a new path.
9. Once the configuration is finished, click "install" to download.

10. Enter the download page, and it will automatically install the corresponding tools and environment, just wait a moment.

11. After the installation is completed, it will enter the following screen, indicating that the installation is finished.

Official Demo Usage

  • Click here to view more details provided by the official ESP.
Creating a Demo
1. Using the shortcut F1, type:
esp-idf:show examples projects

2. Choose your current IDF version:

3. Take "Hello World" as an example:

4. Choose the corresponding demo.
5. The readme file will explain which chip the demo is suitable for (the following section will introduce how to use the demo and its file structure, which is omitted here).
6. Click to create the demo.
7. Choose the path to place the demo and ensure that there is no folder with the same name as the demo.

Modify COM Port
1. The corresponding COM port is displayed here, click on it to modify.

2. We check the device manager COM port, and select COM5, please select your corresponding COM port:

3. Choose the project and demo.

4. Then the COM port is modified.
Modify the Driver
1. Here shows the driver used, click here to modify the corresponding driver:

2. Choose the project or demo:

3. Wait for a few seconds after clicking.

4. Choose the driver we need, that is, the main chip ESP32S3.

5. Choose the openocd path, we can just choose one at random as it doesn't matter.

The Rest of the Status Bar Introduction


  • ① SDK configuration editor: many functions and configurations of ESP-IDF can be modified within it.
  • ② Clean up everything and delete all compiled files.
  • ③ Compile.
  • ④ Current download method, default is UART.
  • ⑤ Program the current firmware, please do it after compiling.
  • ⑥ Open the serial monitor to view serial information.
  • ⑦ Combined button for compiling, programming, and opening the serial monitor (most commonly used during debugging).
Compile, Program, and Serial Port Monitoring
1. Click on the Compile, Program, and Open Serial Monitor buttons we described earlier.

2. It may take a long time to compile, especially for the first time.

  • During this process, ESP-IDF may take up a lot of CPU resources and therefore may cause system lag.
3. Because we use CH343 as a USB to serial port chip, and the on-board automatic download circuit, it can be downloaded automatically without manual operation.

4. After successful download, it will automatically enter the serial monitor, and you can see the corresponding information output from the chip and prompt to reboot after 10s.


Arduino

  • If you do not use arduino-esp32 before, you can refer to this link.

Install Arduino IDE

1. Open the official software download webpage, and choose the corresponding system and system bits to download.

2. You can choose "Just Download", or "Contribute & Download".

3. Run to install the program and install it all by default.

Install arduino-esp32 Online

1. Open Preferences.  File -> Preferences

2. Add the corresponding board manager URLs and click the button.
Addlitional boards manager URLs:

3. Add the following content in the first blank.
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

4. Save the setting.
5. Open the board manager, enter ESP32 in the search bar, and select version 2.0.11.

6. Wait for downloading.

7. arduino-esp32 is downloaded.

Use Arduino Demo

1. Select the demo, here we choose the demo to get the chip ID.

2. Select the board as ESP32S3 Dev Module.

3. Choose the COM5 port of ESP32-S3 USB.

4. Click the download button, then it compiles and downloads automatically.

5. Finish.

6. Open the Serial Port Monitor.

7. See the chip ID of the loop output.


LCD Description

LCD and its Controller

  • The built-in controller used in this LCD is ST7789V2, which is an LCD controller with 240 × RGB × 320 pixels, while the pixels of this LCD are 240(H) × RGB × 280(V). Hence, the LCD's internal RAM is not fully used.
  • This LCD supports 12-bit, 16-bit, and 18-bit per pixel input color formats, namely RGB444, RGB565, and RGB666 color formats, this demo uses RGB565 color format, which is also commonly used RGB Format.
  • This LCD uses a four-wire SPI communication interface, which can greatly save the GPIO port, and the communication speed will be faster.
  • The resolution of this module is 240(H) × RGB × 280(V), but sometimes it may not fully display your images as it is round in corners.

SPI Communication Protocol



Note: The difference from the traditional SPI protocol is that the data line sent from the slave to the host is hidden because it only needs to be displayed. Please refer to Datasheet Page 66 for the table.
RESX is reset, it is pulled low when the module is powered on, usually set to 1;
CSX is the slave chip selection, and the chip will be enabled only when CS is low.
D/CX is the data/command control pin of the chip, when DC = 0, write command, when DC = 1, write data.
SDA is the transmitted data, that is, RGB data;
SCL is the SPI communication clock.
For SPI communication, data is transmitted with timing, that is, the combination of clock phase (CPHA) and clock polarity (CPOL):
The level of CPHA determines whether the data is collected on the first clock transition edge or the second clock transition edge of the serial synchronization clock. When CPHA = 0, data acquisition is performed on the first transition edge;
The level of CPOL determines the idle state level of the serial synchronous clock. CPOL = 0, which is a low level.
As can be seen from the figure, at the first falling edge of SCLK it starts to transmit data, 8-bit data is transmitted in one clock cycle, using SPI0, bit-by-bit transmission, high bit first, and low bit last.

Touch and its Controller

  • This LCD is composed of surface toughened glass + thin film FILM material, which has high strength, strong hardness, and good light transmittance. The matching driver chip is CST816D self-capacitance touch chip, which supports the standard I2C communication protocol standard, which can realize a 10Khz~400Khz configurable communication rate.

I2C Communication Protocol

  • The 7-bit device address of the chip is 0x15, that is, the device writing address is 0x2A, and reading address is 0x2B.
  • Waveform introduction:
    • Write a single byte: (write 0x01 to 0x1F register)
    • Write multiple bytes consecutively (write 0x20, 0x01 to 0x1E and 0x1F respectively)

    • Read a single byte (read a single byte from 0x21)
    • Read multiple bytes consecutively (read 3 bytes from 0x21, 0x22, 0x23)

Sample Demo

Library Installation

It is recommended to directly use the "lib" library in the sample demo when using the LVGL library and modifying the corresponding screen configuration.
Copy the library file folder to "C:\Users\xxxx\Documents\Arduino\libraries ", "xxxx" is your PC username.




Arduino_LVGL

LVGL (Light and Versatile Graphics Library) is a free and open-source graphic library for embedded systems and is very suitable for devices with limited resources such as ESP32-S3. In the sample demo, you can use "LVGL_Arduino" to check the screen effect.

User-defined PWR_Key

This key is designed to address the limited functionality of external buttons. The working principle is as follows:

Pressing PWR can power the battery, and then the system boots. The system should define GPIO35 to continuously output a high level to maintain power-on effect. At this point, releasing PWR will not power off. The function of PWR at this time is to pull down GPIO36. The system detects pressing, double pressing, and long pressing of GPIO36 and can customize shutdown control operations. For example, in long press mode, the system sets GPIO35 to a low level to disconnect the battery power, thereby enabling the multi-function button to be used.

PCF85063 RTC Clock Chip

The PCF85063 RTC Clock facilitates the use of scheduled tasks, provides accurate time tracking, and low-power wake-up functions.
Through example demos, the RTC function can be easily utilized.


QMI8658 6-axis IMU

The QMI8658 can be used for applications such as posture detection, gait analysis, and fall detection. When embedded in this development board, it can be applied to smart wearables.
Example demos can be used to verify changes in multi-axis acceleration and the data can be observed directly through a visualization tool.


Buzzer

By combining RTC, it's possible to implement timed tasks, scheduled alarms, and other applications.


Resource

Document

Datasheet

Demo

Software

FAQ

 Answer:

Please check whether the version of esp32 hardware library is 2.0.11, after confirming the version, select the corresponding development board to compile and burn in, please note that after selecting the corresponding development board through Tools, the option of Zigbee will not appear, or else the environment of esp32 hardware library is not effective.



 Answer:

1. When you find the board is hot, please make sure to pull down the GPIO33 first, and pull down the buzzer pin, otherwise the passive buzzer is like a resistor that consumes power all the time, which leads to the LDO current pressure is very hot.
2. If you also use WiFi/Bluetooth function, hot is unavoidable, ESP32-S3 open wireless function related to power consumption will increase, resulting in heat.
3. It is not recommended to turn on the PSRAM function, if it is turned on, in the ESP-IDF and other scenarios may not pull down the GPIO33 or affect the display, at this time, we recommend removing the buzzer resistor to disconnect its function.
4. In the Arduino IDE environment, turn on the PSRAM, use external Flash, pull down the GPIO33, it will still cause a lot of heat, it is recommended to use a low-power program to play!


 Answer:

The LCD screen display chip used in this product is ST7789V2, and the touch chip is CST816T, there are drivers for the two chips in the libs we provided, for the display driver, please refer to TFT_eSPI enable, and for the touch driver, please refer to the Arduino_LVGL sample demo.


 Answer:

This product is a development board and is not an end product. The product ecology is ESP32 core, and the ecology is very mature, the development environment is also very friendly, we do not assist in modifying the code, so creators, and geeks can play with their own DIY ability, if you have any questions you can ask the development engineers to answer for you.
If you think our products are good, and hope to batch customized hardware, customized shell, customized software, etc., welcome to contact the development engineers!



 Answer:

If the upload doesn't work then you need to hold down the BOOT button, press and release the RESET button, then release the BOOT button to put the chip into upload mode. Then click on Upload.


 Answer:

Need to use version 2.0.12 of the esp32 development board library. Newer versions DO NOT work.


Support

Monday-Friday (9:30-6:30) Saturday (9:30-5:30) -China time
Email: services01@spotpear.com