Skip to main content

ESP32-C6-Touch-LCD-1.54

This product is designed by Waveshare, featuring a small square-shaped injection-molded plastic case. It is compact, aesthetically pleasing, and has a premium feel. It integrates a 1.54inch LCD, a 6-axis IMU, dual microphone arrays, and a TF card slot, providing hardware foundations for display, sensing, voice, and multimedia storage. Leveraging this hardware, the product supports interactive mini-games, voice wake-up, noise reduction, and can connect to AI online large model platforms to enable intelligent voice interaction and continuous upgrades.

tip

The main difference between the ESP32-C6-LCD-1.54 and ESP32-C6-Touch-LCD-1.54 products is whether the screen has touch functionality; all other features are identical.

SKUProduct
34658ESP32-C6-LCD-1.54
34660ESP32-C6-LCD-1.54-EN
34659ESP32-C6-Touch-LCD-1.54
34661ESP32-C6-Touch-LCD-1.54-EN

Features

  • Powered by the ESP32-C6 high-performance 32-bit RISC-V processor with a main frequency up to 160MHz
  • Supports 2.4 GHz Wi-Fi (802.11 b/g/n) and Bluetooth 5, with an onboard antenna for excellent RF performance
  • Built‑in 512KB SRAM and 320KB ROM, plus an external 16MB Flash
  • Features a Type-C interface, eliminating the hassle of plug orientation and enhancing user convenience and device compatibility
  • Onboard 1.54inch capacitive LCD screen, 240 × 240 resolution, 262K colors, capable of displaying color images clearly
  • Onboard ES7210 audio codec chip, supporting dual-microphone audio capture
  • Onboard ES8311 audio codec chip, NS4150B power amplifier chip, microphone, and speaker
  • Onboard QMI8658 6-axis IMU (3-axis accelerometer and 3-axis gyroscope) for detecting motion and posture in expanded applications
  • Built-in ST7789 driver IC, communicating via SPI interface
  • Built-in CST816 capacitive touch controller, communicating via I2C interface (touch version only)
  • Onboard PLUS and BOOT buttons, both customizable for function development
  • Onboard 3.7V MX1.25 lithium battery charge/discharge interface
  • Exposes 1-ch I2C, 1-ch USB and 1-ch UART pads for external devices connection and debugging, enabling flexible peripheral configuration
  • Onboard TF card slot supporting storage expansion and high-speed data transfer, facilitating functions like data logging and media playback while simplifying circuit design

Onboard Resources

  1. ESP32-C6 Integrates a RISC-V single-core processor running at 160MHz, supports 2.4GHz Wi-Fi 6 and BLE 5
  2. 16MB NOR-Flash
  3. NS4150B Audio power amplifier chip
  4. ES8311 Low-power audio codec chip
  5. ES7210 ADC chip for echo cancellation circuit
  6. Battery charge/discharge management chip
  7. QMI8658 6-axis IMU includes a 3-axis gyroscope and a 3-axis accelerometer
  8. PLUS button
  9. PWR button
  10. BOOT button Used for device startup and functional debugging
  11. Microphone
  12. TF card slot
  13. Onboard antenna Supports 2.4GHz Wi-Fi 6 (802.11 b/g/n) and Bluetooth 5 (LE)
  14. MX1.25 lithium battery header MX1.25 2PIN connector for connecting a 3.7V lithium battery, supports charging and discharging
  15. Type-C port
  16. MX1.25 speaker header
  17. 1.54inch display panel connector

LCD Screen Specifications

Display PanelIPSDisplay Size1.54inch
Resolution240 × 240 pixelsDisplay Colors262K
Communication Interface4-wire SPIDriver ICST7789
Touch Type (Touch Version Only)Capacitive touchTouch IC (Touch Version Only)CST816
Active Display Area27.72 × 27.72 mm--

SPI Communication Protocol:

  • Note: Unlike the traditional SPI protocol, because only display functionality is needed, the data line from the slave to the master 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 shown in the diagram, data transmission begins on the first falling edge of SCLK, with 8 bits of data transferred per clock cycle using SPI mode 0, transmitting bits from MSB to LSB

Peripheral Quick Reference

