ESP32-S3-LCD-1.69

From Waveshare Wiki
Jump to: navigation, search
ESP32-S3-LCD-1.69
ESP32-S3-LCD-1.69.jpg

1.69inch, 240 × 280
USB, UART, I2C
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

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

ESP32-S3-LCD-1.69-details-size.jpg

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.
ESP32-S3-Pico 05.jpg
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.
ESP32-S3-Pico 06.jpg
    • 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.

ESP32-S3-Pico 07.jpg

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

ESP32-S3-Pico 08.jpg

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

ESP32-S3-Pico 09.jpg

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

ESP32-S3-Pico 10.jpg

5. Open and display this screen.

ESP32-S3-Pico 11.jpg

6. Choose a server to download.

ESP32-S3-Pico 12.jpg

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).

ESP32-S3-Pico 13.jpg

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

ESP32-S3-Pico 14.jpg

    • 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.

ESP32-S3-Pico 15.jpg

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

ESP32-S3-Pico 15.jpg

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

ESP32-S3-Pico 17.jpg

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

ESP32-S3-Pico 18.jpg

2. Choose your current IDF version:

ESP32-S3-Pico 19.jpg

3. Take "Hello World" as an example:

ESP32-S3-Pico 20.jpg

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.

ESP32-S3-Pico 21.jpg

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

ESP32-S3-Pico 22.jpg

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

ESP32-S3-Pico 23.jpg

3. Choose the project and demo.

ESP32-S3-Pico 24.jpg

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

ESP32-S3-Pico 25.jpg

2. Choose the project or demo:

ESP32-S3-Pico 24.jpg

3. Wait for a few seconds after clicking.

ESP32-S3-Pico 27.jpg

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

ESP32-S3-Pico 28.jpg

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

ESP32-S3-Pico 29.jpg

The Rest of the Status Bar Introduction

ESP32-S3-Pico 30.jpg

  • ① 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.

ESP32-S3-Pico 31.jpg

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

ESP32-S3-Pico 32.jpg

  • 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.

ESP32-S3-Pico 33.jpg

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.

ESP32-S3-Pico 34.jpg

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.

ESP32-S3-Pico 35.jpg

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

ESP32-S3-Pico 36.jpg

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

Install arduino-esp32 Online

1. Open Preferences.

ESP32-S3-Pico 37.jpg

2. Add the corresponding board manager URLs and click the button.

ESP32-S3-Pico 38.jpg

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

ESP32-S3-Pico 39.jpg

4. Save the setting.
5. Open the board manager and enter ESP32 in the search bar.

ESP32-S3-Pico 40.jpg

6. Wait for downloading.

ESP32-S3-Pico 41.jpg

7. arduino-esp32 is downloaded.

ESP32-S3-Pico 42.jpg

Use Arduino Demo

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

ESP32-S3-Pico 43.jpg

2. Select the board as ESP32S3 Dev Module.

ESP32-S3-Pico 44.jpg

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

ESP32-S3-Pico 45.jpg

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

ESP32-S3-Pico 47.jpg

5. Finish.

ESP32-S3-Pico 48.jpg

6. Open the Serial Port Monitor.

ESP32-S3-Pico 49.jpg

7. See the chip ID of the loop output.

ESP32-S3-Pico 50.jpg

Note: This product uses USB to connect Type-C, if there is a situation where the chip information cannot be output, please modify the Serial.print function in the code to printf function to output directly to the USB.

LCD Description

LCD & Controller

  • The built-in controller of this LCD is ST7789V2, which is a LCD control with 240 × RGB × 320 pixels, and the pixels of this LCD is 240(H) × RGB × 280(V), so you can see the internal RAM of this LCD is not fully used.
  • This LCD supports the

Communication Protocol

0.96inch lcd module spi.png
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 select, 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 serial synchronization clock is collected on the first clock transition edge or the second clock transition edge. 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, when the first falling edge of SCLK starts to transmit data, 8-bit data is transmitted in one clock cycle, using SPI0, bit-by-bit transmission, high-order first, and low-order last.

Sample Demo