


本节介绍 ESP32-C5-Touch-LCD-3.5 出厂固件中各应用(APP)的基本功能和使用方法。运行出厂固件前,请准备以下器件:
WLAN 界面,点击右上角的扫描按钮,即可扫描周围的 Wi-Fi 网络。若出现 无法识别端口 的情况,请进入 Boot 模式:
下载完成后,重新上电运行程序。
PWR 按键支持自定义功能。PWR 按键约 5~7 秒关机。PWR 按键即可开机。BOOT 按键除用于进入下载模式外,也可作为普通功能按键使用。出厂固件及其源码将在 相关资料 中提供。烧录方法参见 Flash 固件的烧录与擦除。
出厂固件采用 APP 风格界面,包含设置、摄像头、音乐播放器、传感器、绘画和 Mic 等 APP,可用于体验和验证开发板的主要板载资源。 产品上电后进入屏幕颜色循环测试界面。双击屏幕任意位置,可进入 APP 主界面。
WLAN 用于扫描并显示周围的 Wi-Fi 网络。Sound 和 Display 分别用于调节音量与屏幕亮度。




REC start 开始录音,录音文件保存在 Micro SD 卡的 /sdcard/recordings 目录中。Play recording 可播放已保存的录音文件。
本章节介绍 Arduino 开发环境配置方法和产品示例程序。
运行示例前,请确认以下条件已满足:
初次接触 Arduino ESP32 开发,想要快速上手?我们为您准备了一套通用的 入门教程。
请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。
参考 安装和配置 Arduino IDE 教程 完成安装。
在 Arduino IDE 的开发板管理器中安装 esp32 by Espressif Systems v3.3.10。
示例程序基于 Arduino ESP32 Core v3.3.10 开发并完成验证。使用其他版本时,可能无法正确识别 ESP32-C5 开发板,导致串口下载失败或无法烧录程序。
安装完成后,在 Arduino IDE 中设置:
| 设置项 | 选择 |
|---|---|
| Board | ESP32C5 Dev Module |
| Port | 开发板对应的 USB 串口 |
| USB CDC On Boot | Enabled |
USB CDC On Boot 用于通过 ESP32-C5 原生 USB 查看串口输出。如果开发板无法进入下载状态,请参考 产品 FAQ。

Arduino 示例包的 libraries 目录包含以下库:
| 库 | 版本 | 用途 |
|---|---|---|
SensorLib | 0.3.1 | 04_I2C_pcf85063 的 PCF85063 RTC 驱动 |
XPowersLib | 示例包内版本 | 06_axp2101_example 的 AXP2101 驱动 |
lvgl | 8.4.0 | 07_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 |
程序说明
示例通过 I2C 初始化 IO 扩展芯片,将 EXIO8~EXIO15 配置为输出,并每隔 1 秒在高、低电平之间切换。EXIO0~EXIO7 保持输入模式。
硬件连接
运行效果
串口每隔 1 秒交替输出:
EXIO8~EXIO15 output: LOW
EXIO8~EXIO15 output: HIGH

如果输出 IO extension not found at 0x24,请检查开发板供电及 GPIO27/GPIO26 对应的 I2C 配置。
程序说明
示例初始化 QMI8658 六轴传感器,然后在 FreeRTOS 任务中周期读取加速度和角速度数据。
硬件连接
运行效果
串口输出 QMI8658 初始化信息和传感器数据。转动开发板时,输出值随姿态变化。

程序说明
示例使用 SDSPI 挂载 Micro SD 卡,挂载点为 /sd_card,成功后输出卡类型和容量信息。
硬件连接
当 Micro SD 卡挂载失败时,当前示例配置会尝试格式化存储卡。运行前请备份卡内数据。
运行效果
挂载成功后,串口输出 Micro SD 卡类型和容量信息。

程序说明
示例初始化 PCF85063 RTC,并在每次启动时将时间写入为 2025-09-09 14:51:30。随后每隔 1 秒读取并输出一次 RTC 时间。
如需验证 RTC 持续走时,请注释 setup() 中的 i2c_rtc_setTime(),否则每次重启都会重新写入固定时间。
硬件连接
运行效果
串口每隔 1 秒输出一次 RTC 日期和时间。

