乐鑫科技 Espressif · 物联网主力 SoC

一颗芯片
连接物理世界

ESP32 把 2.4 GHz Wi-Fi、蓝牙、双核处理器、18 路 ADC 和十几路通信接口 封装进一颗 5×5 mm 的芯片里,而开发板只要一杯咖啡的钱。 它是过去十年里被最多人学过的物联网芯片,也是无数智能设备的起点。

  • 0MHz 双核主频
  • 0KB 片上 SRAM
  • 0路可编程 GPIO
  • 0深度睡眠电流
ESP32 ESP32-WROOM-32E FCC ID · MADE IN CHINA EN BOOT PWR GPIO2 ESP32-DevKitC V4 3V3 · GND · 5V · TXD · RXD MICRO-USB
Wi-Fi802.11 b/g/n 蓝牙BR/EDR + BLE 内核Xtensa LX6 ×2
01 · 概览

ESP32 到底是什么

它不是一块板子,而是一个由乐鑫(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 共存,可同时做网关与配网。

双核 240 MHz

一个核心专心处理网络协议栈,另一个跑你的业务逻辑,互不抢占。

微安级待机

深度睡眠约 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 全面支持,社区示例几乎覆盖所有传感器。

02 · 规格

经典款 ESP32 硬件规格

以下为 ESP32-D0WD-V3(ESP32-WROOM-32E 模组所用芯片)的典型参数。

ESP32 经典款规格表
处理器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
GPIO34 路可编程引脚,可灵活映射到内部外设
模拟输入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
PWMLEDC 控制器,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 年市价)
03 · 家族

ESP32 不是一颗芯片,而是一个家族

选型的第一原则不是「哪个最强」,而是「我需要 Wi-Fi 6 / Thread / 摄像头 / 低功耗中的哪几项」。点击卡片查看详情。

ESP32 芯片家族对比
型号 架构 / 主频 片上内存 无线连接 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 与多媒体
新手入门ESP32-DevKitC 或 ESP32-C3,资料最多、价格最低。
做摄像头 / 屏幕选 ESP32-S3,带 PSRAM 的版本更好。
做智能家居新品选 ESP32-C6,一步到位支持 Matter。
极致电池续航ESP32-C3 或 ESP32-H2,配合深度睡眠。
04 · 开发板

常见开发板与它们的性格

同一颗芯片,不同的板子会带来完全不同的体验。以下六款是中文社区里最常见的选择。

ESP32

ESP32-DevKitC V4

官方开发板 · 最标准的起点

  • WROOM-32E 模组,引脚全部引出
  • Micro-USB 供电,板载 CP2102 串口芯片
  • EN 与 BOOT 按键齐全,方便手动进入下载模式
推荐新手约 ¥25
ESP32

NodeMCU-32S

第三方兼容板 · 面包板友好

  • 排针间距 2.54 mm,宽度适合直接插面包板
  • 常配 CH340 串口芯片,需要自行安装驱动
  • 性价比高,但也是劣质板最多的一类
注意兼容性约 ¥15
ESP32

ESP32-CAM

带 OV2640 摄像头 · 图像入门

  • 板载摄像头接口与 SD 卡槽,可做图传与拍照
  • 没有 USB 接口,需外接 USB-TTL 下载器
  • 可用引脚很少,供电要求高,容易重启
引脚紧张约 ¥20
ESP32-S3

ESP32-S3-DevKitC-1

AI 与多媒体开发的首选

  • 原生 USB OTG,可模拟键盘、U 盘与摄像头
  • 支持 PSRAM,能跑 LCD、摄像头与语音模型
  • ESP-DL / ESP-SR 语音识别官方支持
接口最全约 ¥55
ESP32-C3

Seeed XIAO ESP32C3

指甲盖大小 · 可穿戴与量产

  • 仅 21×17.8 mm,重量约 3 g,带电池管理
  • Type-C 接口,USB 原生免驱动
  • 适合小型化产品原型与穿戴设备
体积最小约 ¥40
ESP32

M5Stack Core2

