ESP32-S3-Touch-LCD-1.85B
The ESP32-S3-Touch-LCD-1.85B is a high-performance, highly integrated microcontroller development board designed by Waveshare. It is equipped with an ESP32-S3R8 dual-core LX7 processor (240 MHz), supports 2.4 GHz Wi-Fi and Bluetooth 5 (LE), and features 512 KB SRAM, stacked 8 MB PSRAM, and external 16 MB Flash. The product adopts an electronic badge form factor with a CNC aluminum alloy enclosure, and includes a 1.85inch capacitive touch LCD (360×360), a dual-microphone array, audio codec, echo cancellation, battery monitoring, a six-axis IMU, a Li-battery interface, and speaker pads. It is suitable for AI voice interaction, smart hardware, human-machine interface (HMI), and product prototyping applications.
If you are looking for:
- Accelerating development with AI tools: Share this page link with AI tools to help them accurately understand the board hardware and generate usable code.
- Developing with Arduino IDE: See Working with Arduino
- Developing with ESP-IDF: See Working with ESP-IDF
- Downloading schematics, datasheets, and example code: See Related Resources
- Having issues: See Product FAQ or contact Technical Support
| SKU | Product |
|---|---|
| 34554 | ESP32-S3-Touch-LCD-1.85B |
| 34556 | ESP32-S3-Touch-LCD-1.85B-EN |
Onboard Resources