ModuleDevice / FunctionInterfaceAddress / ParametersGPIO / Signals
LCD1.54inch SPI LCD4-wire SPI240x240, commonly RGB565, MISO not usedCLK=GPIO1, DIN=GPIO2, DC=GPIO3, RST=GPIO4, CS=GPIO11, BL=GPIO6
TouchCST816 capacitive touchI2C7-bit address 0x15SCL=GPIO7, SDA=GPIO8, INT=GPIO5
IMUQMI8658 6-axis sensorI2C7-bit address 0x6BSCL=GPIO7, SDA=GPIO8, INT=GPIO10
Audio DAC/CodecES8311I2C + I2S7-bit address 0x30SCL=GPIO7, SDA=GPIO8; MCLK=GPIO19, SCLK=GPIO20, ASDOUT=GPIO21, LRCK=GPIO22, DSDIN=GPIO23
Microphone ADCES7210I2C + I2S7-bit address 0x80Shares I2C/I2S with Codec
AmplifierNS4150BGPIO control + analog audioMono amplifierPA_CTRL=GPIO15
TF CardTF card slotSPIShares SPI clock/data with LCD; independent CSSCK=GPIO1, MOSI=GPIO2, MISO=GPIO16, SDCS=GPIO17
Battery SamplingB+ divided to ADCADCR29 pull-up 200K, R31 pull-down 100K; VBAT = VADC × 3GPIO0 / BAT_ADC
USB Type-CESP32-C6 native USBUSBDownload, loggingUSB_N=GPIO12, USB_P=GPIO13
UART0Default serial / expansion portUARTDebug / expansion padsESP_TXD=GPIO16, ESP_RXD=GPIO17
Charging ManagementETA6098PowerSingle-cell Li-ion charge/dischargeBattery connector
3.3 V PowerTMI3112HDC-DCSystem 3.3V3V3
BOOT ButtonBOOTGPIO / Download modePull-up, low when pressedGPIO9
User ButtonKEY_PLUSGPIOOnboard button / function keyGPIO18
PWR ButtonPWRECJ23001-4FCBD6 switch ICLong press to power off, short press to power on

Pinout Definition

When using the GPIO terminals reserved on the ESP32-C6-Touch-LCD-1.54 board, note that this board uses the ESP32-C6, and the BOOT, USB, and UART assignments differ from those of ESP32-S3 series boards. Avoid connecting according to old board wiring to prevent functional issues.

Expansion Interface

TypeSignals
Power3V3 / GND
I2CSCL(GPIO7) / SDA(GPIO8)
UARTTX(GPIO16) / RX(GPIO17)
ControlCHIP_EN / CHG_STAT

GPIO Allocation

GPIOSignal NameConnected ToRemarks
GPIO0BAT_ADCBattery voltage divider samplingR29=200K, R31=100K; VBAT = VADC × 3
GPIO1LCD_CLK / SCKLCD SPI CLK / TF card SCKLCD and TF share SPI clock
GPIO2LCD_DIN / MOSILCD SPI MOSI / TF card MOSILCD and TF share SPI data
GPIO3LCD_DCLCD data/command-
GPIO4LCD_RSTLCD reset; touch reset network related-
GPIO5TP_INTTouch interrupt-
GPIO6LCD_BLLCD backlight control-
GPIO7SCL / TP_SCL / IMU_SCL / CODEC_SCLShared I2C SCLConnected to expansion port
GPIO8SDA / TP_SDA / IMU_SDA / CODEC_SDAShared I2C SDAConnected to expansion port
GPIO9BOOTBOOT buttonESP32-C6 download mode pin; low when pressed
GPIO10IMU_INTQMI8658 interrupt-
GPIO11LCD_CSLCD SPI chip select-
GPIO12USB_NUSB Type-C D-ESP32-C6 native USB
GPIO13USB_PUSB Type-C D+ESP32-C6 native USB
GPIO15PA_CTRLNS4150B amplifier controlAmplifier enable control
GPIO16MISO / ESP_TXDTF card MISO / UART TXShared with UART expansion function; beware of conflicts when using
GPIO17SDCS / ESP_RXDTF card CS / UART RXShared with UART expansion function; beware of conflicts when using
GPIO18KEY_PLUSOnboard buttonUser button / function key
GPIO19I2S_MCLKAudio MCLKES8311 / ES7210
GPIO20I2S_SCLKAudio BCLK/SCLKES8311 / ES7210
GPIO21I2S_ASDOUTAudio data outputCodec/ADC audio data
GPIO22I2S_LRCKAudio LRCK/WSES8311 / ES7210
GPIO23I2S_DSDINAudio data inputES8311 / ES7210

Dimensions

Development Methods

The ESP32-C6-LCD-1.54 and ESP32-C6-Touch-LCD-1.54 support two development frameworks: Arduino IDE and ESP-IDF, offering developers flexible choices. You can select the appropriate development tool based on project requirements 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.