esptool.py: ручная прошивка ESP32
esptool.py — официальная утилита Espressif для прошивки и диагностики связи с чипом напрямую из командной строки, в обход Arduino IDE — полезна, когда графическая среда не справляется или нужна тонкая настройка параметров.
Возможные причины
- Arduino IDE/PlatformIO не даёт контроля над конкретными параметрами прошивки (адреса, размер флеш, режим)
- Нужно быстро проверить связь с чипом без полной пересборки проекта
- Требуется прошить готовый .bin файл без исходного кода (например, чужую прошивку)
- Нужна диагностика перед сложным случаем — bootloop, битая partition table
Что сделать
- Установите esptool: pip install esptool (требуется Python 3).
- Проверьте связь с чипом: esptool.py --port COMx chip_id — команда должна вернуть модель чипа и MAC-адрес.
- Для прошивки готового .bin используйте: esptool.py --port COMx --baud 460800 write_flash 0x10000 firmware.bin.
- При проблемах со связью понизьте скорость: --baud 115200, и войдите в bootloader вручную (BOOT + EN).
- Чтобы прочитать текущий образ флеш-памяти для бэкапа: esptool.py --port COMx read_flash 0 0x400000 backup.bin.
- Посмотрите полный список команд и параметров: esptool.py --help — там же описаны режимы работы с разными чипами (auto, esp32, esp32s3, esp32c3).
Когда менять железо
Замена не требуется — esptool это программный инструмент; проблемы с ним чаще всего сводятся к режиму bootloader, порту или скорости (см. статью «ESP32 не прошивается»).
Не официальная поддержка Espressif Systems. Названия команд и параметры сверяйте с версией esptool/IDF, установленной у вас.