外设数量依据 ESP32-S31 芯片技术规格书 预发布版 v0.5,表示芯片级资源;具体可用信号取决于开发板引出、引脚复用及 SDK 支持情况。
配套示例使用 ESP-IDF v6.1,ESP32-S31 为预览目标,操作时需添加 --preview 参数。版本选择、环境配置与编译下载步骤见 ESP32-S31-Zero ESP-IDF 开发。


开发板的天线配置为板载贴片天线或 IPEX-4 外接天线接口,具体以所选版本为准。贴片天线版本应保留天线区域净空;IPEX-4 版本需连接适用的 2.4 GHz 外接天线。

本章节包含以下部分,请按需阅读:
初次接触 ESP32 ESP-IDF 开发,想要快速上手?我们为您准备了一套通用的 入门教程。
请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。
配套示例使用 ESP-IDF v6.1,目标芯片为 esp32s31。下方通用安装图示中的版本号仅作演示。
以下内容以 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 环境,无需手动配置。
下载 ESP32-S31-Zero 示例程序,在 VS Code 中打开所需示例的工程目录,例如 examples/esp-idf/02_blink_rgb。编译、烧录和串口监视操作参见 ESP-IDF 入门教程:运行示例,版本和目标芯片使用本页所列设置。
每个示例都是独立工程。示例 11 需要配套转接板及外接设备;裸板入门可先运行 RGB LED、芯片信息或 BOOT 按键示例。
| 示例目录 | 功能 | 额外条件 |
|---|---|---|
| 01_gpio_output | 将 15 路引出 GPIO 设为高电平 | 断开外部输出源和负载 |
| 02_blink_rgb | 控制板载 RGB LED | 无需外接 LED |
| 03_chip_info | 打印芯片和 Flash 信息 | USB 控制台 |
| 04_boot_button | 读取 BOOT 按键 | USB 控制台 |
| 05_uart_loopback | UART1 发送、接收及比较 | GPIO58 与 GPIO59 跳线 |
| 06_i2c_scan | 扫描外部 I2C 设备 | 外部设备及适当上拉 |
| 07_wifi_scan | 扫描附近 Wi-Fi 热点 | 天线通路正确 |
| 08_wifi_sta | 连接指定 Wi-Fi 热点 | 天线通路正确及 2.4 GHz 热点 |
| 09_wifi_ap | 创建 Wi-Fi SoftAP | 天线通路正确及无线终端 |
| 10_ble_advertiser | BLE 广播与连接事件 | 天线通路正确及 BLE 调试工具 |
| 11_board_test | 综合测试 | 匹配的触摸屏转接板、SD 卡转接板及外接设备 |
| 12_wifi_performance | Wi-Fi 吞吐与链路诊断 | 天线通路正确及 iperf 2.x 对端 |
【程序说明】
此示例将 GPIO0~6、GPIO46~51、GPIO58 和 GPIO59 共 15 路信号配置为推挽输出,并保持高电平。
【操作步骤】
01_gpio_output。【运行效果】
所列引脚应保持高电平,不会周期翻转。程序不执行回环测量,需用万用表或逻辑分析仪逐一检查;串口日志仅表示已配置输出。
【程序说明】
此示例通过 GPIO60 使用 RMT 外设发送 WS2812 数据,控制板载 WS2812B-1010。颜色数据按 GRB 顺序发送,不能通过简单翻转 GPIO60 电平替代颜色数据。
【操作步骤】
02_blink_rgb,观察板载 RGB LED。【运行效果】
RGB LED 依次显示红色 1 秒、绿色 1 秒、蓝色 1 秒,再熄灭 0.5 秒,随后重复。检查实际颜色、顺序和持续时间。
【程序说明】
此示例读取并打印目标名称、CPU 核心数、芯片修订号、基础 MAC 地址、功能位和 Flash 信息。
【操作步骤】
编译并下载 03_chip_info,打开 USB 控制台,记录芯片信息及 Flash 读取结果。
【运行效果】
控制台输出芯片信息,重点区分两项 Flash 输出:
Physical Flash:通过 esp_flash_get_physical_size() 读取的物理容量。Configured flash size:工程设置的 Flash 容量。两项数值可能不同。原理图标注 32 MiB 器件,而工程保留 16 MiB 配置;实际结果以所用开发板的读取值为准。
【程序说明】
此示例将 GPIO61 配置为上拉输入,读取低有效 BOOT 按键,并通过延时确认电平变化。
【注意事项】
正常启动时松开 BOOT。按住 BOOT 的同时复位会选择下载模式,此时不会进入按键示例的正常运行流程。
【操作步骤】
04_boot_button,打开 USB 控制台。【运行效果】
串口按状态变化输出 Button PRESSED 或 Button RELEASED。
【程序说明】
程序使用 UART1,通过 GPIO58(TX)发送带序号的字符串,经跳线回送至 GPIO59(RX),接收后逐字节比较。UART 配置如下:
| 参数 | 设置 |
|---|---|
| UART | UART1 |
| 波特率 | 115200 |
| 数据格式 | 8 位数据、无校验、1 位停止位,无硬件流控 |
【操作步骤】
05_uart_loopback,打开 USB 控制台。无需将 UART1 接到电脑。【运行效果】
收到的数据长度与内容均一致时输出 PASS,否则输出 FAIL 并提示检查跳线。
【程序说明】
程序每轮扫描 0x08~0x77,输出地址表和设备数。外部设备接线如下:
| 信号 | GPIO | 接口 |
|---|---|---|
| SDA | GPIO52 | J2 第 19 脚 |
| SCL | GPIO53 | J2 第 21 脚 |
原理图中的相关外部上拉电阻标注为未装配选项,应按外设和总线要求提供适当的 3.3 V 上拉。
【操作步骤】
06_i2c_scan,打开 USB 控制台。【运行效果】
地址表示应答设备,-- 表示未收到应答,UU 表示探测超时。未接设备时显示 0 个设备可以是正常结果,不能预设板上有固定地址的 I2C 从设备。
【程序说明】
程序使用 STA 模式扫描热点,每轮打印热点总数,最多显示 20 条记录,包含信道、RSSI、认证模式和 SSID。
【操作步骤】
07_wifi_scan,打开 USB 控制台查看扫描结果。【运行效果】
每轮完成后延时 10 秒再扫描。扫描结果受周围热点、天线及环境影响。
【程序说明】
此示例连接指定的 2.4 GHz Wi-Fi 热点,并输出连接状态和获取的 IPv4 地址。
【操作步骤】
确认天线通路,打开 08_wifi_sta 工程的 menuconfig,在 "Example Configuration" 中设置以下内容:
保存配置,重新编译并下载 08_wifi_sta,打开 USB 控制台。
【运行效果】
程序在获取 IPv4 地址后输出 IPv4 address:;连接失败时会按配置重试,达到次数上限后输出失败信息。
该示例仅演示热点连接和地址获取。分享工程或截图前移除本地 Wi-Fi 凭据。
【程序说明】
此示例创建本地 SoftAP,未实现互联网共享或 NAT 路由。示例允许空密码开放网络,使用时应按实际需求设置。
【操作步骤】
09_wifi_ap 工程的 menuconfig。09_wifi_ap。【运行效果】
控制台记录终端加入、离开事件。终端提示无互联网连接时,应结合本地连接状态判断结果。
【程序说明】
此示例使用 NimBLE,广播设备名 ESP32-S31-Zero。该示例未定义串口透传服务,不能将其作为蓝牙串口示例使用。
【操作步骤】
10_ble_advertiser。ESP32-S31-Zero。【运行效果】
程序在连接和断开时输出日志,并在连接失败或断开后恢复广播。
【程序说明】
此工程包含 Flash、PSRAM、CPU/RAM、GPIO60 RGB LED,以及外接显示、触摸、SD 和 GPIO54 指示灯等测试。显示、触摸和 SD 卡测试需要连接匹配的触摸屏转接板、SD 卡转接板及外接设备。GPIO54 指示灯需外接,开发板未板载该指示灯。
【硬件条件】
运行前按下表核对转接板、外接设备、引脚及供电。配套硬件的完整兼容性仍待实板验证;未接显示屏、触摸屏或 SD 卡时,对应项目的失败结果不能用于判断裸板故障。
| 项目 | 工程当前设置与范围 |
|---|---|
| LCD | 外接 800 × 480 RGB565 显示,像素时钟 16 MHz;这是工程配置,不是裸板显示规格 |
| 触摸 | 外接 GT911,使用 GPIO52、GPIO53、GPIO38、GPIO7;启动时探测 0x14、0x5D |
| 连续触摸跟踪 | 默认关闭,仅在启动时检测;连续采样曾出现通信失败,稳定性尚未确认 |
| SD | 外接卡座,GPIO20~25,4 位 SDMMC,运行时钟配置为 20 MHz |
自动测试会擦写专用 testdata 分区的首个 4 KiB 扇区,SD 测试会创建、读回并删除临时文件。运行前确认分区用途并备份数据。LCD 启动后会将 GPIO33、GPIO34 改作 RGB 数据线,USB Serial/JTAG 控制台随之不可用;仅在显示启动失败、未完成引脚接管时保留交互控制台。
【操作步骤】
11_board_test 的 PSRAM、显示、触摸和 SD 配置。11_board_test,按测试项目检查日志及外设现象。【结果判断】
连续触摸跟踪的稳定性尚未确认,不能只凭启动检测成功判断连续跟踪正常。LCD 启动成功后,USB 控制台不能继续用于观察日志。显示、触摸和 SD 卡需逐项检查并分别确认结果。
【程序说明】
此示例提供 USB Serial/JTAG 控制台,用于 Wi-Fi 连接、链路信息、ping 及 TCP、UDP 吞吐测试。
【准备与操作】
确认天线通路,并准备运行 iperf 2.x 的电脑;iperf3 协议与该示例不兼容。编译并下载 12_wifi_performance,打开 USB 控制台。
下载启动后,在 wifi-perf> 控制台输入 help 查看命令。STA 模式连接命令如下,将尖括号中的内容替换为本地参数:
sta_connect <SSID> <PASSWORD>
rf_info
ping <GATEWAY_IP>
吞吐测试需先启动接收端。下表中的 <PC_IP> 为电脑地址,<DUT_IP> 为开发板地址。
| 方向 | 电脑端命令 | 开发板控制台命令 |
|---|---|---|
| TCP,开发板发送 | iperf -s -i 1 | iperf -c <PC_IP> -i 1 -t 60 |
| TCP,开发板接收 | iperf -c <DUT_IP> -i 1 -t 60 | iperf -s -i 1 |
| UDP,开发板发送 | iperf -s -u -i 1 | iperf -c <PC_IP> -u -b 20M -i 1 -t 60 |
| UDP,开发板接收 | iperf -c <DUT_IP> -u -b 20M -i 1 -t 60 | iperf -s -u -i 1 |
电脑通过有线网络连接测试路由器,可减少电脑自身无线链路对测试的影响。记录天线、供电、信道、带宽、方向、RSSI、吞吐率及 UDP 丢包情况;结果不预设为固定速率。
【结果判断】
rf_info 中的发射功率字段是软件配置值,不是实测射频功率。该示例仅用于功能及吞吐测试。
目标无法识别、Flash 容量不同、USB 中断或外设失败时,参见 ESP32-S31-Zero 常见问题。
ESP32-S31-Zero 提供出厂固件 V1(2026-10-20),用于恢复出厂演示。固件文件位于配套仓库的 firmware/ 目录:
| 项目 | 内容 |
|---|---|
| 固件文件 | ESP32-S31-Zero_FactoryOnly_20261020.bin |
| 烧录地址 | 0x00 |
| 下载接口 | Type-C,USB Serial/JTAG |
擦除整片 Flash 会删除设备中的固件、设置及数据,写入固件也会覆盖目标区域。操作前备份需要保留的内容。
烧录工具需明确支持 esp32s31,不要选择 esp32s3。如需手动进入下载模式,按以下顺序操作:
烧录完成后,按 RESET 运行固件。
以下步骤适用于烧录本页提供的固件。
下载并解压乐鑫官方烧录工具 Flash Download Tool(下载地址)
运行 Flash Download Tool,根据开发板的主控芯片与下载接口选择对应选项。下图以 ESP32-S3 与 USB 为例,实际选项以产品硬件设计为准

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

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