Установка esptool под Windows, macOS и Linux
esptool — официальная консольная утилита Espressif для работы с чипами ESP32 и ESP8266 через последовательный порт: прошивка, стирание флеша, чтение информации о чипе. Это Python-пакет, поэтому установка почти одинакова на всех ОС. Ниже — установка под Windows, macOS и Linux, проверка и решение частых проблем.
Что понадобится
- Python 3.10 или новее (для последней версии esptool). Для Python 3.7–3.9 ставьте esptool v4.x.
- Плата на ESP32/ESP8266 и USB-кабель с линиями данных.
- Драйвер USB-UART (CP210x или CH340) — см. настройку Arduino IDE.
Установка через pip (любая ОС)
В большинстве случаев достаточно одной команды:
pip install esptool
Если pip не найден — попробуйте pip3 install esptool или python -m pip install esptool.
Дальше — особенности по операционным системам.
Windows
- Скачайте Python с python.org и запустите установщик.
- Обязательно отметьте галочку Add python.exe to PATH на первом экране — иначе команды не будут видны в терминале.
- Установите, откройте новый PowerShell или cmd и выполните
pip install esptool.

macOS
Проще всего поставить Python через Homebrew:
brew install python
pip3 install esptool
Подойдёт и установщик с python.org. На свежих macOS система может не давать ставить пакеты в общий Python — тогда используйте pipx или venv (ниже).
Linux
Установите Python и pip пакетным менеджером дистрибутива:
# Debian / Ubuntu
sudo apt install python3-pip
# Fedora
sudo dnf install python3-pip
# Arch
sudo pacman -S python-pip
Затем pip3 install esptool.
На свежих Debian/Ubuntu и Raspberry Pi OS (Bookworm) pip install выдаёт ошибку
externally-managed-environment. Это защита системного Python — ставьте esptool
через pipx или venv (ниже), а не через sudo pip.
Чтобы обращаться к последовательному порту без root, добавьте пользователя в группу
dialout и перезайдите в систему:
sudo usermod -aG dialout $USER
Изолированная установка: pipx или venv
Рекомендуемый способ на современных системах — не засорять системный Python.
pipx ставит утилиту в отдельное окружение, а команда остаётся доступной глобально:
pipx install esptool
pipx ensurepath
venv — виртуальное окружение под проект:
python -m venv esptool-env
source esptool-env/bin/activate # Windows: esptool-env\Scripts\activate
pip install esptool
Без Python: готовые бинарники
Если Python ставить не хочется, Espressif публикует готовые исполняемые файлы
esptool на странице релизов в GitHub — для Windows (x86_64), macOS (Intel и Apple
Silicon) и Linux (x86_64, armv7, aarch64). Скачайте архив под свою ОС, распакуйте и
запускайте esptool напрямую. Минусы: больше размер, медленнее старт и иногда нужны
системные библиотеки.
Проверка установки
esptool version
В свежих версиях команда называется esptool, в более старых — esptool.py.
Универсальный вариант, который работает всегда: python -m esptool.
Если установка прошла успешно, esptool выведет номер установленной версии и завершит
работу — например, esptool v5.0.2 (в старых версиях — esptool.py v4.x.x). Увидели
номер версии — значит утилита установлена и доступна из терминала. Если же появляется
ошибка command not found (в Windows — «не является внутренней или внешней командой»),
каталог со скриптами Python не прописан в PATH — см. раздел «Частые проблемы».
Базовые команды
Узнать тип чипа и информацию о флеше (порт замените на свой):
esptool --port /dev/ttyUSB0 chip_id
esptool --port /dev/ttyUSB0 flash_id
Прошить бинарник по адресу 0x0:
esptool --port /dev/ttyUSB0 --baud 460800 write_flash 0x0 firmware.bin
На Windows порт выглядит как COM3, на macOS — /dev/cu.usbserial-*.
Частые проблемы
esptool: command not found / не распознаётся — каталог со скриптами Python не
в PATH. На Windows переустановите Python с галочкой Add to PATH; на любой ОС
выручает запуск через python -m esptool.
Permission denied / порт недоступен (Linux) — добавьте пользователя в группу
dialout (см. выше) и перезайдите. На macOS/Windows проверьте драйвер USB-UART.
Failed to connect to ESP32 — зажмите кнопку BOOT в момент подключения esptool
и снизьте --baud до 115200.
Что дальше
- Настройка среды Arduino — Настройка Arduino IDE для ESP32.
- Команды управления роботом — RoboArm R1: команды управления.