ESP32-S3-LCD-1.69
| ||
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 a 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.
- 2. Add the corresponding board manager URLs and click the button.
- 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 and enter ESP32 in the search bar.
- 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.
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
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.