一体化屏幕 + 外壳 + 电池

  • 2 英寸触摸屏、扬声器、麦克风、IMU 全部集成
  • 铝合金外壳,出厂即可用的产品形态
  • Arduino / UIFlow 双支持,适合做 HMI 与教学
开箱即用约 ¥250
05 · 开发环境

四条路,通往同一颗芯片

没有「最好」的工具链,只有最适合你当下目标的那一条。

Arduino

Arduino IDE / arduino-esp32

用 setup() 和 loop() 就能跑起来,大量传感器库开箱即用。适合快速验证想法与教学。

上手难度 ★☆☆☆☆ 典型用途 原型 / 教学

默认的 Arduino 内核本身基于 ESP-IDF,你仍然可以用 FreeRTOS 与原生 API。

官方 SDK

ESP-IDF

乐鑫官方开发框架,基于 FreeRTOS,提供完整 API、组件管理与图形化配置(menuconfig)。

上手难度 ★★★☆☆ 典型用途 产品级固件

基于 CMake 与 VS Code 插件,是商业项目的事实标准。

跨平台

PlatformIO

VS Code 里的专业嵌入式环境,一份 platformio.ini 管理多板型、多框架与依赖版本。

上手难度 ★★☆☆☆ 典型用途 多项目 / 团队协作

同一项目可切换 Arduino 或 ESP-IDF 框架,适合需要复现构建结果的场景。

Python

MicroPython

用 Python 直接控制引脚与外设,改一行代码即可重跑,不需要编译下载。

上手难度 ★☆☆☆☆ 典型用途 教学 / 快速实验

代价是运行时开销与内存占用更高,高实时性任务仍建议用 C。

生态

ESP-ADF / ESP-SR / ESP-Matter

官方在基础 SDK 之上提供的领域框架:音频流、语音识别与唤醒词、Matter 智能家居接入。

上手难度 ★★★☆☆ 典型用途 语音 / 智能家居

这些框架只在 ESP32-S3、ESP32-C6 等新型号上完整可用。

零安装

在线仿真与浏览器烧录

Wokwi 可以在浏览器里画电路、跑仿真;ESP-Launchpad 支持用浏览器直接烧录官方例程。

上手难度 ★☆☆☆☆ 典型用途 没板子也能先学

仿真的外设行为与真实硬件仍有差异,但足以理解代码逻辑。

06 · 代码

五个示例,覆盖 ESP32 的日常

前四个可直接粘贴到 Arduino IDE 中运行,MicroPython 示例需先烧录固件。

blink.ino C++ · Arduino
07 · 上手

从拆快递到点亮 LED

按顺序走完这六步,你就能看到板子上的灯按你的意思闪。

  1. 1

    准备硬件

    一块 ESP32 开发板 + 一根数据线。很多「烧录失败」的根源是一根只能充电的 USB 线,请优先使用确认能传数据的线缆。

    小技巧:换一根线、换一个 USB 口,能解决大约三成的连接问题。
  2. 2

    安装 USB 串口驱动

    老款 ESP32 板载桥接芯片通常是 CP2102 或 CH340,需要安装对应驱动;新款 ESP32-S3 / C3 使用原生 USB,一般免驱。

    在设备管理器里能看到 COM 端口,说明这一步成功了。
  3. 3

    安装开发环境

    装好 Arduino IDE 后,在「首选项 → 附加开发板管理器网址」中添加下面这一行,再在开发板管理器中搜索 esp32 并安装。

    https://espressif.github.io/arduino-esp32/package_esp32_index.json
    国内网络下这一步可能较慢,具备条件时配置代理会顺畅许多。
  4. 4

    选择板型与端口

    开发板选择 ESP32 Dev Module(或对应的具体型号),端口选择上一步出现的 COM 口,上传速度保持默认即可。

    不确定 Flash 大小时选 4 MB;勾选「显示详细输出」能看到更完整的编译日志。
  5. 5

    编译并烧录

    点击上传。如果一直卡在 Connecting........,按住 BOOT 键不放,点一下 EN 键再松开,然后松开 BOOT 键,手动进入下载模式后重试。

    部分开发板需要长按 BOOT,直到出现 Writing at 0x... 才能松手。
  6. 6

    打开串口监视器

    把波特率设为 115200,就能看到程序输出的日志。若显示乱码,先检查这里是否设错——这是最常见的「乱码」来源。

    启动瞬间的乱码属于正常现象:ESP32 上电初始波特率是 74880,随后才切换到你的速率。