- ESP32-S3R8 Wi-Fi and Bluetooth SoC, up to 240MHz operating frequency, with onboard 8MB PSRAM
- 16MB NOR Flash
- QMI8658 Six-axis Inertial Measurement Unit (IMU), containing a 3-axis gyroscope and a 3-axis accelerometer
- Dual-microphone Design Combined with echo cancellation circuitry for higher quality audio capture
- Onboard Antenna Supports 2.4GHz Wi-Fi (802.11 b/g/n) and Bluetooth 5 (LE)
- Screen Interface
- ES7210 Echo Cancellation Chip For echo cancellation and improved audio capture accuracy
- ES8311 Audio Codec Chip
- BQ27220 Battery gauge chip
- BOOT Button Used for device startup and functional debugging
- PWR Power Button Controls power on/off and supports custom functions
- Type-C Interface ESP32-S3 USB interface for program flashing and log printing
- MX1.25 Lithium Battery Header MX1.25 2PIN connector for connecting a 3.7V lithium battery, supports charging and discharging
- Onboard Speaker Pads
- Serial Communication Interface SH1.0 4PIN connector
- I2C Interface SH1.0 4PIN connector
Peripheral Quick Reference
| Module | Device / Function | Interface | Address / Parameters | GPIO / Signals |
|---|---|---|---|---|
| LCD | ST77916 | QSPI | 360×360, common RGB565, 16-bit color depth | CS=GPIO21, PCLK=GPIO40, DATA0=GPIO46, DATA1=GPIO45, DATA2=GPIO42, DATA3=GPIO41, RST=GPIO3, BL=GPIO5 |
| Touch | CST816S capacitive touch | I2C | 7-bit address 0x15 | SCL=GPIO10, SDA=GPIO11, RST=GPIO1, INT=GPIO4 |
| IMU | QMI8658 6-axis sensor | I2C | 7-bit address 0x6B | SCL=GPIO10, SDA=GPIO11 |
| Audio Output | ES8311 audio codec | I2C + I2S | 7-bit address 0x30 | I2C SCL=GPIO10, SDA=GPIO11; MCLK=GPIO2, BCLK=GPIO48, LRCK=GPIO38, DOUT=GPIO47, DIN=GPIO39, PA=GPIO9 |
| Audio Input | ES7210 echo cancellation / dual microphone | I2C + I2S | 7-bit address 0x80 | I2C SCL=GPIO10, SDA=GPIO11; MCLK=GPIO2, BCLK=GPIO48, LRCK=GPIO38, DIN=GPIO39 |
| Battery Gauge | BQ27220 | I2C | 7-bit address 0x55 | SCL=GPIO10, SDA=GPIO11 |
| RTC | PCF85063 real-time clock | I2C | 7-bit address 0x51 | SCL=GPIO10, SDA=GPIO11, INT=GPIO6 |
| TF | SDMMC | SDMMC 4-bit | Supports SD_MMC | CLK=GPIO15, CMD=GPIO14, D0=GPIO16, D1=GPIO17, D2=GPIO12, D3=GPIO13 |
| USB Type-C | ESP32-S3 native USB | USB | Download, logging | USB_N=GPIO19, USB_P=GPIO20 |
| UART0 | Serial communication interface | UART | SH1.0 4-pin connector | U0TXD=GPIO43, U0RXD=GPIO44 |
| BOOT button | BOOT / download mode | GPIO | Pull-up, low when pressed | GPIO0 |
Pinout Definition
When using the reserved interfaces on the ESP32-S3-Touch-LCD-1.85B board, pay attention to wire colors and corresponding functions to avoid damaging the board due to incorrect wiring.
Expansion Interfaces
| Type | Signals |
|---|---|
| Power | 5V / 3V3 / GND |
| I2C | SCL(GPIO10) / SDA(GPIO11) |
| UART | TXD(GPIO43) / RXD(GPIO44) |
| USB Pads | DN(GPIO19) / DP(GPIO20) |
GPIO Allocation
The table below lists the GPIOs already occupied by onboard circuits and those brought out to expansion headers.
| GPIO | Signal Name | Connected To | Remarks |
|---|---|---|---|
| GPIO0 | BOOT | BOOT button | Strapping pin; press and hold during power-on, then release to enter download mode |
| GPIO1 | TP_RST | CST816S touch reset | - |
| GPIO2 | I2S_MCLK | ES8311 / ES7210 audio clock | - |
| GPIO3 | LCD_RST | ST77916 LCD reset | - |
| GPIO4 | TP_INT | CST816S touch interrupt | - |
| GPIO5 | LCD_BL | LCD backlight control | PWM dimming |
| GPIO6 | RTC_INT | PCF85063 real-time clock interrupt | - |
| GPIO9 | PA_CTRL | Power amplifier control | Audio output amplifier enable |
| GPIO10 | I2C_SCL | Shared I2C SCL for touch, IMU, audio, battery gauge; also brought out to I2C interface | I2C devices listed in peripheral quick reference table |
| GPIO11 | I2C_SDA | Shared I2C SDA for touch, IMU, audio, battery gauge; also brought out to I2C interface | I2C devices listed in peripheral quick reference table |
| GPIO12 | SD_D2 | TF D2 | SDMMC 4-bit |
| GPIO13 | SD_D3 | TF D3 | SDMMC 4-bit |
| GPIO14 | SD_CMD | TF CMD | SDMMC |
| GPIO15 | SD_CLK | TF CLK | SDMMC |
| GPIO16 | SD_D0 | TF D0 | SDMMC |
| GPIO17 | SD_D1 | TF D1 | SDMMC |
| GPIO19 | USB_N | USB Type-C D- | ESP32-S3 native USB |
| GPIO20 | USB_P | USB Type-C D+ | ESP32-S3 native USB |
| GPIO21 | LCD_CS | ST77916 QSPI chip select | - |
| GPIO38 | I2S_LRCK | ES8311 / ES7210 left-right clock | - |
| GPIO39 | I2S_DIN | ES8311 / ES7210 I2S data input | Recording data input |
| GPIO40 | LCD_PCLK | ST77916 QSPI clock | - |
| GPIO41 | LCD_DATA3 | ST77916 QSPI data line 3 | - |
| GPIO42 | LCD_DATA2 | ST77916 QSPI data line 2 | - |
| GPIO43 | U0TXD | Serial communication interface TXD | Debug / expansion |
| GPIO44 | U0RXD | Serial communication interface RXD | Debug / expansion |
| GPIO45 | LCD_DATA1 | ST77916 QSPI data line 1 | - |
| GPIO46 | LCD_DATA0 | ST77916 QSPI data line 0 | - |
| GPIO47 | I2S_DOUT | ES8311 I2S data output | Playback data output |
| GPIO48 | I2S_BCLK | ES8311 / ES7210 I2S bit clock | - |
Precautions
- When connecting external I2C devices, avoid address conflicts with onboard I2C addresses such as
0x15,0x6B,0x30,0x80,0x51,0x55. GPIO19/GPIO20are connected to USB Type-C and are not recommended for use as general-purpose GPIO.GPIO0is the BOOT pin; it is not recommended to use it as a general-purpose input.- GPIOs already occupied by onboard peripherals such as LCD, touch, audio, and SDMMC should not be reused, otherwise the corresponding functions may become abnormal.
LCD Screen Specifications
| Parameter | Value |
|---|---|
| Display Panel | LCD |
| Display Size | 1.85 inches |
| Resolution | 360 × 360 |
| Display Colors | 262K colors |
| Display Interface | QSPI |
| Display Driver | ST77916 |
| Touch Controller | CST816S |
| Touch Interface | I2C |
Specifications
| Parameter | Value |
|---|---|
| Interface | USB Type-C |
| Main Controller | ESP32-S3R8 |
| SRAM / ROM | 512KB SRAM / 384KB ROM |
| PSRAM / Flash | 8MB PSRAM / 16MB Flash |
| Screen Type | TFT LCD |
| Screen Controller | Display: ST77916 Touch: CST816S |
| Onboard Devices | QMI8658 six-axis sensor ES8311 audio codec chip ES7210 echo cancellation chip BQ27220 battery gauge chip PCF85063 real-time clock Dual-microphone array Onboard speaker pads Micro SD Li-battery charging/discharging interface |
| Expansion Interfaces | I2C, UART, USB pads |
| Power Input | USB Type-C / 3.7V Li-battery interface |
Dimensions

Development Methods
The ESP32-S3-Touch-LCD-1.85B supports two development frameworks: Arduino IDE and ESP-IDF, providing developers with flexible choices. You can select the appropriate development tool based on project requirements and personal preference.
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.
