跳转到内容

DevKit vs D1 vs Tower 开发板对比

本节对多种常见的ESP32开发板进行详细并排对比:标准DevKit v1、ESP32 D1(R32)、ESP32 Tower(M5Stack),以及ESP32-C系列和ESP32-P4系列。通过本节学习,你将能够:

  • 区分每种开发板型号的硬件规格
  • 根据项目的物理和电气需求匹配开发板选择
  • 识别每种外形尺寸的优势和权衡
  • 熟悉ESP32基础知识(01-01)
  • 对GPIO、I2C和SPI接口的基本理解

相同的ESP32芯片可以封装在不同的开发板外形尺寸中。选择会影响:

  • 物理尺寸:能否适应目标外壳?
  • GPIO可访问性:引出了多少引脚?
  • 供电方式:USB vs 电池,电压调节
  • 扩展选项:可堆叠模块、Grove连接器等
  • 成本:从$5的DevKit到$40+的M5Stack

大多数ESP32教程所针对的标准参考设计。

技术规格

参数
SoCESP32-D0WDQ6(双核Xtensa LX6)
时钟速度240 MHz(可配置)
SRAM520 KB
闪存4 MB(SPI)
Wi-Fi802.11 b/g/n(2.4 GHz)
蓝牙BLE 4.2 + 经典蓝牙
USB接口CP2102或CH340(UART)
工作电压5V(USB)/ 3.3V(稳压)
可用GPIO19(30引脚)或25(38引脚)
ADC2x 12位(共18通道)
DAC2x 8位

连接器和布局

  • Micro-USB用于供电和编程
  • 两个按钮:EN(复位)和BOOT(刷写模式)
  • 板载LED在GPIO 2(内置)
  • 两侧有排针(面包板友好)

最佳用途

  • 原型设计和学习
  • 具有适度GPIO需求的传感器项目
  • 大多数教程和社区示例

限制

  • 无内置显示或电池管理
  • 面包板占用面积大
  • 需要安装CP2102/CH340驱动

兼容许多现有扩展板的Arduino Uno外形尺寸开发板。

技术规格

参数
SoCESP32-WROOM-32(双核Xtensa LX6)
时钟速度240 MHz
SRAM520 KB
闪存4 MB
Wi-Fi802.11 b/g/n
蓝牙BLE 4.2 + 经典蓝牙
USB接口Micro-USB(CH340)
可用GPIO12(以Uno引脚方式引出)
输入电压7-12V(DC电源插孔)或5V(USB)

Arduino扩展板兼容性

D1 R32模仿Arduino Uno引脚布局,使其兼容许多现有的Arduino扩展板:

  • 引脚D0-D13、A0-A5匹配Uno位置
  • I2C在D14(SDA)和D15(SCL)
  • SPI在D11(MOSI)、D12(MISO)、D13(SCK)

最佳用途

  • 重用现有Arduino扩展板的项目
  • 需要更高输入电压的应用(通过DC插孔的7-12V)
  • 从Arduino Uno过渡到ESP32

限制

  • 引出的GPIO引脚比DevKit少
  • Uno外形尺寸对紧凑设计较大
  • 3.3V逻辑可能与5V扩展板冲突

一体化模块化物联网控制器,内置显示屏、电池和扩展功能。

技术规格(M5Stack Core2)

参数
SoCESP32-D0WDQ6V3(双核)
时钟速度240 MHz
SRAM520 KB + 8 MB PSRAM
闪存16 MB
显示屏2.0” TFT-LCD(320x240,ILI9342C)
触控电容式触控面板(FT6336)
电池390 mAh LiPo(内置)
IMUMPU6886(6轴)
USBUSB-C(CP2104)
扬声器1W NS4168
麦克风SPM1423(数字)
振动电机内置
RTCBM8563
扩展Port A(I2C)、Port B(UART)、Port C(GPIO)

最佳用途

  • 人机界面(HMI)原型
  • 带显示屏的工业数据记录器
  • 需要以最少硬件投入展现专业外观的产品
  • 带有内置传感器和显示屏的快速概念验证

限制

  • 成本较高($35-45 vs DevKit的$5-10)
  • 较大的外形尺寸
  • 显示屏打开时电池续航有限
  • GPIO布局不够灵活(固定的扩展端口)
特性DevKit v1D1 R32M5Stack Tower
价格$5-8$6-10$35-45
核心ESP32ESP32ESP32
闪存4 MB4 MB16 MB
PSRAM8 MB
显示屏2.0” TFT
电池390 mAh
引出GPIO19-25123个端口
USBMicroMicroUSB-C
外形尺寸面包板Uno扩展板可堆叠
社区代码最多常见增长中
电源输入5V USB7-12V DC / 5V USB5V USB / 电池
内置传感器IMU、麦克风、触控

第一步:根据原型设计阶段选择

Section titled “第一步:根据原型设计阶段选择”
阶段推荐开发板原因
学习/首个草图DevKit v1教程最多,成本最低,面包板友好
扩展板重用D1 R32直接兼容Arduino扩展板
客户演示/概念验证M5Stack Tower内置显示屏和电池,外观专业
部署原型DevKit v1 或 D1每单位成本更低

统计需要的引脚数量:

  1. 数字I/O:传感器、按钮、LED
  2. 模拟输入:电位器、模拟传感器
  3. I2C:显示屏、传感器(占用2引脚 + VCC/GND)
  4. SPI:SD卡、显示屏(占用4+引脚)
  5. UART:GPS、串行通信(占用2引脚)

如果引脚数量超过开发板引出的数量,改用引脚更多的板或使用多路复用器。

  • 开发板可以通电并显示LED活动
  • 电脑通过USB连接时可检测到开发板
  • Arduino IDE / PlatformIO中的开发板选择匹配实际硬件
  • 所有必需的GPIO引脚在开发板排针上可访问

开发板选择与预期的引脚映射不匹配

Section titled “开发板选择与预期的引脚映射不匹配”

症状:代码在DevKit v1上正常但在D1 R32上失败;引脚号错误。

解决方案:参考特定于开发板的引脚图。D1 R32使用Arduino Uno引脚编号(D2对应ESP32的GPIO 2,但映射不总是1:1)。

症状:代码编译通过但M5Stack显示屏保持空白。

解决方案

  1. 确保使用M5Stack库(M5Core2.h或M5Stack.h)
  2. 检查开发板选择是否设置为”M5Stack-Core2”或”M5Stack”
  3. 验证TFT库初始化是否匹配M5Stack引脚布局
  4. 确认如果使用M5Stack Core2则已启用PSRAM(显示缓冲区需要)
  • 学习从DevKit v1开始:社区支持最大,成本最低,教程最多
  • 客户演示使用M5Stack:内置显示屏和电池消除了接线复杂性
  • 扩展板重用考虑D1 R32:如果你已拥有Arduino扩展板(LCD、电机驱动等)
  • 尽早规划生产:如果项目要批量生产,设计使用ESP32模块的自定义PCB而不是开发板
  • 记录引脚分配:始终记录哪个GPIO对应哪个功能,以确保可重复性
  1. DevKit v1 — 最适合学习、原型设计和通用用途($5-8)
  2. D1 R32 — 最适合重用Arduino扩展板,输入电压范围更高($6-10)
  3. M5Stack Tower — 最适合精美演示、HMI原型和需要显示屏的项目($35-45)
  4. 开发板选择取决于GPIO需求、物理限制、预算和目标受众