ESP32-C5-Touch-LCD-3.5 使用教程

产品特性​

  • 采用 ESP32-C5-WROOM-1U 系列模组,搭载 RISC-V 32 位处理器,主频高达 240 MHz
  • 集成 384 KB SRAM、320 KB ROM、8 MB PSRAM 和 32 MB Flash,兼顾程序运行、图形界面和数据存储需求
  • 集成 2.4 GHz 与 5 GHz 双频 Wi-Fi、Bluetooth 5(LE)以及 IEEE 802.15.4(支持 Zigbee 3.0 和 Thread)无线通信
  • 板载摄像头接口,支持 BF3901 摄像头
  • 板载电池充电管理模块,预留 3.7 V MX1.25 锂电池接口,可外接电池供电
  • Type-C 接口用于供电、程序下载及通信
  • 板载 3.5 英寸电容触摸 IPS 屏,分辨率为 320 × 480,支持 262K 色显示
  • 内置 ST7796 显示驱动芯片和 FT6336 电容触摸芯片,分别使用 SPI 和 I2C 接口通信
  • 引出 UART、I2C 以及部分 IO 接口,集成全速 USB 串口
  • 板载 QMI8658 六轴传感器、PCF85063 RTC 芯片、SHTC3 温湿度传感器和 Micro SD 卡座等
  • 板载 PWR、BOOT 两个侧边按键,均支持自定义功能
  • 板载 ES8311 音频编解码芯片、NS4150B 功放芯片、麦克风和扬声器,可用于语音交互和音频播放
  • 支持 ESP-IDF、Arduino 等开发环境

板载资源​


  1. ESP32-C5-WROOM-1U 主控模组
  2. IPEX 1 代天线接口 用于连接配套的 FPC 双频 Wi-Fi 天线
  3. PWR 按键 可控制电源通断,支持自定义功能
  4. RESET 按键 用于复位开发板
  5. BOOT 按键 用于进入下载模式,也可作为普通按键使用
  6. Micro SD 卡槽 用于连接 Micro SD 卡
  7. MX1.25 锂电池接口 MX1.25 2 针连接器,可用于接入 3.7 V 锂电池,支持充放电
  8. MX1.25 2 针扬声器接口 音频输出接口,用于外接扬声器
  9. 2.54 mm 排座接口 引出可用 GPIO
  10. ES8311 低功耗音频编解码芯片
  11. PCF85063 RTC 时钟芯片
  12. 麦克风 用于音频输入
  13. AXP2101 高集成度电源管理芯片
  14. 电源指示灯 用于指示设备供电状态
  15. 摄像头座子 用于连接摄像头模组
  16. Type-C 接口 用于供电、程序下载及通信
  17. 充电指示灯 用于指示电池充电状态
  18. 3.5 英寸屏幕排线接口 用于连接 LCD
  19. QMI8658 六轴惯性测量单元(IMU),包含一个 3 轴陀螺仪和一个 3 轴加速度计
  20. 3.5 英寸屏幕触摸接口 用于连接触摸面板

接口介绍​


产品尺寸​


ESP32-C5-Touch-LCD-3.5 出厂固件使用说明

本节介绍 ESP32-C5-Touch-LCD-3.5 出厂固件中各应用(APP)的基本功能和使用方法。运行出厂固件前,请准备以下器件:

器件准备​

  • ESP32-C5-Touch-LCD-3.5 ×1
  • USB 数据线 ×1
  • Micro SD 卡 ×1(可选,拍照和录音时使用;建议使用 64 GB 及以下容量,并格式化为 FAT32)
  • BF3901 摄像头模组 ×1(可选,使用 Camera APP 时需要)

首次使用​

  1. 如需使用 Camera APP,请将 BF3901 摄像头模组连接到开发板。
  2. 如需使用拍照或录音功能,请插入 FAT32 格式的 Micro SD 卡。
  3. 使用 USB 数据线连接开发板与电脑,或接入 3.7 V 锂电池供电。
  4. 开机后等待系统初始化完成,即可在主界面选择对应的 APP。

Wi-Fi 扫描​

  • 进入 WLAN 界面,点击右上角的扫描按钮,即可扫描周围的 Wi-Fi 网络。

