ESP32-DEV-KIT-WROOM-32E-N4 使用教程

产品特性

  • 采用 ESP32 系列模组,搭载 Xtensa 32 位 LX6 双核处理器,主频高达 240MHz
  • 集成 520KB SRAM、448KB ROM,可选 PSRAM 和 Flash 存储器版本
  • 支持 2.4GHz Wi-Fi、经典蓝牙及低功耗蓝牙通信
  • 板载电池充电管理模块,预留 3.7V GH1.25 锂电池接口,可外接电池进行供电
  • 采用正反可插拔的 USB Type-C 接口
  • 引出丰富的外设接口,邮票孔设计,方便焊接集成到用户自主设计的底板上
  • 支持多种低功耗工作状态,可灵活调节通信距离、数据率和功耗之间的平衡,以满足各种应用场景的功耗需求

资源接口


  1. ESP32 模组
  2. 3.7V 锂电池接口 GH1.25 2PIN 连接器,可用于接入 3.7V 锂电池,支持充放电
  3. 电池反接警告灯 电池正负极接反时亮起
  4. ETA6098 电池芯片
  5. CH343P USB 串口芯片
  6. RGB 指示灯
  7. EN 按键 复位按键
  8. BOOT 按键 复位时按下,进入下载模式
  9. 充电指示灯
  10. 电源指示灯 11 USB Type-C 接口 用于下载程序

产品尺寸


引脚布局



Arduino 开发

本章节介绍 ESP32-DEV-KIT-XX 的 Arduino 开发环境,以及 examples/Arduino/examples 中提供的示例程序。

配置开发环境

1. 安装 Arduino IDE 和 ESP32 开发板支持包

请参考 安装和配置 Arduino IDE 教程 下载安装 Arduino IDE 并添加 ESP32 支持。

安装 Arduino IDE 后,在“首选项” > “附加开发板管理器网址”中添加 Espressif Arduino-ESP32 的开发板索引,并在“开发板管理器”中安装 Arduino-ESP32。安装完成后,在“工具” > “开发板”中选择 ESP32 Dev Module

使用 USB 连接开发板,在“工具” > “端口”中选择对应串口。除特别说明外,本目录的示例均使用串口监视器,波特率设为 115200 bps。

2. 打开示例

每个示例目录中均有一个与目录同名的 .ino 主文件。使用 Arduino IDE 打开该文件后即可编译并上传。

安装库

01_Board_Info02_WS2812_RGB03_WiFi04_UART_Loopback 和 05_SerialToSerialBT 仅使用 Arduino-ESP32 开发板包提供的组件。

示例程序

示例程序位于示例程序包的 examples/Arduino/examples 目录。LCD、UART 等外设示例需按相应章节完成接线后再运行。

示例程序说明
01_Board_Info通过串口输出芯片、Flash、程序和内存信息。
02_WS2812_RGB控制 WS2812 RGB LED 依次显示红、绿、蓝、白和熄灭。
03_WiFi扫描 2.4 GHz Wi-Fi 网络,并连接指定网络。
04_UART_Loopback使用 UART1 发送和接收数据,验证串口回环。
05_SerialToSerialBT在 USB 串口与经典蓝牙 SPP 之间双向转发数据。

01_Board_Info

程序启动后打印芯片型号、芯片修订版本、CPU 频率、Flash 容量、程序大小、剩余堆内存和基础 MAC 地址。该示例无需连接额外硬件,可用于检查程序上传和串口输出。


02_WS2812_RGB

WS2812 RGB LED 的数据引脚为 GPIO27。程序通过 Arduino-ESP32 的 rgbLedWriteOrdered() 接口将亮度设为 32,并每秒切换一次红、绿、蓝、白和熄灭状态。串口同步输出当前 RGB 值。

此示例不依赖第三方库。若 LED 颜色与预期不一致,可检查 COLOR_ORDER 是否需要与实际 LED 的颜色顺序匹配。


03_WiFi

该示例将芯片设置为 STA 模式,扫描 2.4 GHz Wi-Fi 网络,并在串口中列出 SSID、RSSI、信号质量、信道和安全类型。ESP32-DEV-KIT-XX 使用的经典 ESP32 芯片不支持 5 GHz Wi-Fi。

如需测试联网,请先修改源码顶部的配置:

constexpr char WIFI_SSID[] = "your_ssid";
constexpr char WIFI_PASSWORD[] = "your_password";