08 · 应用

人们用 ESP32 做了什么

从阳台上的花盆到工厂车间的网关,这些场景都有一个共同点:需要一个便宜、能联网、能长期运行的控制器。

智能家居

把传统灯具、窗帘、空调接入 Home Assistant 或米家,做语音控制与场景联动。

传感器节点

温湿度、光照、空气质量采集后通过 Wi-Fi 或 MQTT 上报,电池可运行数月。

图像与视觉

ESP32-CAM / S3 做定时拍照、人脸检测、包裹识别,甚至跑轻量神经网络。

语音交互

ESP32-S3 配合 ESP-SR 做离线唤醒词识别,唤醒后再接入云端语音服务。

工业与能耗

读取 Modbus 电表、PLC 数据并上云,做能耗看板与设备远程监控。

可穿戴设备

计步、心率、定位手环:BLE 低功耗连接手机,配合小型电池长期待机。

比赛与创客

电子设计竞赛、创客马拉松的热门平台:资料多、成本低,一天就能做出可演示的原型。

教学与课程

从 C 语言、网络协议到 RTOS 与低功耗设计,一颗芯片能贯穿大半个嵌入式课程。

09 · 问答

新手最常卡的九个问题

这些问题在论坛里被重复问过成千上万次,答案其实都不复杂。

ESP32 和 ESP8266 应该选哪个?

ESP8266 只有单核 80–160 MHz、没有蓝牙,GPIO 与内存也少得多,但价格更低、模块更小。今天的结论很明确:新项目直接选 ESP32 或 ESP32-C3,两者价格差距已经很小,而能力差距很大。只有极端受限于成本与体积的场景,才值得回头考虑 ESP8266。

ESP32 支持 5 GHz Wi-Fi 吗?

大多数型号只支持 2.4 GHz。ESP32-C5 是家族中率先支持 2.4 GHz 与 5 GHz 双频的芯片,面向干扰更低、吞吐更高的场景。如果你的路由器只开了 5 GHz,老款 ESP32 会完全搜不到网络——这是新手常见的第一道坎。

为什么 ADC2 读出来的值不对?

ADC2 与 Wi-Fi 模块共用硬件资源:Wi-Fi 一旦启用,ADC2 就无法使用。建议把模拟传感器接到 ADC1(GPIO32–39)。另外 ESP32 内置 ADC 的线性度一般,做精确测量需要校准,或改用外部 ADC 芯片(例如 ADS1115)。

为什么 GPIO 6 到 11 不能用?

这几根引脚在模组内部直接连接 SPI Flash,用于存放你的程序代码。把它们当作普通 IO 使用,会导致程序崩溃或无法启动。很多引脚图上把它们画成灰色,就是这个原因。

引脚可以直接接 5 V 吗?

不可以。ESP32 是 3.3 V 逻辑器件,除极少数标注为 5 V 耐受的引脚外,输入高于 3.6 V 可能永久损坏芯片。连接 5 V 传感器时请使用电平转换模块,或改用本身工作在 3.3 V 的器件。反过来,用 3.3 V 输出去驱动 5 V 器件时,也常常需要转换才能被正确识别为高电平。

烧录一直失败,报 Failed to connect,怎么办?

按这个顺序排查:① 换一根确认能传数据的 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 内核本身就构建在 ESP-IDF 之上,你随时可以在 Arduino 项目里直接调用 IDF 的原生 API。

ESP32 能跑人工智能吗?

能跑轻量级的。ESP32-S3 内置向量指令,配合 ESP-DL 与 TensorFlow Lite Micro,可以实现关键词唤醒、简单图像分类与人脸检测;ESP32-P4 性能更强,能处理更复杂的视觉任务。但请对预期保持理性:它适合做推理而不是训练,模型通常需要量化到几百 KB 的量级。