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

产品特性

  • 搭载一个高性能 RISC-V 32 位处理器和一个低功耗 RISC-V 32 位处理器,高性能处理器主频最高可达 240 MHz,低功耗处理器时钟可达 48 MHz
  • 集成 Wi-Fi 6、蓝牙 5 和 IEEE 802.15.4 (Zigbee 3.0 和 Thread) 无线通信
  • 板载 320 KB ROM、384 KB HP SRAM、16 KB LP SRAM 和外接 16 MB Flash
  • 采用 Type-C 接口
  • 板载 1.69 英寸 LCD 屏,240 × 280 分辨率,262K 彩色,能清晰地显示彩色图片
  • 内置 ST7789V2 驱动芯片,使用 SPI 接口通信,不占用过多接口引脚资源
  • 板载 QMI8658 六轴惯性测量单元(3 轴加速度、3 轴陀螺仪),可检测运动姿态、计步等
  • 板载 PCF85063 RTC 芯片,可方便实现 RTC 功能需求
  • 板载 RST、BOOT 和一个可自定义功能的侧边按钮,方便使用按钮进行自定义功能开发
  • 板载 3.7V MX1.25 锂电池充放电接口
  • 板载 ES8311 音频编解码芯片、麦克风和喇叭,可用于小智 AI 等语音应用
  • 引出 GPIO、I2C、USB 和 UART 焊盘,可供外接设备和调试使用,灵活配置外设功能
  • 支持灵活时钟、模块电源单独设置等控制,实现多场景低功耗模式

板载资源


  1. ESP32-C5HR8 采用 RISC-V 32 位处理器,集成 384 KB HP SRAM、320 KB ROM,支持 2.4 GHz/5 GHz 双频 Wi-Fi 6、蓝牙 5 (LE) 和 IEEE 802.15.4 (Zigbee 3.0、Thread)

  2. DCDC 升降压芯片

  3. 贴片天线座 IPEX 4 代

  4. 16 MB Flash 存储芯片

  5. ETA6098 充电管理芯片

  6. BQ27220 电量计 可提供电池容量信息

  7. MX1.25 锂电池接口 MX1.25 2P 连接器,可用于接入 3.7 V 锂电池,支持充放电

  8. Type-C 接口,用于烧录程序和日志打印

  9. QMI8658 六轴惯性测量单元(IMU),包含一个 3 轴陀螺仪和一个 3 轴加速度计

  10. MX1.25 喇叭接口

  11. SH1.0 RTC 电池接口 可以接入 CR2032 带 1.0 正向插头

  12. ES8311(背面) 音频采集和编解码芯片

  13. LCD 屏幕接口 用于连接 LCD 显示屏

  14. 单麦克风 用于音频信号的采集

  15. PCF85063 RTC 时钟芯片

  16. RST 按键 复位按键,也可配合 BOOT 按键进入下载模式

  17. BOOT 按键 可作为自定义按键使用

  18. PWR 按键 长按三秒可实现开关机功能

引脚定义


产品尺寸


Arduino 开发

本章节包含以下部分,请按需阅读:

Arduino 入门教程

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

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

配置开发环境

安装 Arduino IDE

请参考 安装和配置 Arduino IDE 教程 安装 Arduino IDE,并添加 ESP32 开发板支持。

选择开发板和端口

连接 ESP32-C5-Touch-LCD-1.69 到电脑后,在"工具"菜单中选择对应的串口号。

安装示例库

Arduino 示例位于工程的 example/arduino/examples 目录。运行示例前,先解压 example/arduino/ESP32_C5_Touch_LCD_1in69.zip,再将解压后的库放入 Arduino 默认的 libraries 目录。

Arduino 库文件夹通常位于:

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

也可以在 Arduino IDE 中通过"文件 > 首选项"查看"项目文件夹位置",并在该路径下找到 libraries 文件夹。

示例程序

示例程序基础例程说明
01_RGB_Test屏幕刷色测试
02_Mic_Speaker_Test麦克风与扬声器测试
03_IMU_TestIMU 测试
04_Bat_Test电池检测测试
05_RTC_TestRTC 测试
06_LVGL_Demo_TestLVGL 示例测试

01_RGB_Test

硬件连接

  • 使用 USB 线将开发板接入电脑。

代码分析

RGB 刷色测试代码