程序说明
示例唤醒 SHTC3,读取传感器 ID 并执行软复位,然后每隔 1 秒读取一次温度和湿度。程序会校验传感器返回数据的 CRC。
硬件连接
运行效果
SHTC3 ID: 0xXXXX
Temperature: 25.00 C, Humidity: 50.00 %
实际数值由当前环境决定。如果输出 Failed to read SHTC3,请检查供电和 I2C 配置,然后重新上电测试。

程序说明
示例通过 I2C 初始化 AXP2101 电源管理芯片,输出各路 DCDC 和 LDO 的开关状态与电压。程序会监测 VBUS、电池、系统电压和芯片温度,并每隔 5 秒输出一次状态。
示例不会修改或关闭各路 DCDC/LDO 输出,充电参数设置为:
硬件连接
修改 AXP2101 充电电流或截止电压前,必须确认电池规格和硬件充电设计允许该参数。
运行效果
串口首先输出 AXP2101 芯片 ID 和各路电源轨状态,随后周期输出 VBUS、电池、系统电压和芯片温度。

周期状态输出
| 字段 | 可能结果 | 含义 |
|---|---|---|
VBUS | connected / disconnected | USB 或外部电源是否接入 VBUS |
valid | yes / no | VBUS 输入电压是否有效 |
| VBUS 电压 | 数值,mV | VBUS 输入电压 |
Battery | connected / disconnected | 电池是否连接 |
charging | yes / no | 是否正在充电 |
discharging | yes / no | 是否正在放电 |
| 电池电压 | 数值,mV | 当前电池电压 |
| 电量 | 0% 〜 100% | 估算电池电量,仅在检测到电池时输出 |
System | 数值,mV | PMU 系统供电电压,通常为 VSYS |
PMU temperature | 数值,°C | AXP2101 芯片内部温度 |
中断事件输出
| 输出信息 | 含义 |
|---|---|
Event: VBUS inserted | USB 或外部电源接入 |
Event: VBUS removed | USB 或外部电源拔出 |
Event: battery inserted | 电池插入 |
Event: battery removed | 电池移除 |
Event: charging started | 开始充电 |
Event: charging completed | 充电完成 |
Event: power key short press | 短按 PWR 按键 |
Event: power key long press | 长按 PWR 按键 |
程序说明
示例基于 LVGL v8.4.0 初始化 ST7796 LCD 和 FT6336 电容触摸芯片,用于验证屏幕显示、触摸输入和背光调节功能。
界面包含触摸测试按钮和背光滑块:
Touch test 按钮后,按钮文本显示累计点击次数。LCD 使用 60 MHz SPI 时钟和 RGB565 像素格式。LCD 复位、触摸复位和背光 PWM 由 IO 扩展芯片控制。
硬件连接
请使用示例包 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 开发环境配置方法和产品示例程序。
初次接触 ESP32 ESP-IDF 开发,想要快速上手?我们为您准备了一套通用的 入门教程。
请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。
以下内容以 Windows 系统为例,使用 VS Code + ESP-IDF 扩展 的方式进行开发。Mac/Linux 用户请参考 官方说明。
此部分图示以安装 ESP-IDF V5.5.2 为例示范,安装时请选用与您开发板示例匹配的 ESP-IDF 版本。
前往 ESP-IDF Installation Manager 下载 ESP-IDF 安装管理器。这是乐鑫最新推出的跨平台安装工具,下文将演示如何使用其离线安装功能。
在页面中点击 Offline Installer 标签,然后在筛选栏中选择 Windows 操作系统和你需要的 ESP-IDF 版本(图示仅为参考,请以实际为准)。

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

请耐心等待两个文件下载完成。
下载完成后,双击运行 ESP-IDF 安装器(eim-gui-windows-x64.exe)。
启动后,可在右上角将界面语言切换为中文。

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

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

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

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

下载并安装 Visual Studio Code。
安装时建议勾选 通过 Code 打开操作添加到 Windows 资源管理器文件上下文菜单,以便快速打开项目文件夹。
在 VS Code 中,点击侧边活动栏中的 扩展图标(或使用快捷键 Ctrl + Shift + X)打开 扩展 视图。
在搜索框中输入 ESP-IDF,找到 ESP-IDF 扩展并点击安装。

