ESP32 是由乐鑫科技(Espressif Systems)开发的一系列低成本、低功耗、集成 Wi-Fi 和双模蓝牙的单芯片微控制器(SoC)。它是目前全球 IoT(物联网)和创客社区中最受欢迎的核心处理器之一。

ESP32 Development Board

ESP32 开发板实物图

一、 核心架构与型号系列

ESP32 家族已经发展出多个针对不同应用场景的子系列:

系列 核心架构 主要特点 典型应用
经典 ESP32 Xtensa LX6 (双核/单核) 经典款,外设极其丰富,性能均衡。 通用 IoT、音频流媒体
ESP32-S 系列 Xtensa LX7 (双核) 高性能,S3 带有 AI 向量指令集加速,GPIO 极多。 AI 语音识别、图像处理
ESP32-C 系列 RISC-V (单核) 高性价比,引脚兼容 ESP8266,主打低成本替换。 智能家居插座、照明控制
ESP32-H 系列 RISC-V (单核) 低功耗无线,集成 Zigbee / Thread / Matter Matter 智能家居枢纽
ESP32-P 系列 RISC-V (双核) 无无线连接,主打高性能多媒体、HMI 屏幕驱动。 工业面板、复杂 UI 交互

二、 核心硬件特性

ESP32 能够胜任复杂任务,主要得益于其强大的片上资源:

1. 处理性能

主频通常在 160MHz 至 240MHz 之间,算力高达 600 DMIPS。

2. 存储空间

  • RAM:内置约 520KB SRAM(S3 为 512KB)。
  • Flash:通常开发板板载 4MB 至 16MB Flash(程序存储)。
  • PSRAM:部分高级开发板(如 WROVER 模组)带有 2MB-8MB 外部扩展内存。

3. 无线连接

  • Wi-Fi:支持 802.11 b/g/n (Wi-Fi 4),C6/C61 等新款支持 Wi-Fi 6
  • 蓝牙:支持蓝牙 4.2 / 5.0 (BLE 低功耗蓝牙) 及经典蓝牙。

4. 丰富外设接口

  • 多达 34 个可编程 GPIO。
  • 12 位 ADC(多达 18 通道)、DAC。
  • 硬件加密加速器(AES, SHA-2, RSA, ECC)。
  • 通信协议:4x SPI, 2x I2C, 3x UART, I2S (音频), CAN 2.0 (TWAI)。

三、 引脚定义与功能详解

ESP32 Pinout Diagram

ESP32 引脚定义图

ESP32 开发板引脚功能丰富,支持GPIO 复用技术。以下是关键引脚的功能说明:

引脚类型 GPIO 编号 功能说明
电源与复位 VIN, 3V3, GND, EN VIN 接 5V 供电;EN 为复位键(低电平复位)。
只能输入 GPIO 34, 35, 36, 39 这些引脚没有上拉电阻,只能作为输入使用,常用作 ADC 输入。
ADC (模数转换) ADC1 (GPIO 32 - 39)
ADC2 (GPIO 0, 2, 4, 12, 13, 14, 15, 25, 26, 27)
ADC2 在 Wi-Fi 开启时无法使用,建议优先使用 ADC1 (GPIO 32 - 39)。
DAC (数模转换) GPIO 25, 26 输出真正的模拟电压信号。
Touch (触摸) GPIO 0, 2, 4, 12, 13, 14, 15, 27, 32, 33 内置电容触摸传感器,可直接连接金属片做触摸按键。
I2C 总线 GPIO 21 (SDA), 22 (SCL) 连接 OLED 屏幕、传感器等设备的默认接口。
SPI 总线 GPIO 23 (MOSI), 19 (MISO), 18 (CLK), 5 (CS) 默认 VSPI 接口,常用于 SD 卡或 TFT 屏幕。
特殊引脚 (Strapping) GPIO 0, 2, 5, 12, 15 上电瞬间决定启动模式。GPIO 0 低电平按 Reset 进入下载模式。

四、 常见开发板形态

五、 软件开发生态 (2026 趋势)

ESP32 的生态系统非常成熟,支持多种编程语言:

  1. Arduino (C++):门槛最低,库文件最丰富,适合初学者和快速原型。
  2. ESP-IDF (C/C++):官方专业级开发框架。2026 年趋势:许多底层框架(如 ESPHome)正默认转向 ESP-IDF 以获得更优的性能。
  3. MicroPython / CircuitPython:使用 Python 语言开发,支持“实时修改运行”,非常适合快速逻辑实现。
  4. Rust:随着 ESP32 对 RISC-V 架构的全面拥抱,Rust 语言在嵌入式安全领域的开发正变得越来越流行。

六、 选型建议

  • 如果你是初学者:优先选择 ESP32-DevKitCESP32-C3
  • 如果你需要做人工智能/图像识别:选择 ESP32-S3(支持向量指令)。
  • 如果你要做超低功耗传感器:选择 ESP32-C2C3
  • 如果你想接入 Matter 生态:选择 ESP32-C6H2