无线双模
2.4 GHz Wi-Fi(802.11 b/g/n)与经典蓝牙 + BLE 共存,可同时做网关与配网。
ESP32 把 2.4 GHz Wi-Fi、蓝牙、双核处理器、18 路 ADC 和十几路通信接口 封装进一颗 5×5 mm 的芯片里,而开发板只要一杯咖啡的钱。 它是过去十年里被最多人学过的物联网芯片,也是无数智能设备的起点。
它不是一块板子,而是一个由乐鑫(Espressif)设计的 SoC 芯片系列。开发板只是把它请出来、 接上引脚、焊上天线的载体。
2016 年,乐鑫在 ESP8266 的基础上推出 ESP32:一块集成了 Wi-Fi 与蓝牙双模无线、 双核 Xtensa LX6 处理器、以及大量外设控制器的微控制器(MCU)。它的定位介于 「无线模块」和「通用 MCU」之间——既能跑协议栈和网络应用,又能直接驱动传感器、 电机和屏幕。
与常见的 STM32 等 MCU 相比,ESP32 最大的差别是把无线做进了芯片内部: 你不需要外挂 Wi-Fi 模组,写几行代码就能连上路由器或手机。与树莓派这类 Linux 单板机相比,它又足够轻:没有操作系统启动过程,上电即可运行, 微秒级响应中断,典型功耗在毫安级、待机在微安级。
正因如此,ESP32 成了智能家居、传感器网关、教学创客的首选。 截至目前,ESP32 系列的累计出货量已达数亿颗量级, 而你在电商平台上花 10~40 元就能买到一块功能完整的开发板。
一句话理解:ESP32 ≈「带 Wi-Fi 与蓝牙的 Arduino」+「能跑 FreeRTOS 的双核 MCU」+「微安级低功耗」。 这三个特性同时具备,才是它的真正价值。
2.4 GHz Wi-Fi(802.11 b/g/n)与经典蓝牙 + BLE 共存,可同时做网关与配网。
一个核心专心处理网络协议栈,另一个跑你的业务逻辑,互不抢占。
深度睡眠约 10 µA,配合 ULP 协处理器,两节电池能撑数月甚至数年。
18 路 ADC、2 路 DAC、16 路 PWM、3×UART、I2C、SPI、I2S、CAN、触摸传感。
安全启动、Flash 加密、硬件加速的 AES/SHA/RSA,支持 OTA 空中升级。
Arduino、ESP-IDF、MicroPython、PlatformIO 全面支持,社区示例几乎覆盖所有传感器。
以下为 ESP32-D0WD-V3(ESP32-WROOM-32E 模组所用芯片)的典型参数。
| 处理器 | Xtensa LX6 双核,最高 240 MHz(也可作单核运行) |
|---|---|
| 协处理器 | ULP 超低功耗协处理器,可在深度睡眠中采集数据 |
| 片上内存 | 520 KB SRAM · 448 KB ROM · 8 KB RTC 慢速 · 8 KB RTC 快速 |
| 外部存储 | 支持外挂 SPI Flash(模组通常 4 MB)与 SD 卡 / eMMC |
| 无线 | Wi-Fi 802.11 b/g/n(2.4 GHz)+ 蓝牙 v4.2 BR/EDR 与 BLE |
| GPIO | 34 路可编程引脚,可灵活映射到内部外设 |
| 模拟输入 | 18 通道 12 位 SAR ADC(ADC1 8 路 / ADC2 10 路,量程 0–3.3 V) |
| 模拟输出 | 2 通道 8 位 DAC(仅 GPIO25 / GPIO26) |
| 电容触摸 | 10 路触摸传感通道,可作按键或接近感应 |
| 通信接口 | 3×UART · 2×I2C · 4×SPI(2 路可用)· 2×I2S · CAN 2.0 · SDIO |
| PWM | LEDC 控制器,16 路独立通道,最高 40 MHz 基准时钟 |
| 其他外设 | 霍尔传感器 · 温度传感器 · 多路定时器 · 以太网 MAC(需外接 PHY) |
| 安全 | 安全启动 · Flash 加密 · 1024 位 OTP · AES / SHA / RSA / ECC 硬件加速 |
| 供电 | 2.3–3.6 V(典型 3.3 V)· I/O 耐压 3.3 V |
| 功耗 | Wi-Fi 发射峰值约 240 mA · Modem 睡眠 20 mA · 深度睡眠约 10 µA |
| 封装 | QFN 5×5 mm / 48 引脚;WROOM 模组约 18×25.5×3.1 mm |
| 温度范围 | -40 ℃ ~ +85 ℃(工业级) |
| 价格参考 | 芯片约 ¥10 起,开发板约 ¥15–40(2026 年市价) |
选型的第一原则不是「哪个最强」,而是「我需要 Wi-Fi 6 / Thread / 摄像头 / 低功耗中的哪几项」。点击卡片查看详情。
| 型号 | 架构 / 主频 | 片上内存 | 无线连接 | GPIO | 最突出的能力 |
|---|---|---|---|---|---|
| ESP32 | Xtensa LX6 双核 · 240 MHz | 520 KB | Wi-Fi 4 · BT 4.2 双模 | 34 | 接口最全,资料与例程最多 |
| ESP32-S2 | Xtensa LX7 单核 · 240 MHz | 320 KB | Wi-Fi 4(无蓝牙) | 43 | USB OTG 与更完善的安全启动 |
| ESP32-S3 | Xtensa LX7 双核 · 240 MHz | 512 KB(可选 PSRAM) | Wi-Fi 4 · BLE 5.0 | 45 | 摄像头 / LCD 接口与 AI 向量加速 |
| ESP32-C3 | RISC-V 单核 · 160 MHz | 400 KB | Wi-Fi 4 · BLE 5.0 | 22 | 低成本的 Wi-Fi + BLE 方案 |
| ESP32-C6 | RISC-V 高性能核 + 低功耗核 | 512 KB + 16 KB LP | Wi-Fi 6 · BLE 5.3 · 802.15.4 | 30 | 一套芯片通吃 Thread / Zigbee / Matter |
| ESP32-C5 | RISC-V 单核 · 240 MHz | 384 KB | Wi-Fi 6 双频 · BLE 5 · 802.15.4 | 28 | 少见的 5 GHz 双频物联网芯片 |
| ESP32-H2 | RISC-V 单核 · 96 MHz | 320 KB | BLE 5.3 · 802.15.4(无 Wi-Fi) | 26 | 纯 Thread / Zigbee 低功耗节点 |
| ESP32-P4 | RISC-V 双核 · 400 MHz | 768 KB(可选 32 MB PSRAM) | 无无线(可外挂 C6 协处理) | 55 | MIPI-CSI / DSI,跑 HMI 与多媒体 |
同一颗芯片,不同的板子会带来完全不同的体验。以下六款是中文社区里最常见的选择。
官方开发板 · 最标准的起点
第三方兼容板 · 面包板友好
带 OV2640 摄像头 · 图像入门
AI 与多媒体开发的首选
指甲盖大小 · 可穿戴与量产
一体化屏幕 + 外壳 + 电池
没有「最好」的工具链,只有最适合你当下目标的那一条。
用 setup() 和 loop() 就能跑起来,大量传感器库开箱即用。适合快速验证想法与教学。
默认的 Arduino 内核本身基于 ESP-IDF,你仍然可以用 FreeRTOS 与原生 API。
乐鑫官方开发框架,基于 FreeRTOS,提供完整 API、组件管理与图形化配置(menuconfig)。
基于 CMake 与 VS Code 插件,是商业项目的事实标准。
VS Code 里的专业嵌入式环境,一份 platformio.ini 管理多板型、多框架与依赖版本。
同一项目可切换 Arduino 或 ESP-IDF 框架,适合需要复现构建结果的场景。
用 Python 直接控制引脚与外设,改一行代码即可重跑,不需要编译下载。
代价是运行时开销与内存占用更高,高实时性任务仍建议用 C。
官方在基础 SDK 之上提供的领域框架:音频流、语音识别与唤醒词、Matter 智能家居接入。
这些框架只在 ESP32-S3、ESP32-C6 等新型号上完整可用。
Wokwi 可以在浏览器里画电路、跑仿真;ESP-Launchpad 支持用浏览器直接烧录官方例程。
仿真的外设行为与真实硬件仍有差异,但足以理解代码逻辑。
前四个可直接粘贴到 Arduino IDE 中运行,MicroPython 示例需先烧录固件。
按顺序走完这六步,你就能看到板子上的灯按你的意思闪。
一块 ESP32 开发板 + 一根数据线。很多「烧录失败」的根源是一根只能充电的 USB 线,请优先使用确认能传数据的线缆。
老款 ESP32 板载桥接芯片通常是 CP2102 或 CH340,需要安装对应驱动;新款 ESP32-S3 / C3 使用原生 USB,一般免驱。
装好 Arduino IDE 后,在「首选项 → 附加开发板管理器网址」中添加下面这一行,再在开发板管理器中搜索 esp32 并安装。
https://espressif.github.io/arduino-esp32/package_esp32_index.json
开发板选择 ESP32 Dev Module(或对应的具体型号),端口选择上一步出现的 COM 口,上传速度保持默认即可。
点击上传。如果一直卡在 Connecting........,按住 BOOT 键不放,点一下 EN 键再松开,然后松开 BOOT 键,手动进入下载模式后重试。
Writing at 0x... 才能松手。把波特率设为 115200,就能看到程序输出的日志。若显示乱码,先检查这里是否设错——这是最常见的「乱码」来源。
从阳台上的花盆到工厂车间的网关,这些场景都有一个共同点:需要一个便宜、能联网、能长期运行的控制器。
把传统灯具、窗帘、空调接入 Home Assistant 或米家,做语音控制与场景联动。
温湿度、光照、空气质量采集后通过 Wi-Fi 或 MQTT 上报,电池可运行数月。
ESP32-CAM / S3 做定时拍照、人脸检测、包裹识别,甚至跑轻量神经网络。
ESP32-S3 配合 ESP-SR 做离线唤醒词识别,唤醒后再接入云端语音服务。
读取 Modbus 电表、PLC 数据并上云,做能耗看板与设备远程监控。
计步、心率、定位手环:BLE 低功耗连接手机,配合小型电池长期待机。
电子设计竞赛、创客马拉松的热门平台:资料多、成本低,一天就能做出可演示的原型。
从 C 语言、网络协议到 RTOS 与低功耗设计,一颗芯片能贯穿大半个嵌入式课程。
这些问题在论坛里被重复问过成千上万次,答案其实都不复杂。
ESP8266 只有单核 80–160 MHz、没有蓝牙,GPIO 与内存也少得多,但价格更低、模块更小。今天的结论很明确:新项目直接选 ESP32 或 ESP32-C3,两者价格差距已经很小,而能力差距很大。只有极端受限于成本与体积的场景,才值得回头考虑 ESP8266。
大多数型号只支持 2.4 GHz。ESP32-C5 是家族中率先支持 2.4 GHz 与 5 GHz 双频的芯片,面向干扰更低、吞吐更高的场景。如果你的路由器只开了 5 GHz,老款 ESP32 会完全搜不到网络——这是新手常见的第一道坎。
ADC2 与 Wi-Fi 模块共用硬件资源:Wi-Fi 一旦启用,ADC2 就无法使用。建议把模拟传感器接到 ADC1(GPIO32–39)。另外 ESP32 内置 ADC 的线性度一般,做精确测量需要校准,或改用外部 ADC 芯片(例如 ADS1115)。
这几根引脚在模组内部直接连接 SPI Flash,用于存放你的程序代码。把它们当作普通 IO 使用,会导致程序崩溃或无法启动。很多引脚图上把它们画成灰色,就是这个原因。
不可以。ESP32 是 3.3 V 逻辑器件,除极少数标注为 5 V 耐受的引脚外,输入高于 3.6 V 可能永久损坏芯片。连接 5 V 传感器时请使用电平转换模块,或改用本身工作在 3.3 V 的器件。反过来,用 3.3 V 输出去驱动 5 V 器件时,也常常需要转换才能被正确识别为高电平。
按这个顺序排查:① 换一根确认能传数据的 USB 线;② 确认串口驱动装好、端口号正确;③ 关闭占用串口的监视器或其他软件;④ 手动进入下载模式(按住 BOOT,点一下 EN,再松开 BOOT);⑤ 把上传波特率降到 115200。绝大多数情况下,前三步就能解决。
取决于占空比。假设每 10 分钟唤醒一次,每次唤醒 5 秒完成采集与上报,平均电流大约在 1–3 mA 量级,用 2000 mAh 电池计算,理论续航约 1–2 个月。关键在于能睡就睡——Wi-Fi 保持常连的功耗,是深度睡眠的上万倍。想做到数年续航,需要 ULP 协处理器与 ESP-NOW 之类的低功耗协议配合。
两者并不冲突。建议路径是:先用 Arduino 快速做出能运行的东西,建立信心;再逐步深入 ESP-IDF,理解任务调度、事件循环与内存管理。事实上 Arduino 内核本身就构建在 ESP-IDF 之上,你随时可以在 Arduino 项目里直接调用 IDF 的原生 API。
能跑轻量级的。ESP32-S3 内置向量指令,配合 ESP-DL 与 TensorFlow Lite Micro,可以实现关键词唤醒、简单图像分类与人脸检测;ESP32-P4 性能更强,能处理更复杂的视觉任务。但请对预期保持理性:它适合做推理而不是训练,模型通常需要量化到几百 KB 的量级。
官方文档是唯一权威的来源,社区教程能帮你更快走出坑。
ESP-IDF 编程指南、硬件参考与芯片数据手册,全部可以在线查阅。
docs.espressif.com ↗ 代码Arduino 内核源码、版本发布说明与大量 issue,很多问题在这里已有答案。
github.com/espressif/arduino-esp32 ↗ 固件按型号下载 .bin 固件,用 esptool 烧录后即可用 Python 开发。
micropython.org ↗ 仿真没有硬件也能在浏览器里搭电路、跑代码,适合验证逻辑与接线。
wokwi.com ↗ 选型对比全系列 SoC 的参数与目标应用,是选型决策的第一站。
espressif.com ↗ 社区英文世界最系统的 ESP32 教程站,按传感器与外设分类,代码可直接运行。
randomnerdtutorials.com ↗