注意事项​

USB 下载注意事项​

开发板使用 USB 下载程序

若出现 无法识别端口 的情况,请进入 Boot 模式:

  1. 按住 BOOT 按键。
  2. 将开发板连接到电脑 USB 接口。
  3. 松开 BOOT 按键。

下载完成后,重新上电运行程序。

Micro SD 卡注意事项​

  • 使用摄像头和 Mic 等涉及文件存储的功能前,请先插入 Micro SD 卡。
  • 仅支持 FAT32 格式的 Micro SD 卡,建议使用 64GB 及以下容量。
  • 读写 Micro SD 卡时请勿直接拔卡,以免文件损坏。

PWR 按键​

  • PWR 按键支持自定义功能。
  • 无论单独使用 Type-C 或电池供电,还是同时接入 Type-C 和电池,均可长按 PWR 按键约 5~7 秒关机。
  • 关机状态下,短按一次 PWR 按键即可开机。
  • BOOT 按键除用于进入下载模式外,也可作为普通功能按键使用。

固件下载​

出厂固件及其源码将在 相关资料 中提供。烧录方法参见 Flash 固件的烧录与擦除。

示例介绍​

出厂固件采用 APP 风格界面,包含设置、摄像头、音乐播放器、传感器、绘画和 Mic 等 APP,可用于体验和验证开发板的主要板载资源。 产品上电后进入屏幕颜色循环测试界面。双击屏幕任意位置,可进入 APP 主界面。

APP 示例介绍​

提示
  • 点击主界面的 APP 图标即可进入对应应用。
  • 退出 APP 时,从屏幕底部向上滑动即可返回主界面。

Settings APP​

  • WLAN 用于扫描并显示周围的 Wi-Fi 网络。
  • Sound 和 Display 分别用于调节音量与屏幕亮度。
  • 还可进入电源管理、产品信息、RTC 和 EXIO 等页面查看或设置相关功能。

Camera APP​

  • 支持摄像头画面预览,点击 BOOT 按键即可拍照。
  • 拍摄的照片会自动保存至 Micro SD 卡,并可通过相册查看。

Music APP​

  • 支持播放存储在 SPIFFS 中的 MP3 格式音频文件。
  • 使用前请确认喇叭连接正常,点击播放按钮即可播放音频。
  • 当前示例内置三首音频,支持播放、暂停以及通过左右切换按钮选择上一首或下一首。

Sensor APP​

  • 实时显示 QMI8658 六轴传感器的加速度、角速度和芯片温度数据。
  • 同时显示 SHTC3 采集的环境温度与湿度数据。
  • 转动开发板或改变周围环境后,界面数据会随之更新。

Draw APP​

  • 支持通过触摸屏进行自由绘画。
  • 可用于体验绘画功能或快速检查触摸位置是否正常。

Mic APP​

  • 支持通过板载麦克风录制音频,录音参数为 16 kHz、单声道、16 位。
  • 点击 REC start 开始录音,录音文件保存在 Micro SD 卡的 /sdcard/recordings 目录中。
  • 点击 Play recording 可播放已保存的录音文件。


Arduino 开发

本章节介绍 Arduino 开发环境配置方法和产品示例程序。

阅读前准备

运行示例前,请确认以下条件已满足:

  • 已准备 ESP32-C5-Touch-LCD-3.5 开发板和支持数据传输的 USB 线。
  • 已安装 Arduino IDE。
  • 已安装 Arduino ESP32 Core v3.3.10。
  • 运行 Micro SD 卡示例前,已插入 Micro SD 卡。

Arduino 入门教程​

初次接触 Arduino ESP32 开发,想要快速上手?我们为您准备了一套通用的 入门教程。

请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。

配置开发环境​

1. 安装 Arduino IDE​

参考 安装和配置 Arduino IDE 教程 完成安装。

2. 安装 ESP32 开发板支持包​

在 Arduino IDE 的开发板管理器中安装 esp32 by Espressif Systems v3.3.10。

版本要求

