ESP32-Touch-LCD-3.5
This product is a high-performance, highly integrated microcontroller development board designed by Waveshare. It is equipped with a 3.5inch capacitive high-definition IPS screen, a highly integrated power management chip, RTC, low-power audio codec chip and other peripherals, which are convenient for development and embedding into the product. No assembly or wiring is required, so it's easy to play with Xiaozhi AI.
| SKU | Product |
|---|---|
| 32870 | ESP32-Touch-LCD-3.5 |
| 32871 | ESP32-Touch-LCD-3.5-EN |
Features
- Powered by the ESP32-D0WDR2-V3 high-performance Xtensa 32-bit LX6 dual-core processor, with a main frequency of up to 240 MHz
- Supports 2.4 GHz Wi-Fi (802.11 b/g/n) with speeds up to 150 Mbps
- Bluetooth v4.2 full standard, including Classic Bluetooth (BR/EDR) and Bluetooth Low Energy (Bluetooth LE)
- Built-in 520 KB SRAM and 448 KB ROM, with stacked 2 MB PSRAM and external 16 MB Flash
- Features a Type-C interface, enhancing user convenience and device compatibility
- Built-in 3.5inch capacitive touch high-definition IPS display with a resolution of 320×480, 262K colors for clear color pictures
- Embedded with ST7796 driver chip and FT6336 capacitive touch chip, communicating through SPI and I2C interfaces respectively, minimizes required IO pins
- Onboard PCF85063 RTC chip; when a battery is connected, it keeps time even when powered off
- Onboard PWR and BOOT side buttons, configurable for custom function development
- Onboard 3.7V MX1.25 lithium battery charge/discharge interface
- I2C, UART, and multiple GPIOs are broken out for external device connection and debugging, allowing flexible peripheral configuration
- Onboard TF card slot, providing expanded storage, fast data transfer, and flexibility, suitable for data logging and media playback, simplifying circuit design
- Using AXP2101 offers benefits such as efficient power management, support for multiple output voltages, charging and battery management functions, and optimization of battery life
Onboard Resources

- ESP32-D0WDR2-V3 (back side) Wi-Fi and Bluetooth SoC, 240 MHz clock, 2MB PSRAM
- 16MB NOR Flash (back side)
- IPEX1 connector Switching to use the external antenna via resoldering an onboard resistor
- Onboard antenna
- TF card slot
- MX1.25 speaker header
- BOOT button
- RESET button
- PWR Button Default long press for 6s to power off, short press to power on
- AXP2101 Highly integrated power management chip
- Charging indicator
- Power indicator
- Type-C port
- Microphone
- PCF85063
- RTC clock chip
- ES8311 Low-power audio codec chip
- 2.54mm pitch GPIO header Brings out available IO function pins for easy expansion
- MX1.25 lithium battery header MX1.25 2PIN connector for connecting a 3.7V lithium battery, supports charging and discharging
LCD and its Controller
- The LCD uses the built-in ST7796S controller, a 320 (H) × 480 (V) pixel LCD controller.
- Supports RGB444 (12-bit), RGB565 (16-bit), RGB666 (18-bit); RGB565 is recommended (balancing color performance and transfer efficiency).
- Supports 4-wire SPI interface (SCL clock line, SDA data line, DC data/command line, CS chip select line)
- The ST7796S normally has a rectangular display area (refer to the module specification). This module has rounded corners; the actual display area may be slightly smaller than 320×480, so leave some margin at the image edges.
SPI Communication Protocol:

Note: The SPI interface here is specifically designed for screen display, therefore the data line from slave to master (MISO) is omitted.
-
RESX is the Reset pin; it is pulled low during module power-up and is normally set to 1.
-
CSX is the slave chip select pin; the chip is enabled only when CS is low
-
D/CX is the data/command control pin of the chip. When DC = 0, commands are written; when DC = 1, data is written.
-
SDA is the data transmission pin, specifically for RGB data.
-
SCL is the SPI communication clock pin.
For SPI communication, data transmission follows a specific timing sequence, which are determined by the combination of clock phase (CPHA) and clock polarity (CPOL):
-
The level of CPHA determines whether data is captured on the first or second clock transition edge of the serial synchronous clock. When CPHA = 0, data is captured on the first transition edge;
-
The level of CPOL determines the idle level of the serial synchronous clock. CPOL = 0 means the idle state is low level.
As can be seen from the diagram, data transmission begins at the first falling edge of SCL. One clock cycle transmits 1 bit of data, using SPI0 mode, transmitted bit by bit with the Most Significant Bit (MSB) first and the Least Significant Bit (LSB) last.
Pinout Definition
When using the GPIO terminals reserved on the ESP32-Touch-LCD-3.5 board, pay attention to the wire colors and their corresponding functions to avoid burnout of the development board due to wiring habits

Dimensions

Development Methods
The ESP32-Touch-LCD-3.5 supports both the Arduino IDE and ESP‑IDF development frameworks, giving developers flexible options. You can choose the development tool that best suits your project needs and personal preferences.
Both development methods have their own advantages. Developers can choose based on their needs and skill levels. Arduino is simple to learn and quick to start, suitable for beginners and non-professionals. ESP-IDF provides more advanced development tools and stronger control capabilities, suitable for developers with professional backgrounds or higher performance requirements, and is more appropriate for complex project development.
-
Arduino IDE is a convenient, flexible, and easy-to-use open-source electronics prototyping platform. It requires minimal foundational knowledge, allowing for rapid development after a short learning period. Arduino has a huge global user community, providing a vast amount of open-source code, project examples, and tutorials, as well as a rich library ecosystem that encapsulates complex functions, enabling developers to implement various features rapidly. You can refer to the Working with Arduino to complete the initial setup, and the tutorial also provides related example programs for reference.
-
ESP-IDF, short for Espressif IoT Development Framework, is a professional development framework launched by Espressif Systems for its ESP series of chips. It is based on C language development and includes compilers, debuggers, flashing tools, etc. It supports development via command line or integrated development environments (such as Visual Studio Code with the Espressif IDF plugin), which provides features like code navigation, project management, and debugging. We recommend using VS Code for development. For the specific configuration process, please refer to the Working with ESP-IDF. The tutorial also provides relevant example programs for reference.
