Introduction
Parameters
Parameter Name | Parameter |
|
Interface | USB Type-C |
|
Master chip | ESP32-S3 |
|
Display type | TFT |
|
Display control chips | Display: ST77916 |
Touch: CST816 |
|
Onboard devices | Posture sensor: QMI8658 |
RTC clock: PCF85063 |
Micro SD |
MIC |
Buzzer |
Battery recharging management module |
|
Dimensions | 73.06 (H) mm x 50.54 (V) mm |
Interfaces
PINOUT | FUNC | Description |
GND | GND | Power ground |
3V3 | 3V3 | External output 3.3V |
SCL | SCL (GPIO10) | I2C clock line, cannot be used as a regular GPIO |
SDA | SDA (GPIO11) | I2C data cable, cannot be used as a regular GPIO |
PINOUT | FUNC | Description |
GND | GND | Power ground |
3V3 | 3V3 | External output 3.3V |
TXD | TXD (GPIO43) | Transmit UART data or be used as a regular GPIO |
RXD | RXD(GPIO44) | Receive UART data or be used as a regular GPIO |
Onboard Function
Please note that when enabling all onboard devices through the provided example, if you want to continue using onboard Bluetooth devices, it is recommended to use other audio library files with smaller memory usage (otherwise it will cause excessive SRAM usage).
Internal hardware connection
LCD
LCD Pinout | ESP32S3 |
LCD_SDA0 | GPIO46 |
LCD_SDA1 | GPIO45 |
LCD_SDA2 | GPIO42 |
LCD_SDA3 | GPIO41 |
LCD_SCK | GPIO40 |
LCD_CS | GPIO21 |
LCD_TE | GPIO18 |
LCD_RST | EXIO2 |
LCD_BL | GPIO5 |
TP_SDA | GPIO1 |
TP_SCL | GPIO3 |
TP_INT | GPIO4 |
TP_RST | EXIO1 |
SD Card
SD Card | ESP32S3 |
SD_D0 / MISO | GPIO16 |
SD_CMD / MOSI | GPIO17 |
SD_SCK / SCLK | GPIO14 |
SD_D3 / CS | EXIO3 |
SD_D1 | NC |
SD_D2 | NC |
QMI
QMI8658C | ESP32S3 |
IMU_SCL | GPIO10 |
IMU_SDA | GPIO11 |
IMU_INT1 | EXIO5 |
IMU_INT2 | EXIO4 |
RTC
PCF85063ATL | ESP32S3 |
RTC_SCL | GPIO10 |
RTC_SDA | GPIO11 |
RTC_INT | GPIO9 |
MIC
Buzzer | ESP32S3 |
MIC_WS | GPIO2 |
MIC_SCK | GPIO15 |
MIC_SD | GPIO39 |
Buzzer
PCF85063ATL | ESP32S3 |
Speak_DIN | GPIO47 |
Speak_LRCK | GPIO38 |
Speak_BCK | GPIO48 |
Usage in Arduino
- Please note that ESP32 3.0.2 on Arduino is developed based on ESP-IDF v5.1, which is significantly different from the previous ones on ESP-IDF V4. X. After performing the following operations, programs that were originally able to run normally may need to be adjusted before they can be used.
- Please note that the computer username must be in English, as using a Chinese username may result in compilation errors.
Environment Setting
- Open Arduino IDE after installation
- Add one or more JSON links
https://espressif.github.io/arduino-esp32/package_esp32_index.json
- Change the project folder to C:\Users\Waveshare\AppData\Local\Arduino15\packages (Waveshare is the computer username)
- Enter development board manager, search for esp32, select Version 3.0.2 from esp32 by Espressif Systems below, and click INSTALL (if unable to install properly, you can try using a phone hotspot)
- Restart Arduino IDE after installatio
Install Library Files
- Please note whether the library has been installed before. If it has been installed, please archive the original library to prevent errors and failures when running other programs.
- Enter the example folder ESP32_S3_Touch_LCD_1.85\LVGL_Arduino, and double click LVGL_Arduino.ino to open the example.
- Search for lvgl library and install it (this operation is to set up a library folder in Arduino environment. If other libraries have already been installed before and following folder exists, this step is not necessary).
- Enter the path of library file c:\Users\Waveshare\AppData\Local\Arduino15\packages\libraries (Waveshare is the computer username). If you are unsure which folder it is in, please go to Preferences to check.
- If you don't know the path, you can check it as below:
- Delete the downloaded lvgl library (if not installed earlier, ignore this step)
- Install the two libraries provided and create a new Lib folder in the example path
- Go on and install NTPClient library
- Install SensorLib library
- Complete library installation
Program Example
- Reopen the example
- Select model ESP32S3 Dev Module and port
- Compile and burn the example (Note: There will be two burning progresses during the burning. Please wait for the prompt to complete the burning before operating the device)
- Two pages will appear after successful burning
- Page 1 will display the following parameters:
Parameter | FUNC | Description |
SD Card | Display the size of SD card | Please note, only SD cards with 16GB and below are supported |
Flash Size | Display the size of Flash | Current onboard 16MB Flash |
Angular deflection | Display board angular deflection | Display deflections in three directions |
RTC Time | Display RTC time | Display current RTC time
The reason why RTC time is inconsistent with current time is that data cannot be retained in a power-off state. To maintain correct RTC time, RTC battery needs to be connected to update the RTC time. |
Wireless number | Display the number of scanned WIFI devices | The word "Scan Finish" will be displayed at the end when the scan finishes
|
- Page 2 is the UI page for playing MP3 audio from the root directory of the SD card
- This program defaults to enabling voice recognition, with the wake-up word "hi ESP". After waking up, the command can be spoken when the backlight turns dark (if the backlight does not turn dark, it means it has not been woken up. The recognition requirements are strict, and the pronunciation needs to be standard with a slower speaking speed)
- MIC Test audio has provided several formats of MIC test audio. (Please note that if hi ESP wake-up fails, please adjust the audio to the wake-up word playback location and replay)
- Please do not use voice recognition when playing audio through the speaker
- The reason why the wake-up word is played twice in the test audio is that the current firmware version requires the device to be woken up for the first time (similar to device focusing), and the current firmware does not allow this function to be turned off
// Commands
Turn on the backlight
Turn off the backlight
Backlight is brightest
Backlight is darkest
- Below examples describes environment configurations and program instructions of some modules
Example Processing Instructions
MIC
Implement English recognition --> (click on the right to expand)
English recognition environment setting
- The initial state of the environment defaults to English recognition environment. If it is not converted to Chinese, the following modifications will not be made
- If it has been modified to Chinese recognition before, download the provided program file Use_the_English_model_program
- Enter the path C:\Users\Waveshare\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.2\libraries\ESP_SR\src (Waveshare is the computer user name)
- Use the downloaded file to replace esp32-hal-sr.c in this path
- Download English model English_model_-_wake-up_words (hi_esp)
- Enter the path C:\Users\Waveshare\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-bd2b9390ef\esp32s3\esp_sr (Waveshare is the computer user name)
- Use the downloaded file to replace srmodels.bin in this path
- Modify the recognition instructions in the program to English instructions (phonemes)
Generate English phonemes
pip install en_g2p
- Execute miltinet_g2p.py file
python miltinet_g2p.py
- Execute gen_sr_commands.py to generate phoneme instructions
python gen_sr_commands.py "English to be converted into phonemes"
Example: python gen_sr_commands.py "hello word"
Implement Chinese recognition -->(click on the right to expand)
Chinese recognition environment setting
- The initial state of the environment defaults to English recognition environment. If it has not been modified to Chinese recognition before, download the provided program file Use_the_Chinese_model_program
- Enter the path C:\Users\Waveshare\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.2\libraries\ESP_SR\src (Waveshare is the computer user name)
- Use the downloaded file to replace esp32-hal-sr.c in this path
- Download Chinese model Chinese_model_-_wake-up_words (hi_乐鑫)
- Enter the path C:\Users\Waveshare\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-bd2b9390ef\esp32s3\esp_sr (Waveshare is the computer user name)
- Use the downloaded file to replace srmodels.bin in this path
- Modify the recognition instructions in the program to Chinese instructions (pinyin)
Generate Chinese pinyin
- Download Generate_Chinese_command file
- Click Win + R to enter the command window, and use "cd path" to enter the downloaded folder
- Execute multinet_pinyin.py to generate Chinese pinyin
python multinet_pinyin.py "Chinese to be converted to pinyin"
Example: python multinet_pinyin.py "你好新中国"
Resource
Document
Schematic Diagram
ESP32-S3-Touch-LCD-1.85 Schematic diagram
Demo
lvgl Library
audioI2S Library
Demo
FAQ
Question:The module keeps resetting, and the recognition status will flicker when viewed from the device manager?
Answer:
This situation may be due to the instability of USB port caused by a blank Flash. To solve this problem, long press BOOT button and press RESET at the same time, then release RESET, and then release BOOT button. At this time, the module will enter download mode to burn firmware (program) to solve the problem.
Question:If you redownloaded the module program after you had downloaded it before, sometimes the serial port cannot be connected or the burning failed?
Answer:
You can long press BOOT button and press RESET at the same time, then release RESET, and then release BOOT button. At this time, the module will enter download mode, which can solve most of the problems related to inability to download.
Support
Monday-Friday (9:30-6:30) Saturday (9:30-5:30)
Mobile: +86 13434470212
Email: services01@spotpear.com
Monday-Friday (9:30-6:30) Saturday (9:30-5:30)
Mobile: +86 13434470212
Email: services01@spotpear.com