示例程序基于 Arduino ESP32 Core v3.3.10 开发并完成验证。使用其他版本时,可能无法正确识别 ESP32-C5 开发板,导致串口下载失败或无法烧录程序。

安装完成后,在 Arduino IDE 中设置:

设置项选择
BoardESP32C5 Dev Module
Port开发板对应的 USB 串口
USB CDC On BootEnabled

USB CDC On Boot 用于通过 ESP32-C5 原生 USB 查看串口输出。如果开发板无法进入下载状态,请参考 产品 FAQ。


3. 安装示例依赖​

Arduino 示例包的 libraries 目录包含以下库:

库版本用途
SensorLib0.3.104_I2C_pcf85063 的 PCF85063 RTC 驱动
XPowersLib示例包内版本06_axp2101_example 的 AXP2101 驱动
lvgl8.4.007_lvgl_demo 的图形界面库

将需要的库目录完整复制到 Arduino Sketchbook 下的 libraries 目录,然后重启 Arduino IDE。Windows 默认路径通常为:

C:\Users\<用户名>\Documents\Arduino\libraries

示例程序​

Arduino 示例位于产品 示例程序包 的 example/Arduino-v3.3.10/example 目录。每个子目录都是独立工程,请打开与目录同名的 .ino 文件。

示例列表​

示例目录功能主要验证内容
01_exio循环翻转 EXIO8~EXIO15 输出电平IO 扩展芯片、I2C
02_I2C_qmi8658读取加速度和角速度QMI8658、I2C
03_SD_Card挂载 Micro SD 卡并输出容量信息Micro SD 卡、SDSPI
04_I2C_pcf85063设置并周期读取 RTC 时间PCF85063、I2C
05_shtc3读取环境温度和湿度SHTC3、I2C、CRC 校验
06_axp2101_example读取电源和充电状态AXP2101、电源管理
07_lvgl_demo显示 LVGL 界面并测试触摸与背光调节ST7796、FT6336、LVGL

01_exio​

程序说明

示例通过 I2C 初始化 IO 扩展芯片,将 EXIO8~EXIO15 配置为输出,并每隔 1 秒在高、低电平之间切换。EXIO0~EXIO7 保持输入模式。

硬件连接

  • 将开发板通过 USB 连接到电脑。

运行效果

串口每隔 1 秒交替输出:

EXIO8~EXIO15 output: LOW
EXIO8~EXIO15 output: HIGH

如果输出 IO extension not found at 0x24,请检查开发板供电及 GPIO27/GPIO26 对应的 I2C 配置。

02_I2C_qmi8658​

程序说明

示例初始化 QMI8658 六轴传感器,然后在 FreeRTOS 任务中周期读取加速度和角速度数据。

硬件连接

  • 将开发板通过 USB 连接到电脑。

运行效果

串口输出 QMI8658 初始化信息和传感器数据。转动开发板时,输出值随姿态变化。


03_SD_Card​

程序说明

示例使用 SDSPI 挂载 Micro SD 卡,挂载点为 /sd_card,成功后输出卡类型和容量信息。

硬件连接

  • 将开发板通过 USB 连接到电脑。
  • 将 FAT32 格式的 Micro SD 卡插入卡槽。
挂载失败时的格式化行为

当 Micro SD 卡挂载失败时,当前示例配置会尝试格式化存储卡。运行前请备份卡内数据。

运行效果

挂载成功后,串口输出 Micro SD 卡类型和容量信息。


04_I2C_pcf85063​

程序说明

示例初始化 PCF85063 RTC,并在每次启动时将时间写入为 2025-09-09 14:51:30。随后每隔 1 秒读取并输出一次 RTC 时间。

如需验证 RTC 持续走时,请注释 setup() 中的 i2c_rtc_setTime(),否则每次重启都会重新写入固定时间。

硬件连接

  • 将开发板通过 USB 连接到电脑。

运行效果

串口每隔 1 秒输出一次 RTC 日期和时间。


05_shtc3​

程序说明

示例唤醒 SHTC3,读取传感器 ID 并执行软复位,然后每隔 1 秒读取一次温度和湿度。程序会校验传感器返回数据的 CRC。

硬件连接

  • 将开发板通过 USB 连接到电脑。

运行效果