代码解释

  • Colors[] / ColorNames[]:RGB565 颜色值和名称数组(红/绿/蓝/白/黑),用于循环刷屏。
  • bsp_display_init():初始化 SPI 总线和 ST7789 LCD 面板。
  • bsp_display_backlight_on():点亮 LCD 背光。
  • bsp_display_brightness_set(100):设置背光亮度为 100%。
  • bsp_display_fill(Colors[color_index]):用指定 RGB565 颜色填充整屏。
  • Serial.printf(...):通过串口输出当前颜色名称和索引,便于调试。

运行效果

  • 屏幕依次显示红、绿、蓝、白、黑五种纯色,每种停留 2 秒后切换。
  • 串口每 2 秒输出一次当前颜色名称和索引。



02_Mic_Speaker_Test

硬件连接

  • 使用 USB 线将开发板接入电脑。

代码分析

麦克风回环播放代码

代码解释

  • bsp_audio_init():初始化 I2S 总线和 ES8311 编解码器。
  • bsp_audio_set_speaker_volume(70):设置扬声器音量为 70。
  • bsp_audio_set_mic_gain(18):设置麦克风增益为 18dB。
  • bsp_audio_read(audio_buffer, ...):从麦克风读取 1024 字节音频数据。
  • bsp_audio_write(audio_buffer, ...):将读取的音频数据写入扬声器,实现实时回环。

运行效果

  • 串口输出 microphone loopback to speaker
  • 对着麦克风说话,可从扬声器实时听到回放声音。

03_IMU_Test

硬件连接

  • 使用 USB 线将开发板接入电脑。

代码分析

QMI8658 初始化与数据读取代码

代码解释

  • bsp_i2c_init():初始化 I2C 总线(SDA=GPIO8,SCL=GPIO9,400kHz)。
  • imu.init(imu_calibration, QMI8658_I2C_ADDRESS):初始化 QMI8658,I2C 地址 0x6B。
  • imu.setAccelRange(8) / imu.setGyroRange(512):设置加速度量程 ±8g、陀螺仪量程 ±512dps。
  • imu.setAccelODR(1000) / imu.setGyroODR(1000):设置加速度和陀螺仪输出数据率为 1000Hz。
  • imu.update():更新传感器数据。
  • imu.getAccel(&accel_data) / imu.getGyro(&gyro_data):读取加速度和陀螺仪数据。
  • imu.getTemp():读取温度数据。

运行效果

  • 串口输出 QMI8658 ready 后,每 100ms 输出一行加速度(g)、陀螺仪(dps)和温度(℃)数据。
  • 轻微倾斜或转动开发板时,加速度和陀螺仪数据会随姿态变化。



04_Bat_Test

硬件连接

  • 使用 USB 线将开发板接入电脑。
  • 连接锂电池到开发板。

代码分析

电池信息读取与显示代码

代码解释

  • bsp_display_start_partial(&battery_display_cfg):以局部刷新模式启动 LVGL,减少显存占用。
  • bsp_bat_init(battery_capacity_mah):初始化 BQ27220 电量计,设置电池容量为 1500mAh。
  • bsp_get_bat_info(&bat_info):读取电池信息(电压/电流/SOC/温度等)。
  • bsp_display_lock(0) / bsp_display_unlock():获取/释放 LVGL 互斥锁,确保线程安全。
  • lv_label_set_text_fmt(battery_label, ...):格式化并更新电池信息标签。
  • bat_info_changed(...):判断电池数据是否变化,避免无意义刷新。

运行效果

  • 屏幕显示电池状态信息:状态(Charging/Discharging/Idle)、电压(mV)、电流(mA)、SOC(%)、温度(℃)、容量(mAh)。
  • 串口同步输出电池数据。
  • 接入电池后,电流不为 0 时状态为 Charging 或 Discharging;未接电池或充满时状态为 Idle。



05_RTC_Test

硬件连接

  • 使用 USB 线将开发板接入电脑。

代码分析

RTC 初始化与时间读取代码

代码解释

  • bsp_i2c_init():初始化 I2C 总线。
  • rtc.begin():初始化 PCF85063A RTC 芯片。
  • rtc.oscillator_stop():检测 RTC 是否停振(掉电),返回 true 表示时间丢失。
  • rtc_set_to_build_time():使用编译时间(__DATE__ / __TIME__)设置 RTC 时间。
  • rtc.time(NULL):读取 RTC 时间戳。
  • localtime(&current_time):将时间戳转换为本地时间结构体,便于格式化输出。

