ESP32-S3 有 COM 口,Arduino IDE 却找不到开发板?完整排查教程
很多人第一次使用 ESP32-S3 时,会遇到一个很容易误判的问题:
设备管理器已经出现了 COM8,说明电脑似乎已经识别开发板;但打开 Arduino IDE 后,却找不到 ESP32-S3 开发板,或者安装开发板支持包时一直失败。
说明:
COM8只是我这台电脑当时分配到的端口号。其他电脑可能显示为COM3、COM5、COM12等,请以自己设备管理器中实际出现的端口为准,不需要特意改成 COM8。
这并不矛盾。COM 口、Arduino 开发板支持包和开发板上的真实芯片,是三个不同层级。
本文从这三个层级入手,完整记录一次 ESP32-S3 从识别串口到成功烧录的排查过程。
一、先理解:有 COM 口不代表 Arduino IDE 已经支持 ESP32-S3
Windows 设备管理器里出现类似下面的信息:
Silicon Labs CP210x USB to UART Bridge (COM8) // 本文电脑上的示例
它只说明:
- USB 数据线能够传输数据;
- CP210x 驱动已经工作;
- USB 转串口芯片被 Windows 识别;
- 电脑分配了一个可用串口。
但 Arduino IDE 要编译和烧录 ESP32-S3,还需要另外安装 Espressif 提供的开发板支持包。
可以把它们理解为:
| 层级 | 负责什么 | 常见表现 |
|---|---|---|
| USB 串口驱动 | 让 Windows 识别串口 | 设备管理器出现一个 COM 端口,例如本文的 COM8 |
| ESP32 开发板支持包 | 提供编译器、工具链和板型配置 | Arduino IDE 中出现 ESP32S3 Dev Module |
| 实际芯片型号 | 决定应该选择哪一种板型 | ESP32、ESP32-S3、ESP32-C3 不能混选 |
所以,“有 COM 口但没有开发板”通常不是板子坏了,而是第二层还没有配置完成。
二、在 Arduino IDE 中添加 ESP32 开发板地址
打开:
文件 -> 首选项 -> 其他开发板管理器地址
添加 Espressif 官方地址:
https://espressif.github.io/arduino-esp32/package_esp32_index.json
如果访问 GitHub 较慢,也可以尝试国内镜像:
https://jihulab.com/esp-mirror/espressif/arduino-esp32/-/raw/gh-pages/package_esp32_index_cn.json
多个地址之间换行或按 Arduino IDE 当前版本要求分隔即可。
三、安装 esp32 by Espressif Systems
打开:
工具 -> 开发板 -> 开发板管理器
搜索 esp32,安装:
esp32 by Espressif Systems
如果出现下面这类错误:
Download failed
A connection attempt failed
多数情况下是下载链路超时,不是 CP210x 驱动损坏,也不是 ESP32-S3 损坏。可以依次尝试:
- 更换网络或手机热点;
- 改用镜像地址;
- 关闭并重新打开 Arduino IDE;
- 删除失败的下载缓存后重试;
- 避免同时配置多个失效或互相冲突的地址。
四、通用 ESP32-S3 应该选哪个开发板
如果使用的是常见 ESP32-S3 通用开发板,可以先选择:
工具 -> 开发板 -> esp32 -> ESP32S3 Dev Module
电商页面中的 N16R8 和 Type-C 并不是 Arduino IDE 的板型名称:
N16:通常表示 16 MB Flash;R8:通常表示 8 MB PSRAM;Type-C:表示开发板使用 USB Type-C 接口;ESP32-S3:才是最关键的芯片系列。
先选对 ESP32S3 Dev Module,再根据实际板卡设置 Flash 和 PSRAM 参数。
五、不要把经典 ESP32 当成 ESP32-S3
如果烧录时出现:
A fatal error occurred: This chip is ESP32 not ESP32-S3.
Wrong --chip argument?
这句话已经给出了关键信息:电脑读到的是经典 ESP32,而当前工程却按 ESP32-S3 编译和烧录。
如果日志中出现:
Chip is ESP32-D0WD-V3
通常应该选择:
ESP32 Dev Module
而不是 ESP32S3 Dev Module。
判断芯片时,优先相信:
- 模组金属屏蔽罩上的型号;
esptool连接后打印的芯片信息;- 开发板原理图或商家参数。
不要只根据板子外形和 USB 接口判断。
六、选择正确的 COM 口
打开:
工具 -> 端口
选择设备管理器中对应的端口。我的电脑显示为 COM8,你的电脑可能是其他编号,以实际显示为准。
如果电脑上有多个串口,最简单的确认方法是:
- 拔掉开发板;
- 观察哪个 COM 口消失;
- 重新插入;
- 选择重新出现的端口。
七、先用最小程序验证烧录链路
不要一开始就上传带灯带、舵机和网络功能的大工程。先用最小程序确认板型、端口和上传链路。
void setup() {
Serial.begin(115200);
}
void loop() {
Serial.println("ESP32-S3 is running");
delay(1000);
}
上传成功后,输出中通常会看到:
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
打开串口监视器并设置为 115200,每秒看到一行文字,说明最基本的编译、烧录和串口输出都已经正常。
八、一直卡在 Connecting... 怎么办
可以按下面顺序排查:
- 关闭 Arduino IDE 的串口监视器以及其他占用串口的软件;
- 按住开发板上的
BOOT; - 点击上传;
- 出现
Connecting...后松开BOOT; - 将上传速度从
921600降到460800或115200; - 暂时拔掉灯带、舵机、传感器等外设;
- 更换确认支持数据传输的 USB 线和 USB 接口。
外设可能占用启动相关管脚,也可能让供电瞬间下降,所以最小系统测试很重要。
九、最终排查清单
- 设备管理器能看到 CP210x、CH340 或 USB JTAG/Serial 设备;
- Arduino IDE 已添加 ESP32 开发板管理器地址;
- 已安装
esp32 by Espressif Systems; - ESP32-S3 选择
ESP32S3 Dev Module; - 经典 ESP32 选择
ESP32 Dev Module; - 端口与设备管理器中的 COM 号一致;
- 最小程序可以正常上传并输出串口信息。
总结
遇到“有 COM 口但找不到开发板”时,不要立刻把问题归因于硬件损坏。
更有效的排查顺序是:
USB 串口驱动
↓
ESP32 开发板支持包
↓
真实芯片型号
↓
Arduino IDE 板型
↓
COM 端口
↓
最小程序烧录
只要把这几个层级拆开,问题通常很快就能定位。
我是阿白,感谢您的观看。
参考资料
更多推荐


所有评论(0)