




本章节包含以下部分,请按需阅读:
初次接触 Arduino ESP32 开发,想要快速上手?我们为您准备了一套通用的 入门教程。
请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。
请参考 安装和配置 Arduino IDE 教程 下载安装 Arduino IDE 并添加 ESP32 支持。
安装步骤: 安装方式请参考:Arduino 库管理教程。
Arduino 示例程序位于 示例程序包 的 Arduino 目录中。
| 示例程序 | 基础例程说明 |
|---|---|
| 01_GPIO | 控制引出 GPIO 引脚的电平状态 |
| 02_BlinkRGB | 实现控制 RGB 呈呼吸灯效果 |
| 03_GetchipID | 实现每隔三秒获取并打印 ESP32-c5 芯片的硬件信息,包括芯片型号、版本、核心数量以及芯片 ID |
| 04_BLE | 通过 ESP32-C5-Zero 开发板连接蓝牙 BLE 信标并接收广播数据的功能 |
| 05_UART | 实现通过 ESP32-C5-Zero 开发板连接 UART 功能 |
| 06_WIFI_AP | 通过 ESP32-C5-Zero 开发板设置为 AP 热点 (2.4G),允许其他 WiFi 设备接入联网 |
| 07_WIFI_STA | 实现连接指定 WiFi 并打印连接信息,并且通过连接 API 获取天气信息,且支持 WiFi 断线自动重连 |
| 08_WIFI_StaticIP | 通过 ESP32-C5-Zero 开发板使用 WIFI 连接,静态分配 IP 地址 |
REG_WRITE() 配合 REG_READ() 对 GPIO 输出寄存器按位取反,可一次性切换多组引脚电平。delay(300) 用于控制翻转节奏,让外接 LED 或示波器现象更容易观察。set_wheel_color(wheel_pos) 根据当前色轮位置计算 RGB 颜色,并写入板载灯珠。wheel_pos++ 持续递增颜色索引,配合 20ms 的刷新间隔形成平滑变色效果。![]() ![]() ![]() |
|---|
ESP.getEfuseMac() 读取芯片出厂烧录的 MAC 地址,并进一步组合成简化的 chip_id。![]() |
|---|
NimBLEDevice::init() 用于初始化 BLE 协议栈,并设置广播时显示的设备名。advertising->start() 启动广播,手机或其他 BLE 设备即可扫描到该开发板。![]() |
|---|
Serial1.available() 用于判断串口接收缓冲区中是否有新数据。Serial1.write() 回发,实现最基础的串口回环测试。![]() |
|---|
WiFi.softAP(ssid, password) 负责启动热点模式,让开发板作为一个 Wi-Fi 接入点工作。WiFi.softAPIP() 可读取热点的本机地址,方便后续让手机或电脑连接测试。![]() |
|---|
WiFi.begin(ssid, password) 用于连接指定路由器,后面的循环持续检查连接状态。WiFi.localIP() 输出分配到的 IP,方便确认联网是否正常。![]() |
|---|
WiFi.begin() 发起连接,并在成功后打印当前 IP 信息。![]() |
|---|
本章节包含以下内容,请按需阅读:
初次接触 ESP32 ESP-IDF 开发,想要快速上手?我们为您准备了一套通用的 入门教程。
请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。
以下内容以 Windows 系统为例,使用 VS Code + ESP-IDF 扩展 的方式进行开发。Mac/Linux 用户请参考 官方说明。
此部分图示以安装 ESP-IDF V5.2.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 示例程序位于 示例程序包 的 ESP-IDF 目录中。
| 示例程序 | 基础例程说明 |
|---|---|
| 01_GPIO | 控制引出 GPIO 引脚的电平状态 |
| 02_BlinkRGB | 实现控制 RGB 呈呼吸灯效果 |
| 03_GetchipID | 获取并打印 ESP32-C5-Zero 芯片的硬件信息,包括芯片型号、版本、核心数量以及芯片 ID |
| 04_BLE | 实现通过ESP32-C5-Zero 开发板连接蓝牙 BLE 信标并接收广播数据的功能 |
| 05_UART | 实现通过ESP32-C5-Zero 开发板连接 UART 功能 |
| 06_WIFI_AP | 实现通过ESP32-C5-Zero 开发板设置为 AP 热点 (2.4G),允许其他 WiFi 设备接入联网 |
| 07_WIFI_STA | 实现连接指定 WiFi 并打印连接信息 |
| 08_WIFI_StaticIP | 通过 ESP32-C5-Zero 开发板使用 WIFI 连接,静态分配 IP 地址 |
| 09_ZIGBEE | 通过 ESP32-C5-Zero 开发板使用 Zigbee ,控制开发板的LED亮灭 |
| 10_Mem_Security | 通过 ESP32-C5-Zero 开发板使用内存安全功能 |
output_level = !output_level 实现同步翻转。vTaskDelay(pdMS_TO_TICKS(500)) 用于控制闪烁周期,方便观察 GPIO 输出变化。led_strip_set_wheel() 根据 wheel_pos 计算当前颜色,适合做循环彩虹灯效。led_strip_refresh() 后延时 20ms,可让颜色变化看起来更平滑。![]() ![]() ![]() |
|---|
esp_chip_info() 用于读取芯片核心数、版本等基础硬件信息。esp_efuse_mac_get_default() 读取默认 MAC 地址,可作为设备的唯一标识输出。![]() |
|---|
esp_ble_gap_config_adv_data_raw() 用于配置原始广播数据,随后设备即可被外部扫描到。![]() |
|---|
uart_param_config()、uart_driver_install() 和 uart_set_pin() 分别完成串口参数、驱动和引脚映射配置。xTaskCreate() 启动收发任务,让串口接收和发送可以并行运行。![]() |
|---|
esp_wifi_set_mode(WIFI_MODE_AP) 和 esp_wifi_set_config()。![]() |
|---|
esp_netif_create_default_wifi_sta() 用于创建 STA 网络接口,供开发板连接路由器使用。![]() |
|---|
esp_netif_ip_info_t 结构体用于一次性配置静态 IP、网关和子网掩码。![]() |
|---|
esp_zb_platform_config() 完成 Zigbee 平台层初始化,准备好射频与主机配置。xTaskCreate(esp_zb_task, ...) 将 Zigbee 主任务独立运行,便于后续扩展网络控制逻辑。本章节包含以下部分,请按需阅读:
初次接触 ESP32 MicroPython 开发,想要快速上手?我们为您准备了一套通用的 ESP32 MicroPython 入门教程。
请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。
请参考 搭建 MicroPython 开发环境教程 烧录 MicroPython 固件。
ESP32-C5-Zero MicroPython 固件下载链接:https://micropython.org/download/ESP32_GENERIC_C5/
若通过 乐鑫 Flash 下载工具 为 ESP32-C5-Zero 烧录 MicroPython 固件,烧录地址为 0x0。
| 示例程序 | 基础例程说明 |
|---|---|
| 01_GPIO | 实现控制指定的左右共 20 个 GPIO 引脚依次循环进行高低电平切换,并串口打印每个引脚的电平变化状态 |
| 02_BlinkRGB | 实现控制 RGB 呈流水灯动态效果 |
| 03_GetchipID | 实现每隔三秒获取并打印 ESP32-c5 芯片的硬件信息,包括芯片型号、版本、核心数量以及芯片 ID |
| 04_BLE | 实现通过ESP32-C5-Zero 开发板连接蓝牙 BLE 信标并接收广播数据的功能 |
| 05_UART | 实现通过ESP32-C5-Zero 开发板连接 UART 功能 |
| 06_WIFI_AP | 实现通过ESP32-C5-Zero 开发板设置为 AP 热点 (2.4G),允许其他 WiFi 设备接入联网 |
| 07_WIFI_STA | 实现通过ESP32-C5-Zero 开发板使用 WIFI 连接,DHCP 分配 IP 地址 |
| 08_WIFI_StaticIP | 实现连接指定 WiFi 并打印连接信息,连接成功后切换为静态 IP 配置,便于局域网内调试和访问。 |
time.sleep(0.5) 控制亮灭节奏,便于观察引脚输出效果。wheel(pos) 根据位置值返回不同 RGB 组合,用于生成彩虹渐变色。np.write() 会把颜色数据真正刷新到灯珠上,循环执行后即可看到流动变色效果。![]() ![]() ![]() |
|---|
network.WLAN(network.STA_IF) 用于启用无线网卡的 STA 模式。mac 再经 ubinascii.hexlify() 转成字符串,方便直接打印唯一 ID。![]() |
|---|
adv_payload() 按 BLE 广播格式拼接设备名和发射功率等字段。ble.gap_advertise() 启动广播后,外部设备就可以扫描到这个 BLE 名称。![]() |
|---|
UART(1, ...) 初始化 UART1,并把 TX/RX 分别映射到指定引脚。![]() |
|---|
ap.ifconfig()[0] 取到的是热点当前的本机 IP。![]() |
|---|
sta.connect(SSID, PASSWORD) 发起联网,后面的循环持续等待直到连接成功。![]() |
|---|
sta.ifconfig(...) 手动写入静态 IP 配置,覆盖 DHCP 分配结果。![]() |
|---|
开发板设计文件
ESP32-C5 芯片官方手册
数据手册
周一-周五(9:30-6:30)周六(9:30-5:30)
手机:13434470212
邮箱:services04@spotpear.cn
QQ:202004841