运行效果

  • 串口输出 RTC running 或 RTC lost power, set to build time
  • 随后每秒输出一次 YYYY-MM-DD HH:MM:SS 格式的时间。



06_LVGL_Demo_Test

硬件连接

  • 使用 USB 线将开发板接入电脑。

代码分析

LVGL Benchmark 初始化代码

代码解释

  • bsp_display_start_full_frame(&lgvl_config):以全帧模式启动 LVGL,启用 PSRAM、双缓冲和全刷新,获得最佳显示效果。
  • bsp_display_brightness_set(100):设置背光亮度为 100%。
  • bsp_display_lock(0) / bsp_display_unlock():获取/释放 LVGL 互斥锁,确保 UI 操作线程安全。
  • lv_demo_benchmark_set_max_speed(true):设置 benchmark 为最大速度模式。
  • lv_demo_benchmark():启动 LVGL benchmark 跑分演示。

运行效果

  • 屏幕依次显示 LVGL benchmark 各项测试画面(矩形、阴影、文字、图片、动画等渲染性能测试)。
  • 测试完成后显示各项 FPS 评分汇总。


ESP-IDF 开发

本章节包含以下内容,请按需阅读:

ESP-IDF 入门教程

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

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

配置 ESP-IDF 开发环境

信息

ESP32-C5-Touch-LCD-1.69 示例工程需要 ESP-IDF v5.3 或更新版本。

备注

以下内容以 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 环境,无需手动配置。

注意

若安装失败或需重装,可尝试删除 C:\Users\%Username%\esp 与 C:\Users\%Username%\.espressif 后重试。

编译和烧录

进入 ESP-IDF 示例工程目录后执行:

cd example/esp-idf
idf.py build flash monitor

如果需要指定串口,请将 COMx 替换为实际串口号,例如 COM5

idf.py -p COMx build flash monitor

示例程序

ESP-IDF 示例位于工程的 example/esp-idf/main/examples 目录,工程入口为 example/esp-idf/main/main.c。同一时间只保留一个示例或应用宏为 1,其他宏保持为 0

#define EXAMPLE_RGB_TEST 1
#define EXAMPLE_MIC_SPEAKER_TEST 0
#define EXAMPLE_IMU_TEST 0
#define EXAMPLE_BAT_TEST 0
#define EXAMPLE_RTC_TEST 0
#define EXAMPLE_LVGL_DEMO_TEST 0
#define EXAMPLE_Brookesia_TEST 0

#define APPS_WIFI_Connect 0
#define APPS_Clock 0
#define APPS_Honeycomb_Demo 0

默认配置运行 RGB 刷色测试。如需运行其他示例,将目标示例对应宏改为 1,并将其他宏改为 0

示例程序基础例程说明
01_RGB_Test屏幕刷色测试
02_Mic_Speaker_Test麦克风与扬声器测试
03_IMU_TestIMU 测试
04_Bat_Test电池检测测试
05_RTC_TestRTC 测试
06_LVGL_Demo_TestLVGL 示例测试
07_Brookesia_TestBrookesia 示例测试
08_WIFI_ConnectWi-Fi 配网应用
09_Clock_Display时钟显示应用
10_Honeycomb_Demo蜂窝图标交互演示

01_RGB_Test

硬件连接

  • 使用 USB 线将开发板接入电脑。

代码分析

RGB 刷色测试代码

代码解释

  • bsp_display_new(&display_cfg, &panel, NULL):初始化 LCD 面板,返回 panel 句柄。
  • bsp_display_brightness_init() / bsp_display_brightness_set(100):初始化并设置背光亮度为 100%。
  • heap_caps_malloc(..., MALLOC_CAP_DMA):分配 DMA 兼容的绘制缓冲区,用于批量像素传输。
  • rgb_test_draw_color(panel, draw_buffer, colors[color_index]):将指定颜色按 20 行分块写入 LCD,逐块刷新整屏。
  • vTaskDelay(pdMS_TO_TICKS(RGB_TEST_DELAY_MS)):每种颜色停留 1 秒。

运行效果

  • 屏幕依次显示红、绿、蓝三种颜色,每种停留 1 秒后切换。
  • 串口每秒输出一次当前颜色名称。



