ESP32 进入下载(烧录)模式完整方法
核心原理
ESP32 复位(EN 引脚上升沿瞬间)检测到 GPIO0 为低电平,就会进入 UART 下载模式;GPIO0 高电平则正常运行 Flash 程序Espressif Systems。
引脚定义:
GPIO0= BOOT 按键(启动选择脚)EN(CHIP_PU)= 复位按键
一、标准开发板手动按键进入(最常用)
绝大多数 ESP32-WROOM、ESP32-DevKit 板都有 BOOT、EN 两个按键,步骤严格按顺序:
- 按住 BOOT 不放
- 短按一下 EN 然后立刻松开 EN
- 继续按住 BOOT 0.5 秒再松开
✅ 此时已经进入下载模式,串口会打印
waiting for download
极简口诀
按住 BOOT → 按一下 EN 松手 → 再松 BOOT
二、裸板 / 最小系统手动接线进入
没有按键时直接接线:
- 把 GPIO0 接到 GND(拉低)
- EN 引脚断电再上电 / 给一个复位脉冲
- 上电完成后可以断开 GPIO0 与 GND,保持下载模式
三、自动进入下载(官方开发板默认)
带 CH340/CP2102 的成品 ESP32 自带自动下载电路:
- Arduino IDE、ESP-IDF、esptool.py 点击上传,软件自动控制串口 DTR/RTS 电平,自动拉低 GPIO0 + 复位,无需手动按键
- 烧录失败、识别不到端口时,改用上面手动按键方式即可
四、判断是否成功进入下载模式
串口监视器(波特率 115200)出现下面日志即为成功:
rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download
五、常见问题
- 按了按键进不去:松手时序错,必须先松 EN、后松 BOOT
- 自动下载失效:USB 转串口芯片损坏、DTR/RTS 线路虚焊
- ESP32-C3/S3 引脚不同:C3 是 GPIO9 控制下载,不要沿用 GPIO0 操作

