ESP在线刷写工具
在浏览器中通过 Web Serial 给 ESP32/ESP8266 刷写 .bin 固件,支持多文件与分区地址、批量导入、地址与写入范围校验、刷写波特率和复位模式选择,并实时显示进度与日志。仅 Chrome/Edge 89+ 且需 HTTPS 与串口授权,固件不会上传服务器。
免费在线工具
Loading…
使用说明
- 使用 Chrome 89+ 或 Edge 89+ 并通过 HTTPS 打开页面,点击「选择串口并连接」,在浏览器弹窗中选择设备串口并授权。
- 选择刷写波特率(可选 115200、230400、460800、921600、2000000,默认 460800)与复位模式(自动 DTR/RTS、USB-JTAG 或手动)。连接期间这两项不可修改,初始连接固定使用 115200。
- 添加固件:「+ 添加文件」逐行选择 .bin 并填写十六进制地址,或用「批量导入 .bin」一次导入多个文件(地址按常见分区名预填);也可从地址预设中选择 bootloader 0x0、分区表 0x8000、OTA 数据 0xe000、固件 0x10000、ESP8266 固件 0x0。
- 检查校验提示:地址必须是最多 8 位的十六进制数(可带 0x),每个条目都要有文件,且不能有重复地址或重叠的写入范围。
- 点击「开始刷写」,等待进度条完成;成功后设备会自动复位,也可在日志中查看过程与错误提示。
- 没有硬件时可点「加载示例数据」查看内置示例固件的地址、大小与 ESP 校验和,示例不会触发刷写。
注意:擦除与写入不可撤销,地址写错可能覆盖引导程序,刷写前请核对目标芯片的分区表;示例固件不可启动,仅用于演示。
功能介绍
- 基于 Web Serial 与 esptool-js,在浏览器中直接连接串口并刷写 ESP32/ESP8266 固件,无需安装 Python 或 esptool。
- 支持多文件刷写:每个条目单独设置十六进制地址,内置 bootloader、分区表、OTA 数据、固件与 ESP8266 固件的地址预设。
- 批量导入多个 .bin 时按文件名猜测常见分区地址(bootloader、partition、boot_app0/ota、firmware/app),并自动跳过同名同大小的重复文件。
- 刷写前校验:地址格式(最多 8 位十六进制,可带 0x)、文件是否为空、地址是否重复、写入范围是否重叠,问题会定位到具体条目。
- 可选刷写波特率 115200、230400、460800、921600、2000000,以及自动、USB-JTAG、手动三种复位模式。
- 刷写进度按文件和字节实时显示,日志输出连接、同步、写入与复位过程,并针对同步失败、串口占用、权限不足等常见错误给出提示。
- 内置示例固件用于演示地址、大小和 ESP 镜像校验和,不会触发刷写,也不会向设备写入任何数据。
使用场景
给 ESP32 开发板刷写固件
在 Chrome/Edge 中连接开发板,选择 Arduino、MicroPython 或厂商提供的 .bin 固件并写入,无需安装 esptool 环境。
批量刷写 bootloader、分区表与应用
一次导入多个 .bin 文件,分别设置 0x0、0x8000、0x10000 等地址,工具会检查重复地址与范围重叠后统一刷写。
现场无 Python 环境时应急刷机
在只有浏览器的电脑上通过 Web Serial 完成刷写,适合售后、教学或客户现场快速恢复设备。
核对固件地址与镜像校验和
刷写前用地址预设与范围校验确认布局,加载示例数据查看 ESP 镜像魔数与校验和,减少写错地址的风险。
常见问题
支持哪些浏览器?需要什么条件?
需要支持 Web Serial 的 Chrome 89+ 或 Edge 89+,并通过 HTTPS 访问页面。首次连接必须由用户在弹出的串口选择框中授权;Firefox 与 Safari 目前不支持 Web Serial。
连接失败或同步失败怎么办?
先确认 USB 线支持数据传输而非仅充电,并安装对应驱动(CH340/CH341 用 CH341SER,CP2102 用 CP210x)。外置 UART 芯片需按住 BOOT/FLASH、短按 RST/EN、再松开 BOOT 后重试;ESP32-S3/C3 原生 USB 可使用自动复位。还要关闭 Arduino IDE 串口监视器等占用串口的程序。
固件地址怎么填?写错会怎样?
地址是最多 8 位的十六进制数,可带 0x 前缀,工具会规范化为小写形式。可从预设选择 bootloader 0x0、分区表 0x8000、OTA 数据 0xe000、固件 0x10000 或 ESP8266 固件 0x0。地址写错可能覆盖引导程序或分区表,且擦除与写入不可撤销,刷写前务必核对目标芯片的分区表。
会整片擦除 Flash 吗?
不会。刷写调用时 eraseAll 设为 false,只写入你添加的文件范围,flashMode、flashFreq 和 flashSize 均保持芯片现有设置。但如果地址填写错误或文件范围重叠,仍可能覆盖其他数据。
支持 ESP8266 吗?
支持。地址预设中提供「ESP8266固件 (0x0)」,可用于 ESP8266 的常见单文件固件布局;具体地址仍应以目标固件的分区布局为准。
示例固件可以直接刷进设备吗?
不能。示例固件只包含一个镜像头和少量演示字节,不是可启动的真实固件,仅用于展示地址、大小和校验和。请连接真实设备并选择自己的 .bin 文件后再刷写。