02_Mic_Speaker_Test

硬件连接

  • 使用 USB 线将开发板接入电脑。

代码分析

麦克风回环播放代码

代码解释

  • bsp_audio_init(NULL):初始化 I2S 总线和 ES8311 编解码器。
  • bsp_audio_codec_speaker_init() / bsp_audio_codec_microphone_init():分别初始化扬声器和麦克风编解码设备。
  • esp_codec_dev_open(speaker, &codec_fs):以 16bit 单声道格式打开扬声器设备。
  • esp_codec_dev_set_out_vol(speaker, 70):设置扬声器音量为 70。
  • esp_codec_dev_set_in_gain(microphone, 18):设置麦克风增益为 18dB。
  • esp_codec_dev_read(...) / esp_codec_dev_write(...):从麦克风读取 1024 字节数据并写入扬声器,实现实时回环。

运行效果

  • 串口输出 microphone loopback to speaker
  • 对着麦克风说话,可从扬声器实时听到回放声音。

03_IMU_Test

硬件连接

  • 使用 USB 线将开发板接入电脑。

代码分析

QMI8658 数据读取代码

代码解释

  • bsp_i2c_init():初始化 I2C 总线(SDA=GPIO8,SCL=GPIO9,400kHz)。
  • bsp_qmi8658_init():初始化 QMI8658 六轴传感器,I2C 地址 0x6B。
  • bsp_qmi8658_get_data(&data):读取加速度、陀螺仪和温度数据到 qmi8658_data_t 结构体。
  • ESP_LOGI(TAG, ...):通过串口输出加速度(m/s²)、陀螺仪(rad/s)和温度(℃)数据。
  • vTaskDelay(pdMS_TO_TICKS(IMU_TEST_DELAY_MS)):按宏设定的间隔读取一次数据。

运行效果

  • 串口每 500ms 输出一行加速度、陀螺仪和温度数据。
  • 轻微倾斜或转动开发板时,数据会随姿态变化。



04_Bat_Test

硬件连接

  • 使用 USB 线将开发板接入电脑。
  • 连接锂电池到开发板。

代码分析

电池信息读取与显示代码

代码解释

  • bsp_display_start():启动 LVGL 显示。
  • bsp_bat_init(battery_capacity_mah):初始化 BQ27220 电量计,设置电池容量(入口参数传入,默认 1000mAh)。
  • bsp_get_bat_info(&bat_info):读取电池信息(电压/电流/SOC/温度/容量等)。
  • bsp_display_lock(0) / bsp_display_unlock():获取/释放 LVGL 互斥锁,确保 UI 操作线程安全。
  • lv_label_set_text_fmt(label, ...):格式化并更新电池信息标签,包含状态、电压、电流、SOC、温度和容量。

运行效果

  • 屏幕显示电池状态信息:状态(Charging/Discharging/Idle)、电压(mV)、电流(mA)、SOC(%)、温度(℃)、容量(mAh)。
  • 串口同步输出电池数据。
  • 接入电池后,电流不为 0 时状态为 Charging 或 Discharging;未接电池或充满时状态为 Idle。



05_RTC_Test

硬件连接

  • 使用 USB 线将开发板接入电脑。

代码分析

RTC 初始化与时间读取代码

代码解释

  • bsp_rtc_init():初始化 PCF85063A RTC 芯片。
  • bsp_set_rtc_time_date(time):设置 RTC 初始时间(示例中设为 2026-01-01 12:00:00)。
  • bsp_get_rtc_time_date(&time):从 RTC 读取当前时间到 pcf85063a_datetime_t 结构体。
  • bsp_datetime_to_str(datetime_str, ...):将时间结构体转换为字符串,便于输出显示。
  • vTaskDelay(pdMS_TO_TICKS(RTC_TEST_DELAY_MS)):按宏设定的间隔读取一次时间。

运行效果

  • 串口每秒输出一次 rtc time: YYYY-MM-DD HH:MM:SS 格式的时间。



06_LVGL_Demo_Test

硬件连接

  • 使用 USB 线将开发板接入电脑。

代码分析

LVGL Widgets Demo 代码