SHTC3 ID: 0xXXXX
Temperature: 25.00 C, Humidity: 50.00 %

实际数值由当前环境决定。如果输出 Failed to read SHTC3,请检查供电和 I2C 配置,然后重新上电测试。


06_axp2101_example​

程序说明

示例通过 I2C 初始化 AXP2101 电源管理芯片,输出各路 DCDC 和 LDO 的开关状态与电压。程序会监测 VBUS、电池、系统电压和芯片温度,并每隔 5 秒输出一次状态。

示例不会修改或关闭各路 DCDC/LDO 输出,充电参数设置为:

  • 预充电电流:50 mA
  • 恒流充电电流:400 mA
  • 终止电流:25 mA
  • 充电截止电压:4.2 V

硬件连接

  • 将开发板通过 USB 连接到电脑。
  • 如需查看电池电压、电量百分比或充放电状态,将符合产品要求的 3.7 V 锂电池连接到电池接口。
保留充电参数限制

修改 AXP2101 充电电流或截止电压前,必须确认电池规格和硬件充电设计允许该参数。

运行效果

串口首先输出 AXP2101 芯片 ID 和各路电源轨状态,随后周期输出 VBUS、电池、系统电压和芯片温度。


周期状态输出

字段可能结果含义
VBUSconnected / disconnectedUSB 或外部电源是否接入 VBUS
validyes / noVBUS 输入电压是否有效
VBUS 电压数值,mVVBUS 输入电压
Batteryconnected / disconnected电池是否连接
chargingyes / no是否正在充电
dischargingyes / no是否正在放电
电池电压数值,mV当前电池电压
电量0% 〜 100%估算电池电量,仅在检测到电池时输出
System数值,mVPMU 系统供电电压,通常为 VSYS
PMU temperature数值,°CAXP2101 芯片内部温度

中断事件输出

输出信息含义
Event: VBUS insertedUSB 或外部电源接入
Event: VBUS removedUSB 或外部电源拔出
Event: battery inserted电池插入
Event: battery removed电池移除
Event: charging started开始充电
Event: charging completed充电完成
Event: power key short press短按 PWR 按键
Event: power key long press长按 PWR 按键

07_lvgl_demo​

程序说明

示例基于 LVGL v8.4.0 初始化 ST7796 LCD 和 FT6336 电容触摸芯片,用于验证屏幕显示、触摸输入和背光调节功能。

界面包含触摸测试按钮和背光滑块:

  • 点击 Touch test 按钮后,按钮文本显示累计点击次数。
  • 拖动背光滑块可在 10%~100% 范围内调节屏幕亮度。

LCD 使用 60 MHz SPI 时钟和 RGB565 像素格式。LCD 复位、触摸复位和背光 PWM 由 IO 扩展芯片控制。

硬件连接

  • 将开发板通过 USB 连接到电脑。
  • 本示例不需要插入 Micro SD 卡。
LVGL 版本

请使用示例包 libraries/lvgl 目录中的 LVGL v8.4.0。LVGL v9 的显示和输入设备接口与本示例不兼容。lv_conf.h 必须保留在 07_lvgl_demo 目录中。

运行效果

屏幕显示开发板型号、LCD 和触摸状态、触摸测试按钮以及背光滑块。串口初始化成功后输出:

Touch controller FT6336 initialized
ESP-IDF LCD IO + LVGL demo started


ESP-IDF 开发

本章节介绍 ESP-IDF 开发环境配置方法和产品示例程序。

ESP-IDF 入门教程​

初次接触 ESP32 ESP-IDF 开发,想要快速上手?我们为您准备了一套通用的 入门教程。

请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。

配置 ESP-IDF 开发环境​

备注

以下内容以 Windows 系统为例,使用 VS Code + ESP-IDF 扩展 的方式进行开发。Mac/Linux 用户请参考 官方说明。

版本选择

此部分图示以安装 ESP-IDF V5.5.2 为例示范,安装时请选用与您开发板示例匹配的 ESP-IDF 版本。

