想让 ESP32-CAM 跑起视频流,流程是这样的:用一根 USB-C 数据线接上 ESP32-S3 CAM,烧录自带的 CameraWebServer 示例,在 115200 波特率的串口监视器里读出 IP,然后在同一个 2.4 GHz WiFi 下用浏览器打开它。不需要 FTDI 转接板,也不用 IO0 跳线——S3 开发板用一根普通 USB 线就能上传。
为什么 ESP32-S3 CAM 可以跳过经典的上传流程?
经典的 AI-Thinker ESP32-CAM——大多数网上教程讲的那块开发板——本身没有 USB 接口。想上传程序,得把 CH340 串口转换器这类 USB-TTL 转接板接到它的 TX/RX 引脚上,把 IO0 跳线到 GND 进入下载模式,传完再拔掉跳线、按一下复位才能运行。这块板我们目前缺货,但如果你手上已经有一块,从 CameraWebServer 示例开始的所有内容仍然适用——只需改选 AI Thinker 开发板并使用 CAMERA_MODEL_AI_THINKER 即可。
我们有售的 ESP32-S3 WROOM CAM 则把这些步骤全部跳过:ESP32-S3 芯片内置原生 USB,插上 USB-C 线直接点 Upload 就行。它还配备了更清晰的 OV5640 摄像头和 8 MB PSRAM。想比较不同的开发板家族?看看 ESP32、ESP8266 与 Arduino Uno 对比。
零件清单
OV5640 摄像头排线怎么接?
OV5640 摄像头模块出厂时是分开的:一颗黑色小方块摄像头,连着一条金橙色的排线。它插在开发板下边缘的白色 FPC 连接器上——先掀开卡扣,把排线摆正、完全插到底,再把卡扣压回。
排线没插到位或插歪了,是 “Camera init failed” 报错的头号原因。插排线或重新插排线时,务必先拔掉 USB 线。OV5640 最高可拍 2592×1944——比经典的 OV2640 明显更清晰。

ESP32-S3 CAM 需要哪些 Arduino IDE 设置?
ESP32-S3 CAM 需要先在 Boards Manager 里装好 “esp32 by Espressif Systems” 开发板包,然后按下表调整 Tools 菜单设置。模组上标着 N16R8,按 ESP32-S3-WROOM-1 数据手册的解读就是 16 MB 闪存加 8 MB Octal PSRAM——所以下面选 OPI PSRAM,而画幅稍大一点的拍摄,摄像头就离不开这块 PSRAM。
| Tools 菜单项 | 设置值 |
|---|---|
| Board | ESP32S3 Dev Module |
| PSRAM | OPI PSRAM |
| Flash Size | 16MB (128Mb) |
| Partition Scheme | Huge APP (3MB No OTA/1MB SPIFFS) |
| USB CDC On Boot | Enabled |
USB CDC On Boot 比看上去重要得多:当你走 S3 的原生 USB 口时,正是这个设置把 Serial.print 的输出送进你的串口监视器。不开它程序照样运行——只是 IP 会打印到空气里,你什么都看不到。
两个 USB-C 口该插哪一个?
ESP32-S3 CAM 上的两个 USB-C 口并不是双胞胎:一个接到 ESP32-S3 内置的原生 USB(USB Serial/JTAG 外设),另一个走一颗独立的 USB 转 UART 桥接芯片。两个口都能上传代码,但在电脑上会显示为不同的设备,而且不同批次的丝印标注也不一致。
所以先排除插错口的可能:如果 Tools → Port 里什么都没有,先把线换到另一个 USB-C 口,再去折腾驱动。原生 USB 口通常什么都不用装就能识别;UART 桥接口可能需要 WCH 的 CH343 驱动(Freenove 的开发板资料库里附带了 Windows、macOS 和 Linux 版本)。如果两个口都始终不出现,就该怀疑线了——只能充电的线能给开发板供电,却传不了数据,这也是零件清单里放了一根正经数据线的原因。完整排查步骤见 ESP32 无法识别 / 上传失败修复指南。

如何上传 CameraWebServer 并看到视频流?
CameraWebServer 示例就装在 ESP32 开发板包里——打开 File → Examples → ESP32 → Camera → CameraWebServer。你只需要改三行。在 board_config.h 标签页里(旧版核心把这份列表放在主程序顶部),注释掉默认型号、取消注释 S3 那一行,再填上你的 WiFi 信息:
// board_config.h —— 选择与这块开发板布局对应的引脚映射
#define CAMERA_MODEL_ESP32S3_EYE // 带 PSRAM
// CameraWebServer.ino —— 你的 2.4GHz WiFi 名称和密码
const char *ssid = "YourWiFiName";
const char *password = "YourWiFiPassword";
这个 define 选的是引脚映射,不是摄像头型号——驱动会在开机时自己探测排线上的摄像头并认出 OV5640。点 Upload,然后打开 115200 波特率的串口监视器。一次健康的启动会以这样收尾:
........
WiFi connected
Camera Ready! Use 'http://192.168.0.123' to connect
在同一 WiFi 下的任意浏览器里输入这个地址,按 Start Stream。Freenove 官方的章节视频完整演示了这个示例从上传到出流的全过程:
为什么打不开视频流的 IP 地址?
ESP32-S3 CAM 只在开机时打印一次视频流 IP,所以”一直拿不到 IP”的头号原因,是它已经滚屏滚过去了,或者当时串口监视器根本没开。打开 115200 的串口监视器,按一下开发板的复位键——整段启动日志连同 IP 会重新打印一遍。如果看到的是乱码,说明波特率不对,不是开发板坏了。
如果 IP 打印出来了、页面却打不开,问题几乎总在网络而不在开发板。ESP32-S3 的射频只支持 2.4 GHz(802.11 b/g/n)——它看不见也连不上 5 GHz 网络,而你的手机或电脑必须连在同一个 2.4 GHz 网络上。手机悄悄走着移动数据、或挂在路由器的 5 GHz 频段上,症状一模一样。用手机热点时,先开启 2.4 GHz 频段(常叫”扩展兼容性”)再重试。

