Прошивка ESP32 через Flash Download Tool: настройка и запуск

Иван Корнев·03.05.2026·5 мин

Чтобы прошить ESP32 через Flash Download Tool, необходимо установить драйверы USB-UART (CP210x или CH340), перевести модуль в режим загрузки (режим Download) и правильно указать пути к .bin файлам с соответствующими адресами памяти в программе. Этот метод используется для заводской прошивки, восстановления загрузчика или загрузки бинарных файлов, скомпилированных в ESP-IDF или Arduino IDE.

Что потребуется для начала работы

Перед началом убедитесь, что у вас есть все необходимые компоненты. Ошибки на этапе подготовки — самая частая причина неудачной прошивки.

  • ПК с ОС Windows: Flash Download Tool официально поддерживается только в Windows.
  • Плата ESP32: Любая модель (DevKit V1, WROOM, WROVER и др.).
  • Кабель USB: Обязательно с передачей данных. Дешевые кабели «только для зарядки» не подойдут.
  • Драйверы: Установленные драйверы для конвертера USB-UART вашей платы (чаще всего CP2102/CP2104 или CH340G).
  • Flash Download Tool: Актуальная версия утилиты с официального сайта Espressif.
  • Файлы прошивки: Готовые .bin файлы (например, bootloader.bin, partitions.bin, app.bin).

Пути к папкам с программой и файлами прошивки не должны содержать кириллицу (русских букв) и пробелов. Используйте латиницу, например: C:\esp\firmware\.

Подготовка среды и установка драйверов

  1. Установка драйверов. Подключите ESP32 к ПК. Откройте «Диспетчер устройств» (Device Manager). В разделе «Порты (COM и LPT)» должно появиться новое устройство.

    • Если устройство отображается с желтым восклицательным знаком или как «Неизвестное устройство», скачайте и установите драйверы для вашего чипа (CP210x или CH340).
    • Запомните номер COM-порта (например, COM3).
  2. Скачивание утилиты. Скачайте архив с Flash Download Tool с сайта Espressif. Распакуйте его в простую директорию, например C:\FlashTool. Запускать программу нужно от имени администратора (правой кнопкой мыши -> «Запуск от имени администратора»), чтобы избежать проблем с доступом к портам.

Пошаговая настройка Flash Download Tool

Интерфейс программы может немного отличаться в разных версиях, но логика остается неизменной.

Шаг 1: Выбор чипа и режима

  1. Запустите flash_download_tool_x.x.x.exe.
  2. В главном меню выберите ESP32 DownloadTool (или ESP32-C3/ESP32-S3, если у вас другая версия чипа).
  3. Откроется окно настройки прошивки.

Шаг 2: Добавление файлов прошивки

В верхней части окна есть поля для выбора файлов. Стандартная прошивка ESP32 состоит из трех частей. Вам нужно указать путь к каждому файлу и его адрес в памяти:

ФайлАдрес (Hex)Описание
bootloader.bin0x1000Загрузчик. Инициализирует чип.
partitions.bin0x8000Таблица разделов. Определяет размер областей памяти.
app.bin (или firmware.bin)0x10000Основное приложение (ваш код).

Адреса могут отличаться в зависимости от конфигурации проекта. Всегда проверяйте адреса в файле flash_args или документации вашего проекта, если вы используете кастомную сборку. Для стандартных проектов ESP-IDF адреса выше являются стандартом.

  1. Нажмите на кнопку с троеточием ... рядом с первым полем, выберите bootloader.bin и в поле справа впишите 0x1000.
  2. Повторите действие для partitions.bin (адрес 0x8000) и вашего основного файла прошивки (адрес 0x10000).
  3. Если какой-то файл не нужен (например, вы обновляете только приложение), оставьте соответствующие поля пустыми.

Шаг 3: Настройка параметров соединения