安装 ESP-IDF 开发环境​

  1. 前往 ESP-IDF Installation Manager 下载 ESP-IDF 安装管理器。这是乐鑫最新推出的跨平台安装工具,下文将演示如何使用其离线安装功能。

    在页面中点击 Offline Installer 标签,然后在筛选栏中选择 Windows 操作系统和你需要的 ESP-IDF 版本(图示仅为参考,请以实际为准)。


    确认选择无误后,点击下载按钮。浏览器将自动同时下载两个文件:一个是 ESP-IDF 离线整合包(.zst),另一个是 ESP-IDF 安装器(.exe)。


    请耐心等待两个文件下载完成。

  2. 下载完成后,双击运行 ESP-IDF 安装器(eim-gui-windows-x64.exe)。

    启动后,可在右上角将界面语言切换为中文。


    安装工具会自动检测同一目录下是否存在离线整合包。点击 从存档安装。


    接下来,选择安装路径。建议使用默认路径;若需自定义,请确保路径中不包含中文或空格。确认无误后,点击 开始安装。


  3. 当看到如下界面时,表示 ESP-IDF 已安装成功。


  4. 建议同时安装驱动程序。点击 完成安装,然后点击 安装驱动程序。


安装 Visual Studio Code 与 ESP-IDF 扩展​

  1. 下载并安装 Visual Studio Code。

  2. 安装时建议勾选 通过 Code 打开操作添加到 Windows 资源管理器文件上下文菜单,以便快速打开项目文件夹。

  3. 在 VS Code 中,点击侧边活动栏中的 扩展图标 扩展图标(或使用快捷键 Ctrl + Shift + X)打开 扩展 视图。

  4. 在搜索框中输入 ESP-IDF,找到 ESP-IDF 扩展并点击安装。


  5. 当 ESP-IDF 扩展版本 ≥ 2.0 时,扩展会自动检测并识别上述步骤中安装的 ESP-IDF 环境,无需手动配置。

版本要求

本产品示例目录名为 ESP-IDF-V554,示例按 ESP-IDF v5.5.4 配置,目标芯片为 esp32c5。使用其他 ESP-IDF 版本时,组件依赖和接口可能不一致。

编译和烧录示例​

ESP-IDF 示例位于产品 示例程序包 的 example/ESP-IDF-V554 目录。每个子目录都是独立工程。

在 ESP-IDF v5.5.4 命令行环境中进入需要运行的工程目录,执行:

idf.py set-target esp32c5
idf.py build
idf.py -p PORT flash monitor

将 PORT 替换为开发板对应的串口,例如 Windows 下的 COM8。按 Ctrl+] 退出串口监视器。

已提供工程配置

示例工程已包含 sdkconfig 和 sdkconfig.defaults。如果修改了 ESP-IDF 版本或工程配置,请根据编译输出检查目标芯片、Flash 和 PSRAM 设置。

示例程序​

示例列表​

示例目录功能主要验证内容
01_factory运行出厂图形界面和板载功能 APPLCD、触摸、音频、摄像头、传感器、存储
02_lvgl_demo运行 LVGL BenchmarkLCD、背光、LVGL
03_sd_card读写文件并校验内容Micro SD 卡、SDSPI
04_qmi8658周期读取六轴传感器QMI8658、I2C
05_pcf85063设置并周期读取 RTCPCF85063、I2C
06_shtc3周期读取温湿度SHTC3、I2C
07_exio循环翻转 EXIO8~EXIO15IO 扩展芯片、I2C
08_AXP2101读取电源和充电状态AXP2101、电源管理

01_factory​

程序说明

该工程是出厂固件源码,基于 ESP-Brookesia 创建 APP 风格界面。工程包含设置、照片、摄像头、音乐、传感器和绘图等应用,并调用 BSP 初始化显示、触摸、音频和存储设备。

出厂固件的操作方法参见 出厂固件使用说明。

02_lvgl_demo​

程序说明

示例初始化 NVS、IO 扩展芯片、LCD 和背光,然后运行 lv_demo_benchmark()。该示例用于验证 320 × 480 LCD 和 LVGL 图形刷新。

硬件连接

  • 将开发板通过 USB 连接到电脑。

运行效果

LCD 显示 LVGL Benchmark 测试界面,界面会自动切换不同的绘制场景。