为什么开发板会在视频流中途自己重启?
摄像头和 WiFi 同时工作时,ESP32-S3 CAM 的电流消耗不小,供电一被拉垮就会触发复位——串口日志里常伴随 Brownout detector was triggered。常见元凶是又长又细的充电线、无源 USB 集线器和老化的笔记本接口。换一根短的正经数据线,直插电脑接口或用一个像样的 5V 电源,重启循环就消失了。要做电池供电的远程摄像头,先读我们的 TP4056 + 18650 充电指南。
常见的上传和视频流报错是什么意思?
下面是 ESP32-S3 CAM 最常抛出的故障,以及对应的解决办法。
| 症状 | 可能原因 | 解决办法 |
|---|---|---|
| 完全找不到 COM 口 | 插错了 USB-C 口、用了只能充电的线,或缺驱动 | 换到另一个 USB-C 口,换一根确认能传数据的线,再检查驱动 |
| “No serial data received” / “Failed to connect: Timed out” | 开发板没进入下载模式 | 出现 “Connecting…” 时按住 BOOT,上传开始后松开 |
| 串口日志出现 “Camera init failed” | 排线没插到位,或摄像头型号 define 选错 | 断电后重新插好排线;确认 CAMERA_MODEL_ESP32S3_EYE |
| IP 打印了但页面一直加载不出来 | 观看设备在别的网络或 5 GHz 频段上 | 让观看设备连上同一个 2.4 GHz WiFi |
| “Brownout detector was triggered” 反复重启 | 线材、集线器或接口供电不足导致电压跌落 | 用短数据线、直插接口或像样的 5V 电源 |
真实顾客身上最常见的几个错误
我们收到最多的求助信息,大都是 “esp32 tak detect/error 2/boot button” 的各种变体。”Error 2″ 的意思是上传工具压根没连上开发板——几乎都是插错了 USB-C 口,或用了只能充电的线。先把这两样排除,再去试按 BOOT 键的招。
第二种:用一台悄悄走着移动数据、或挂在路由器 5 GHz 频段上的手机去开视频流 IP。地址看着像挂了,其实开发板流得好好的——连上 2.4 GHz 网络就秒开。
第三种:随手拿一根手机充电线给开发板供电。上传一切正常,视频流一开就掉电重启。换一根短的正经数据线,神秘重启就此了结。
常见问题
这块开发板需要 FTDI 或 USB-TTL 转接板吗?
不需要。ESP32-S3 CAM 通过自带的 USB-C 口上传。只有经典的 AI-Thinker ESP32-CAM 才需要外接 USB-TTL 转接板,并把 IO0 跳线到 GND 才能烧录。
ESP32-CAM 能用 5 GHz WiFi 吗?
不能。ESP32-S3 和经典 ESP32-CAM 一样,只支持 2.4 GHz WiFi(802.11 b/g/n)。给它一个 2.4 GHz 网络,并让观看设备连在同一个网络上。
可以用电池供电做远程摄像头吗?
可以,但电源必须能在视频流负载下稳住 5V——一颗裸 18650 配一个不给力的稳压器会陷入掉电重启循环。我们的 TP4056 与 18650 指南讲了如何安全地给电池那一侧充电。
为什么我的视频流又卡又慢?
在视频流页面的控制面板里调低画幅和画质,让开发板离路由器近一点,另外注意这个示例只为单个观看者设计——多开一个标签页就会让视频流卡顿甚至停住。
OV2640 和 OV5640 摄像头有什么区别?
主要是分辨率:经典 OV2640 最高 1600×1200;这套件里的 OV5640 可达 2592×1944。程序不用改——驱动会在开机时自动识别传感器。
最后更新:2026年8月。有问题?WhatsApp 联系我们。



ESP32-S3 WROOM CAM DEVELOPMENT BOARD OV5640 CAMERA MODULE WIFI BLUETOOTH DUAL USB-C IOT AI
Data Cable Type-A Type-C MicroUSB Type-B 0.5m 1m 30cm 0.3m 100cm Data Transfer Upload Code - TYPE-A TO TYPE-C CABLE (0.5M)