ESP32-S3-Touch-LCD-4.3 Overview
The ESP32-S3-Touch-LCD-4.3 is a microcontroller development board featuring 2.4GHz WiFi and BLE 5 support, integrated high-capacity Flash and PSRAM, and a 4.3-inch capacitive touch screen suitable for running GUI programs like LVGL. It is designed for rapid development of HMI and other ESP32-S3 applications.
Features
- Processor: Xtensa 32-bit LX7 dual-core processor, up to 240MHz main frequency.
- Connectivity: 2.4GHz Wi-Fi (802.11 b/g/n) and Bluetooth 5 (LE) with an onboard antenna.
- Memory: 512KB SRAM, 384KB ROM, 8MB PSRAM, and 8MB Flash.
- Display: 4.3-inch capacitive touch display with 800x480 resolution and 65K color.
- Touch Control: 5-point capacitive touch with interrupt support via I2C interface.
- Peripherals: Onboard CAN, RS485, I2C interfaces, TF card slot, and full-speed USB port.
- Power Management: Flexible clock, independent module power supply settings, and low-power consumption controls.
Hardware Description
The board includes several key interfaces:
- UART Interface: Uses CH343P chip for USB to UART communication, connecting to ESP32-S3's UART_TXD (GPIO43) and UART_RXD (GPIO44) for firmware burning and logging.
- USB Interface: GPIO19 (DP) and GPIO20 (DN) are the default USB pins, usable for connecting cameras with UVC protocols.
- Sensor Interface: GPIO6 is available as an ADC for connecting sensors.
- CAN Interface: Shares multiplexed pins with the USB interface, switched by the FSUSB42UMX chip. USB is default when FSUSB42UMX's USB_SEL pin is HIGH.
- I2C Interface: Uses GPIO8 (SDA) and GPIO9 (SCL) for I2C communication with peripherals like the IO expansion chip and touch interfaces.
- RS485 Interface: Features an onboard RS485 interface circuit for direct communication with RS485 devices, with automatic transmit/receive mode switching.
- PH2.0 Battery Header: Equipped with the CS8501 charging and discharging management chip, capable of boosting a single lithium battery to 5V. The charging current is set at 580mA but can be modified by changing the R45 resistor.
PIN Connection
A detailed pinout is provided, mapping ESP32-S3-WROOM-X pins to various interfaces including LCD, USB, SD, UART, CAN, Sensor, and I2C/RS485 related pins. The CH422G chip is used to expand IO for functions like reset and backlight control, as the 4.3-inch screen utilizes most GPIO pins.
Hardware Connection
The ESP32-S3-Touch-LCD-4.3 has an onboard automatic download circuit. The Type C port is used for program downloads and logging. Pressing the RESET button initiates program execution after download. Keep the PCB antenna area clear of metal or plastic materials. The PH2.0 connector extends peripheral pins, and a PH2.0 to 2.54mm DuPont male connector can be used for sensors. The CAN and RS485 interfaces have onboard 120ohm termination resistors, which can be disabled by moving jumper caps. The SD card uses SPI communication, with the SD_CS pin controlled by the CH422G's EXIO4.
Other Notes
- The average frame rate for the LVGL benchmark example on a single core in ESP-IDF v5.1 is 41 FPS. Enabling 120M PSRAM is required before compilation.
- The PH2.0 lithium battery socket supports only single 3.7V lithium batteries. Do not use multiple battery packs simultaneously. A single-cell battery with a capacity below 2000mAh is recommended.
Dimensions
Detailed dimensions of the board are provided in millimeters.
Environment Setting
The ESP32-S3-Touch-LCD-4.3 supports development using CircuitPython, MicroPython, and C/C++ (Arduino, ESP-IDF).
CircuitPython
CircuitPython is a Python variant designed for microcontrollers, simplifying coding for students and beginners. Adafruit Industries supports its development. Development documentation and GitHub libraries are available for custom development.
MicroPython
MicroPython is an optimized implementation of Python 3 for microcontrollers, including a subset of the Python standard library. Development documentation and GitHub libraries are available for custom development.
C/C++ (Arduino, ESP-IDF)
Espressif Systems provides official libraries and support for C/C++ development. Users can select Arduino or Visual Studio Code (ESP-IDF) as their Integrated Development Environment (IDE).
Arduino IDE Setup
- Download and install the Arduino IDE.
- Install ESP32 support in the Arduino IDE by adding the following URL to 'Additional Boards Manager URLs' in File -> Preferences:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Search for and install 'esp32' in the Board Manager.
- Select 'ESP32S3 Dev Module' from the Board menu.
- Configure the following settings in the Arduino IDE:
- Flash Size: '8MB (64Mb)'
- PSRAM: 'OPI PSRAM'
- Upload Speed: '921600'
ESP-IDF Setup
For ESP-IDF development, refer to the official instructions for setting up the environment on Windows, Mac, or Linux.
Software Examples
The document references online examples for LVGL, such as the 'Hello Arduino and LVGL!' label example and button examples. It also details the setup of timers for LVGL ticks and reboot functionality.
Resources
- ESP32 Arduino Core documentation
- arduino-esp32 GitHub repository
- ESP-IDF documentation
- ESP32-S3 Series Datasheet
- ESP32-S3 Wroom Datasheet
- CH343 Datasheet
- TJA1051 datasheet