03_sd_card​

程序说明

示例挂载 Micro SD 卡,在挂载点下创建 test.txt,写入测试内容,再读回并逐字节校验。写入与读取内容一致时,串口输出:

========== TF CARD TEST PASS ==========

硬件连接

  • 将开发板通过 USB 连接到电脑。
  • 将 FAT32 格式的 Micro SD 卡插入卡槽。

运行效果


04_qmi8658​

程序说明

示例通过 BSP 初始化 QMI8658,将加速度单位设为 m/s²,将角速度单位设为 dps。当有新数据时,程序输出 X、Y、Z 三轴数据,轮询间隔为 200 ms。

硬件连接

  • 将开发板通过 USB 连接到电脑。

运行效果

转动开发板时,串口中的加速度和角速度值随姿态变化。


05_pcf85063​

程序说明

示例在每次启动时将 PCF85063 RTC 设置为 2026-09-22 15:00:00,然后每隔 1 秒读取并输出日期、时间和星期。

如需验证 RTC 持续走时,请移除或注释 pcf85063a_set_time_date() 调用,否则每次启动都会写入固定时间。

硬件连接

  • 将开发板通过 USB 连接到电脑。

运行效果

串口每隔 1 秒输出一次 RTC 日期、时间和星期。

06_shtc3​

程序说明

示例通过 BSP 初始化 SHTC3,然后每隔 1 秒读取并输出温度和相对湿度。

硬件连接

  • 将开发板通过 USB 连接到电脑。

运行效果

正常输出格式如下,实际数值由当前环境决定:

Temperature: 25.00 C, Humidity: 50.00 %

07_exio​

程序说明

示例初始化 I2C 和 IO 扩展芯片,每隔 1 秒翻转 EXIO8~EXIO15 的输出电平。EXIO0~EXIO7 不参与此测试。

硬件连接

  • 将开发板通过 USB 连接到电脑。

运行效果

启动后,串口输出:

Toggle EXIO8-15 every 1000 ms; EXIO0-7 excluded

08_AXP2101​

程序说明

示例通过 I2C 初始化 AXP2101 电源管理芯片,输出各路 DCDC、ALDO、BLDO、CPUSLDO 和 DLDO 的开关状态与电压。程序还会启用 VBUS、电池、系统电压和芯片温度测量,并每隔 20 秒输出一次充电、放电、VBUS 和电池信息。

充电参数在示例中设置为:

  • 预充电电流:50 mA
  • 恒流充电电流:400 mA
  • 终止电流:25 mA
  • 充电截止电压:4.2 V

硬件连接

  • 将开发板通过 USB 连接到电脑。
  • 如需查看电池电压、电量百分比或充放电状态,将符合产品要求的 3.7 V 锂电池连接到电池接口。
保留充电参数限制

修改 AXP2101 充电电流或截止电压前,必须确认电池规格和硬件充电设计允许该参数。

运行效果

串口输出各路电源轨状态、充放电状态、VBUS 电压、电池电压、系统电压和芯片温度。



ESP32-C5-Touch-LCD-3.5 Flash 固件的烧录与擦除

测试固件还在整理中,发布后可从相关资料下载。

  • 烧录地址:0x00

以下步骤适用于烧录本页提供的固件。

  • 下载并解压乐鑫官方烧录工具 Flash Download Tool(下载地址)

  • 运行 Flash Download Tool,根据开发板的主控芯片与下载接口选择对应选项。下图以 ESP32-S3 与 USB 为例,实际选项以产品硬件设计为准


  • 参数设置

    • 选择与开发板所对应的 COM 口
    • 选择 BAUD 为最高的 1152000
    • 点击该行的“...”按钮,选择微雪提供的 bin 文件,并在其右侧手动填写本页上方给出的烧录地址(比如 0x00),同时勾选该行最左侧的复选框
    • 点击 START 开始烧录


  • 等待烧录完成(烧录过程需要一定时间,请耐心等待)

  • 按下复位键,观察运行现象



相关资料

1. 示例程序​

2. 硬件资料​

3. 技术手册​

4. 软件工具​

5. 其他资料​


技术支持

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841