代码解释

  • bsp_display_start():启动 LVGL 显示,初始化 LCD 面板和 LVGL 核心。
  • bsp_display_brightness_set(100):设置背光亮度为 100%。
  • bsp_display_lock(0) / bsp_display_unlock():获取/释放 LVGL 互斥锁,确保 UI 操作线程安全。
  • lv_demo_widgets():启动 LVGL Widgets 演示,展示按钮、滑块、开关、图表等常用控件。

运行效果

  • 屏幕显示 LVGL Widgets 演示界面,包含按钮、滑块、开关、图表等控件。
  • 可通过触摸屏与界面控件进行交互。



07_Brookesia_Test

硬件连接

  • 使用 USB 线将开发板接入电脑。

代码分析

Brookesia Phone 初始化代码

代码解释

  • ESP_Brookesia_Phone(display):创建 Brookesia Phone 实例,绑定 LVGL 显示。
  • ESP_Brookesia_PhoneStylesheet_t(...):使用默认深色主题样式表。
  • phone->addStylesheet(stylesheet) / phone->activateStylesheet(stylesheet):添加并激活样式表。
  • phone->setTouchDevice(bsp_display_get_input_dev()):设置触摸输入设备。
  • phone->registerLvLockCallback(...) / phone->registerLvUnlockCallback(...):注册 LVGL 锁回调,确保线程安全。
  • phone->begin():启动 Phone 界面框架。
  • phone->installApp(&minimal_app):安装最小化示例应用(显示 "Hello Brookesia" 文本)。

运行效果

  • 屏幕显示 Brookesia Phone 界面,包含状态栏和应用启动器。
  • 可点击应用图标进入 "Hello Brookesia Minimal App" 页面。



08_WIFI_Connect

硬件连接

  • 使用 USB 线将开发板接入电脑。

代码分析

Wi-Fi AP 与 Captive Portal 代码

代码解释

  • wifi_connect_init_stack():初始化 NVS、网络接口和默认事件循环。
  • wifi_connect_start_network():创建 AP(SSID 基于 MAC 地址),启动 HTTP 服务器和 DNS 服务器,实现 Captive Portal。
  • bsp_display_set_partial_mode(true, 40):设置 LVGL 局部刷新模式,降低显存占用。
  • wifi_connect_create_screen():创建包含二维码和状态栏的配网页面,二维码包含 AP 的 SSID 和密码。
  • 用户手机连接 AP 后,自动弹出配网页面,输入家庭 Wi-Fi 信息后设备自动连接。

运行效果

  • 屏幕显示二维码和 AP 信息,手机扫码连接 AP 后自动弹出配网页面。
  • 在配网页面输入家庭 Wi-Fi SSID 和密码,设备自动连接 Wi-Fi 并在屏幕显示连接状态和 IP 地址。



09_Clock_Display

硬件连接

  • 使用 USB 线将开发板接入电脑。

代码分析

时钟应用初始化代码

代码解释

  • bsp_i2c_init() / bsp_rtc_init():初始化 I2C 总线和 PCF85063A RTC,为时钟提供时间源。
  • bsp_display_set_partial_mode(true, 40):设置 LVGL 局部刷新模式,降低显存占用。
  • bsp_display_start():启动 LVGL 显示。
  • bsp_display_brightness_set(100):设置背光亮度为 100%。
  • bsp_display_lock(0) / bsp_display_unlock():获取/释放 LVGL 互斥锁,确保 UI 操作线程安全。
  • clock_app_create_screen():创建时钟界面,加载 Classic 表盘并启动定时器刷新指针位置。
  • vTaskDelay(pdMS_TO_TICKS(CLOCK_APP_IDLE_MS)):按宏设定的间隔进入空闲等待。

运行效果

  • 屏幕显示模拟时钟表盘,时针、分针、秒针随 RTC 时间实时移动。

ESP32-C5-Touch-LCD-1.69 IDF 09 Clock


10_Honeycomb_Demo

硬件连接

  • 使用 USB 线将开发板接入电脑。

代码分析

蜂窝图标布局代码

代码解释

  • bsp_display_start():启动 LVGL 显示。
  • honeycomb_demo_create_screen():创建蜂窝布局界面,生成 25 个圆形图标,按 5 列蜂窝阵排列。
  • honeycomb_demo_drag_event_cb(...):触摸拖拽回调,根据手指滑动偏移量更新图标位置。
  • honeycomb_demo_refresh_layout():刷新图标布局,根据图标到屏幕中心的距离计算缩放比例,越靠近中心图标越大。
  • honeycomb_demo_calculate_scale(distance):基于距离的二次方衰减计算图标缩放值,实现鱼眼放大效果。

