Files
esp32-dev/components/esp32-c3_constraints.md
2026-08-05 17:25:09 +08:00

2.2 KiB
Raw Permalink Blame History

ESP32-C3 硬件约束与踩坑

芯片:esp32-c3 | 类别:constraints | 信源: Espressif 官方文档

1. Strapping 引脚方向与 D0WD 相反 ⚠️ 最危险的坑

  • 进下载模式 — GPIO0 → GND(低电平), GPIO8 → 3.3V高电平
  • 正常 Boot ×GPIO0 高电平 — GPIO8 低电平

C3 正确设计: GPIO8 下拉 GND(默认低=正常启动)+ 按键接 3.3V(按下=进下载)

如果按 D0WD 习惯给 GPIO8 加上拉 + 按键到 GND → 每次 RESET 都进下载模式,根本启动不了!

2. GPIO2 不能接上拉 ⚠️ 量产必炸

GPIO2 上电瞬间决定 VDD_SPI 电压:

  • GPIO2=LOW → VDD_SPI=3.3V
  • GPIO2=HIGH → VDD_SPI=1.8V Flash 读不出

GPIO2 绝对禁止: I2C SDA(开漏+上拉)、OneWire、任何带外部上拉的信号

3. C3 Strapping 全表

  • GPIO2 (Pin5) — VDD_SPI 电压选择,需保持 LOW=3.3V。禁止接上拉!禁止做 I2C SDA
  • GPIO8 (Pin22) — ROM 打印开关 + 下载模式。HIGH=关闭打印, LOW=进下载。需上拉 3.3V,与 D0WD 方向相反
  • GPIO9 (Pin23) — 启动模式选择。HIGH=SPI Boot, LOW=Download Boot。需上拉 + BOOT 键

4. USB-JTAG 约束

  • GPIO18/19 默认 USB-JTAG,上电即启用
  • 用作普通 GPIO 需固件重配 IO MUX
  • 重配后 USB-JTAG 失效,只能 UART 烧录

5. RTC GPIO 唤醒限制

  • Deep-sleep: GPIO05
  • Light-sleep: GPIO011
  • Deep-sleep: GPIO1221

6. Flash 占用

GPIO1217: QSPI Flash 占用(模组内部连接)

7. 供电

  • 3.03.6V, 推荐 3.3V
  • LDO ≥500 mA, 纹波 <75 mVpp
  • WiFi TX 峰值 ~190 mA

8. 无硬件

DAC, 触摸, ULP, 以太网

9. 常见踩坑

  • C3 一直进下载模式: GPIO8 加了上拉 → GPIO8 下拉到 GND,按键接 3.3V
  • GPIO2 做 I2C SDA 芯片不启动: GPIO2 被上拉 → Flash 1.8V → SDA 换到 GPIO1
  • USB 烧录后 GPIO18/19 不能用: USB-JTAG 占用 → 固件中切换 IO MUX
  • Deep-sleep 唤醒不了 GPIO12+: 只有 GPIO05 可唤醒 Deep-sleep → 用 GPIO05
  • 嘉立创封装引脚与数据手册不一致: 封装厂商映射差异 → 以 EDA 标注为准