当 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 | 运行出厂图形界面和板载功能 APP | LCD、触摸、音频、摄像头、传感器、存储 |
| 02_lvgl_demo | 运行 LVGL Benchmark | LCD、背光、LVGL |
| 03_sd_card | 读写文件并校验内容 | Micro SD 卡、SDSPI |
| 04_qmi8658 | 周期读取六轴传感器 | QMI8658、I2C |
| 05_pcf85063 | 设置并周期读取 RTC | PCF85063、I2C |
| 06_shtc3 | 周期读取温湿度 | SHTC3、I2C |
| 07_exio | 循环翻转 EXIO8~EXIO15 | IO 扩展芯片、I2C |
| 08_AXP2101 | 读取电源和充电状态 | AXP2101、电源管理 |
程序说明
该工程是出厂固件源码,基于 ESP-Brookesia 创建 APP 风格界面。工程包含设置、照片、摄像头、音乐、传感器和绘图等应用,并调用 BSP 初始化显示、触摸、音频和存储设备。
出厂固件的操作方法参见 出厂固件使用说明。
程序说明
示例初始化 NVS、IO 扩展芯片、LCD 和背光,然后运行 lv_demo_benchmark()。该示例用于验证 320 × 480 LCD 和 LVGL 图形刷新。
硬件连接
运行效果
LCD 显示 LVGL Benchmark 测试界面,界面会自动切换不同的绘制场景。



程序说明
示例挂载 Micro SD 卡,在挂载点下创建 test.txt,写入测试内容,再读回并逐字节校验。写入与读取内容一致时,串口输出:
========== TF CARD TEST PASS ==========
硬件连接
运行效果

程序说明
示例通过 BSP 初始化 QMI8658,将加速度单位设为 m/s²,将角速度单位设为 dps。当有新数据时,程序输出 X、Y、Z 三轴数据,轮询间隔为 200 ms。
硬件连接
运行效果
转动开发板时,串口中的加速度和角速度值随姿态变化。

程序说明
示例在每次启动时将 PCF85063 RTC 设置为 2026-09-22 15:00:00,然后每隔 1 秒读取并输出日期、时间和星期。
如需验证 RTC 持续走时,请移除或注释 pcf85063a_set_time_date() 调用,否则每次启动都会写入固定时间。
硬件连接
运行效果
串口每隔 1 秒输出一次 RTC 日期、时间和星期。

程序说明
示例通过 BSP 初始化 SHTC3,然后每隔 1 秒读取并输出温度和相对湿度。
硬件连接
运行效果
正常输出格式如下,实际数值由当前环境决定:
Temperature: 25.00 C, Humidity: 50.00 %

程序说明
示例初始化 I2C 和 IO 扩展芯片,每隔 1 秒翻转 EXIO8~EXIO15 的输出电平。EXIO0~EXIO7 不参与此测试。
硬件连接
运行效果
启动后,串口输出:
Toggle EXIO8-15 every 1000 ms; EXIO0-7 excluded
程序说明
示例通过 I2C 初始化 AXP2101 电源管理芯片,输出各路 DCDC、ALDO、BLDO、CPUSLDO 和 DLDO 的开关状态与电压。程序还会启用 VBUS、电池、系统电压和芯片温度测量,并每隔 20 秒输出一次充电、放电、VBUS 和电池信息。
充电参数在示例中设置为:
硬件连接
修改 AXP2101 充电电流或截止电压前,必须确认电池规格和硬件充电设计允许该参数。
运行效果
串口输出各路电源轨状态、充放电状态、VBUS 电压、电池电压、系统电压和芯片温度。

测试固件还在整理中,发布后可从相关资料下载。
0x00以下步骤适用于烧录本页提供的固件。
下载并解压乐鑫官方烧录工具 Flash Download Tool(下载地址)
运行 Flash Download Tool,根据开发板的主控芯片与下载接口选择对应选项。下图以 ESP32-S3 与 USB 为例,实际选项以产品硬件设计为准

参数设置
0x00),同时勾选该行最左侧的复选框
等待烧录完成(烧录过程需要一定时间,请耐心等待)
按下复位键,观察运行现象

周一-周五(9:30-6:30)周六(9:30-5:30)
手机:13434470212
邮箱:services04@spotpear.cn
QQ:202004841