运行效果

  • 屏幕显示蜂窝状排列的彩色圆形图标,中心图标放大,边缘图标缩小。
  • 手指拖拽可平移图标阵列,图标随位置动态缩放,呈现鱼眼交互效果。



小智 AI 应用教程

XiaozhiAI(小智 AI)是一个基于 ESP32 开发板的开源 AI 语音聊天机器人项目,旨在将大语言模型(LLM)的通用智能赋予边缘设备。它提供了一套软硬件结合的解决方案,支持全双工语音对话及 IoT 设备控制,致力于协助开发者低成本、快速地构建高定制度的实体 AI 智能体。

本文演示如何为微雪电子支持小智 AI 的 ESP32 开发板烧录固件,包括无开发环境烧录(直接烧录预编译固件)和有开发环境烧录(从源码编译并烧录)两种方式。

0. 烧录固件流程参考

信息

本文以 ESP32-S3-Touch-AMOLED-1.8 开发板为例进行演示,若使用其他开发板,操作步骤类似。

请先确认你的硬件在 小智 AI 适配产品列表 中。


1. 无开发环境烧录

1.1 通过小智官方 GitHub 下载固件

  1. 访问 小智 GitHub 下载对应设备的固件文件,点击 Assets 展开全部文件列表:


  2. 参考 Flash 固件的烧录与擦除教程 完成固件烧录。

1.2 通过微雪电子 GitHub 下载固件

信息

此仓库 汇总了微雪电子支持小智 AI 的 ESP32 开发板固件,所有固件均已在对应开发板上测试验证,方便用户集中查找和下载。固件版本更新可能略晚于小智官方仓库。

  1. 访问 微雪 GitHub 仓库,根据需求选择合适版本的固件进行下载:


  2. 参考 Flash 固件的烧录与擦除教程 完成固件烧录。

2. ESP-IDF 环境烧录

2.1 通过小智 GitHub 下载工程

访问 XiaoZhi AI Chatbot 仓库下载完整工程代码:


2.2 环境搭建

参考 ESP-IDF 环境搭建教程 完成开发环境的配置。

2.3 配置编译

  1. 点击 VSCode 选择目标设备图标 选择目标设备,根据您的开发板选择对应的芯片型号(如 esp32s3):


    提示

    设置目标设备时,ESP-IDF 会自动配置相应的工具链和库,此过程可能需要一些时间,请耐心等待。更多详情请参阅 官方文档

  2. 点击 VSCode 终端按钮 打开 ESP-IDF 终端,执行 idf.py menuconfig 命令进入配置界面,选择 Xiaozhi Assistant:


  3. 选择 Board Type 进入开发板类型选择:


  4. 选择与您的开发板对应的产品型号:


  5. 按 S 键保存配置并退出,然后点击 一键编译烧录 一键构建、烧录和监视图标,自动完成编译、烧录和串口监视。

2.4 开始配网

  1. 使用手机或电脑连接设备的 WiFi 热点:Xiaozhi-xxxxxx。连接成功后通常会自动跳转到配置页面,若未自动跳转,请手动在浏览器中访问 http://192.168.4.1

  2. 在网络配置页面选择要连接的 WiFi 名称(仅支持 2.4G 频段;若要连接 iPhone 热点,需在手机系统设置中开启最大兼容性),SSID 将自动填入,输入密码后点击 Connect 开始连接:


2.5 添加新设备到管理后台

  1. 确保设备已成功连接到互联网,此时设备会播报 6 位设备验证码(可重复唤醒设备再次播报)。

  2. 访问 小智 AI 控制面板,如未注册请先完成账号注册并登录:



  3. 输入 6 位验证码后,设备将自动激活并显示在设备管理页面,即可正常使用。



  4. 说出唤醒词 "你好,小智" 即可唤醒设备,开始语音对话。

  5. ESP32-S3-Touch-AMOLED-1.8 按键说明:

    • BOOT 按键:按下可唤醒小智
    • PWR 按键:短按开机,长按 6 秒以上关机

3. 小智资料


相关资料

硬件资料

示例程序

固件

技术手册

软件

其他资料链接





[教程导航]