В правой или нижней части окна найдите блок настроек (Config):

  • CrystalFreq: Обычно 26M или 40M. Для большинства плат DevKit V1 ставьте 26M. Если не уверены, оставьте автоопределение или значение по умолчанию.
  • SPI Speed: 40MHz (стандарт для надежной связи).
  • SPI Mode: QIO (наиболее быстрый) или DIO (более совместимый). Если прошивка не стартует, попробуйте сменить на DIO.
  • Flash Size: Выберите объем флэш-памяти вашей платы (обычно 4MB для большинства дешевых модулей, 8MB или 16MB для продвинутых). Неверный выбор размера может привести к циклической перезагрузке.
  • COM Port: Выберите порт, который вы запомнили в Диспетчере устройств.
  • Baudrate: Скорость передачи. Для прошивки лучше ставить максимум — 921600 или 115200. Если возникают ошибки, снизьте до 115200.

Шаг 4: Дополнительные опции

  • DoNotChgBin: Если галочка стоит, инструмент не будет менять содержимое файла. Обычно оставляют включенной.
  • Erase Flash: Рекомендуется поставить галочку Erase Flash: Before Download, если вы хотите полностью очистить память перед записью. Это помогает избежать конфликтов со старыми данными.

Перевод ESP32 в режим прошивки

Это критический момент. ESP32 не всегда автоматически переходит в режим загрузки.

  1. Автоматический режим: Большинство современных плат (DevKit V1) имеют схему автоматического сброса. Просто нажмите кнопку START в программе. Плата должна сама перезагрузиться в режим прошивки.
  2. Ручной режим (если автоматический не сработал):
    • Зажмите кнопку BOOT (или IO0) на плате.
    • Не отпуская BOOT, нажмите и отпустите кнопку EN (или RESET).
    • Отпустите кнопку BOOT.
    • Теперь нажмите START в программе.

Если вы видите в логе сообщение Connecting...._____....._____, значит, плата не входит в режим загрузки. Проверьте качество кабеля, попробуйтее ручной метод или удерживайте кнопку BOOT дольше.

Запуск прошивки и проверка результата

  1. Нажмите кнопку START.
  2. Следите за окном логов внизу. Вы увидите процесс стирания памяти (если выбрано) и записи блоков.
  3. При успешном завершении появится надпись FINISH или SUCCESS, а прогресс-бар заполнится зеленым цветом.
  4. Нажмите кнопку EN (Reset) на плате, чтобы перезагрузить её и запустить новую прошивку.

Частые ошибки и их решения

Ошибка / СимптомВозможная причинаРешение
COM port not foundДрайвер не установлен или кабель только для зарядкиПереустановите драйверы, замените USB-кабель на качественный.
Connecting... (бесконечно)Неверный режим загрузкиИспользуйте ручной метод (BOOT + EN). Проверьте, не замкнут ли пин IO0 на землю постоянно.
Invalid head of packetНестабильное соединение или высокая скоростьСнижайте Baudrate до 115200. Проверьте контакты.
Прошивка завершена, но плата молчитНеверные адреса или размер FlashПроверьте адреса 0x1000, 0x8000, 0x10000. Убедитесь, что в настройках выбран правильный размер Flash (4MB/8MB).
Hash of data failedПоврежденный bin-файлПерекомпилируйте проект. Убедитесь, что пути к файлам не содержат русских букв.

FAQ

Можно ли прошить ESP32 одним файлом? Да, если вы объедините все три файла (bootloader, partitions, app) в один бинарный файл с помощью утилиты esptool.py merge_bin. В этом случае в Flash Download Tool указывается только один файл с адресом 0x0.

Что делать, если плата определяется, но прошивка не идет? Попробуйте отключить все лишние устройства от USB-хаба, используйте прямой порт на материнской плате. Также помогет отключение антивируса на время прошивки, так как он может блокировать доступ к COM-порту.

Как узнать точные адреса для своей прошивки? Если вы используете PlatformIO или Arduino IDE, адреса зависят от конфигурации партиций. В PlatformIO они указаны в файле platformio.ini или генерируются автоматически. Лучше всего смотреть логи компиляции, где выводится команда для прошивки с адресами.

Подходит ли этот инструмент для ESP8266? Нет, для ESP8266 нужно выбирать пункт «ESP8266 DownloadTool» в главном меню программы. Интерфейс похож, но адреса и структура файлов отличаются.