上传后,程序最多等待 20 秒连接指定 Wi-Fi。连接成功后,串口显示 IP 地址、网关、RSSI 和信道。连接失败时,每隔 15 秒重新连接;未连接时,每隔 60 秒重新扫描网络。


04_UART_Loopback

此示例使用 UART1 进行自回环测试,实际初始化配置如下:

信号GPIO参数
UART1 TXGPIO4115200 bps、8N1
UART1 RXGPIO5115200 bps、8N1

用导线将 GPIO4 与 GPIO5 相连后上传程序。GPIO4 和 GPIO5 均不得连接 5 V。程序每隔 2 秒通过 TX 发送一条递增计数消息,并根据 RX 是否在 500 ms 内收到相同内容输出 [RX PASS] 或 [RX FAIL],同时打印收发统计。


05_SerialToSerialBT

该示例创建经典蓝牙 SPP 串口,设备名称为 ESP32-BT-Slave。程序在 USB 串口与蓝牙串口之间逐字节双向转发数据,USB 串口波特率为 115200 bps。

上传程序后,在支持经典蓝牙 SPP 的电脑或移动设备上搜索并配对 ESP32-BT-Slave。通过蓝牙串口发送的数据会显示在 Arduino 串口监视器中;Arduino 串口监视器发送的数据会转发到蓝牙客户端。

经典蓝牙支持

此示例使用经典蓝牙 SPP,而不是 BLE。BluetoothSerial 的 SPP 功能仅适用于经典 ESP32 芯片;编译时请选择 ESP32 Dev Module

ESP-IDF 开发

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

ESP-IDF 入门教程

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

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

配置开发环境

备注

以下内容以 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 示例程序

ESP-IDF 示例程序位于 示例程序包 的 examples/ESP-IDF 目录。每个示例均为独立工程,适用于目标芯片 esp32

使用前准备

  1. 安装并初始化支持 ESP32 的 ESP-IDF。建议使用 ESP-IDF 6.0.2。
  2. 以 ESP-IDF 已初始化的终端打开任意示例目录。
  3. 将开发板通过 USB 连接电脑,确认其串口号,例如 Windows 下的 COM5

进入相应示例目录后执行:

idf.py set-target esp32
idf.py build
idf.py -p COM5 flash monitor

请将 COM5 替换为实际串口号。退出串口监视器请按 Ctrl-]。首次构建时,组件管理器会自动下载工程声明的依赖,因此需要网络连接。

示例程序

01_HelloWorld

本示例在串口打印 Hello world!、芯片特性、Flash 容量和最小可用堆内存;随后每秒输出一次重启倒计时,倒计时结束后自动重启。可用于确认 ESP-IDF 环境、烧录链路和串口监视器工作正常。


02_RGB

本示例驱动板载可寻址 RGB 灯珠。当前 sdkconfig 选择 RMT 驱动方式,数据引脚为 GPIO27,闪烁周期为 1000 ms。灯珠点亮时的 RGB 值为 (16, 16, 16)


03_UART

本示例使用 UART1 进行异步收发,并启用芯片内部软件回环,无需连接外部跳线。发送任务每隔 2 秒发送字符串 Hello world;接收任务读取回环数据,并以文本和十六进制格式输出到串口监视器。

当前通信参数为 115200 bps、8 数据位、无校验、1 停止位、无硬件流控。

04_WIFI

本示例连接 Wi-Fi 后,通过 HTTP 请求天气 API,获取北京的实时天气数据并将服务器响应输出到串口。一次请求完成后等待 30 分钟,再发起下一次请求。

烧录前执行 idf.py menuconfig,在 Example Connection Configuration 中填写 Wi-Fi 的 SSID 和密码。开发板连接 2.4 GHz 网络时,请确认路由器已启用对应频段。

注意:示例中的天气 API 地址、位置和访问密钥在 main/main.c 中固定,且使用明文 HTTP。用于产品或公开网络前,应替换为自己的密钥,并使用 HTTPS、证书校验及安全的密钥管理方式。


05_Bluetooth

本示例启动 BLE GATT Server,广播名称为 ESP_GATTS_DEMO,等待手机或其他 BLE GATT Client 连接。服务包含两个 16 位 UUID:

服务 UUID特征 UUID功能
0x00FF0xFF01读、写、通知、指示
0x00EE0xEE01读、写、通知

使用手机 BLE 调试工具 扫描并连接 ESP_GATTS_DEMO 后,可读取或写入数据。


相关资料

1. 示例程序

2. 硬件资料

3. 技术手册

4. 软件工具


技术支持

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

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841