Перейти к содержимому

Установка ESP-IDF с помощью ESP-IDF Installation Manager

Метки:

Доброго здравия, уважаемые читатели!

В данной статье поговорим про установку фреймворка ESP-IDF и среды разработки для работы с ним (VSCode или Espressif IDE) на компьютеры под управлением ОС Windows с помощью нового официального инсталлятора ESP-IDF Installation Manager (EIM).  Впрочем, сейчас инсталлятор кроссплатформенный, поэтому многое будет справедливо и для других операционных систем. 

Все нижеописанное справедливо для версии eim v0.11.1. Со временем некоторая информация может устареть.

Предисловие, которое можно не читать

Если вы наткнулись на эту статью случайно, и пока плохо представляете, как и с помощью каких инструментов можно программировать микроконтроллеры ESP, то я бы посоветовал вначале прочитать другую статью [Как и на чём программировать ESP8266 и ESP32]. Но вкратце изложу основные пункты и здесь.

Если вы решили освоить программирование микроконтроллеров ESP32 – то у вас есть два основных пути:

  • программировать с использованием популярного фреймворка Arduino ESP32 или
  • программировать с использованием native фреймворка ESP-IDF.

По большому счету – в обоих случаях используется один и тот же язык (С / С++), но разница между ними довольно заметная (конечно, есть еще варианты с Python, LUA, Rust, может быть что-то ещё, но в данном случая их не рассматриваем).

Допустим, вы решили освоить программирование с использованием ESP-IDF, то и тут у вас есть несколько вариантов:

  • Использовать оригинальную IDE и систему сборки от Espressif под названием Espressif IDE. По сути это Eclipse IDE c жестко интегрированным плагином от Espressif, но существует возможность установить отдельно Eclipse и потом отдельно расширение ESP-IDF.
  • Использовать бесплатный редактор кода Visual Studio Code (VSCode) с дополнительным расширением ESP-IDF.
  • Использовать альтернативную систему сборки под названием PlatformIO, которая тоже является расширением для Visual Studio Code.

Первые два варианта предоставлены компанией Espressif и полностью совместимы друг с другом, более того – используют одни и те же версии ESP-IDF. А вот PlatformIO, хотя и включает оригинальный пакет ESP-IDF, использует несколько другие механизмы сборки проекта, поэтому не полностью совместима с предыдущими двумя вариантами. 

Конечно же никто не запрещает вам использовать одновременно несколько вариантов. Например, сейчас я в основном использую Visual Studio Code с расширением ESP-IDF. Но тем не менее, предпочитаю иметь под рукой и установленную Espressif IDE.

 


Классический установщик ESP-IDF и в чем его отличие от нового EIM

Прежде чем мы перейдем к обсуждению собственно ESP-IDF Installation Manager (EIM), наверное стоит немного вспомнить про классический вариант установки, (который всё ещё доступен), а также в общих чертах понять, что мы приобретаем и неизбежно теряем при таком переходе. Итак, на момент написания данной статьи (апрель 2026 года) существует два официально поддерживаемых установщика:

В чем их отличия?

Классический установщик:

  • С помощью классического установщика из одного флакона можно сразу же установить:
    • собственно одну выбранную версию ESP-IDF,
    • инструменты для сборки (tools),
    • драйвера для подключения некоторых плат и JTAG,
    • среду разработки Espressif IDE на основе Eclipse.
  • Для работы в VSCode можно использовать плагин ESP-IDF только версий 1.х, на текущий момент это может быть 1.10 или выше.
  • Одновременное использование Espressif IDE и VSCode сопряжено с некоторыми небольшими, но все-таки трудностями. Если вы установили ESP-IDF + Espressif IDE, то для возможности одновременной работы ещё и в VSCode установку следует либо повторить в другой каталог, либо “подхватить” уже существующую. Об этом было написано в прошлой статье.
  • Для разных операционных систем были разные типы установщиков.

 

ESP-IDF Installation Manager:

  • Новый установщик eim кроссплатформенный, и имеет один и тот же интерфейс для разных ОС (теоретически, я не проверял ;-))
  • Добавлена поддержка “тихой” установки без участия пользователя с помощью опций командной строки и (или) файлов конфигурации.
  • Поддерживается установка как в online-режиме, так и в режиме offline (без доступа к сети Интернет), с помощью заранее скачанных пакетов.
  • Новый интерфейс позволяет удобно манипулировать перечнем установленных версий ESP-IDF и инструментов – удалять старые, устанавливать новые или восстанавливать поврежденные по какой-либо причине установки. Можно “за один запуск”, пакетно, установить сразу несколько выбранных версий ESP-IDF.
  • Список установленных версий ESP-IDF хранится в файле c:\Espressif\tools\eim_idf.json – только тут и никак иначе (изменить расположение этого файла технически можно, но не рекомендуется).
  • Плагин ESP-IDF для VSCode теперь автоматически опознает все новые установки, выполненные с помощью eim. Считывает их он из того же самого файла c:\Espressif\tools\eim_idf.json. То есть установили новую версию ESP-IDF – и сразу же, без каких либо дополнительных манипуляций, она доступна и в VSCode, и в Espressif IDE. Но для этого предварительно потребуется обновить плагин до версии 2.0 или выше.
  • Новый установщик позволяет устанавливать только фреймворк ESP-IDF и инструменты сборки. Производитель исключил установку Espressif IDE из eim. Установить “оригинальную” Espressif IDE можно, но отдельно. 

В настоящее время новый eim продвигается как основной и перспективный способ установки. Тем не менее, багов в нем пока ещё хватает. Но исправления ведутся, поэтому многое может изменится в лучшую сторону и что-то из приведенного ниже в статье уже не будет соответствовать действительности.

 


ESP-IDF Installation Manager

Подготовка к установке

Прежде всего необходимо скачать и установить программу-установщик eim. Теперь это отдельно устанавливаемая программа, а не просто “одноразовый” установщик. Сделать это можно по ссылке: [ESP-IDF Installation Manager].

С непривычки здесь можно слегка запутаться. Но все на самом деле просто. Прежде всего, вы найдете ссылки на две основные версии:

  • Online installer – загружает ESP-IDF и инструменты прямо в процессе установки с сайта dl.espressif.com или из репозиториев github-а.
  • Offline installer – установка выполняется из предварительно скачанного архива в формате ZST.

Но на самом деле Online installer прекрасно справляется и с offline-установками, если вы предварительно скачаете соответствующий zst-архив. Да и по ссылке Offline installer скачивается тот же самый файл, просто сразу в комплекте с выбранным zst-архивом. На странице загрузки так же есть отдельные ссылки для GUI и CLI-версий (с графическим интерфейсом и для командной строки соответственно), но на текущий момент по факту оказалось, что GUI installers == CLI installers (по крайней мере для винды). То есть по разным ссылкам скачивается абсолютно идентичные файлы.

Так что, если вы ничего не поняли из моих объяснений – просто качайте обычную GUI online версию, соответствующую вашей ОС и разрядности. Она умеет всё и сразу. 

Скачали? Запустите установку самого eim.

По умолчанию для windows он предлагает установку в C:\Program Files\eim. Советую вам изменить путь на C:\Espressif\eim – так будет удобнее для запуска eim из командной строки, да и вообще так правильнее – все инструменты Espressif в одной папке.

Но не спешите запускать его и сразу же начинать установку!

Прежде чем запускать установку ESP-IDF, необходимо временно отключить антивирусную программу или добавить eim.exe в исключения. Иначе в процессе установки антивирус Касперского обязательно окрысится и удалит eim как опасный троян (про другие антивирусы сказать ничего не могу).

Связано это на мой взгляд с тем, что “старый” установщик умеет определять наличие антивирусов перед установкой, и при их обнаружении предпринимает какие-то меры:

Если в “старой версии” сознательно пропустить этот этап, то и старый установщик будет также перехвачен антивирусной программой! В новый eim эту проверку и обходной путь почему-то не стали переносить – то ли забыли, то ли сознательно проигнорировали.

Я настроил исключения следующим образом:

После этого можно приступать к установке ESP-IDF.

 


GUI: Установка в режиме графического интерфейса

Языка интерфейса только два – китайский и английский, их можно выбрать вверху справа. Внизу окна можно найти ссылки на:

  • Документацию для eim
  • Посмотреть логи предыдущих установок
  • Создать issue, если вы обнаружили проблему в eim
  • Посмотреть подробную информацию о текущей версии eim.

Если вы запускаете eim в первый раз, то вам сразу будет предложено начать новый процесс установки.

Если же у вас уже были ранее установлены другие версии ESP-IDF, то eim по умолчанию перейдет в режим управления существующими версиями – ESP-IDF Version Managment. Кстати, в старых версиях eim при запуске предлагал выбрать – новая установка или управление старыми, но сейчас стало даже удобнее.

Здесь вы можете удалить, переименовать или переустановить любую из ранее установленных версий, а также установить драйвера. Кроме того, здесь для каждой версии имеется очень удобная кнопочка “Open IDF terminal“, которая запускает так называемый скрипт активации, с помощью которого можно выполнять команды idf.py и другие для любой из установленных версий.

 

Теперь давайте перейдем к главной теме статьи – процессу установки новой версии. Для этого нажмите кнопку Install New Version (напомню, если вы запускаете eim впервые, система сама начнет этот процесс, ничего нажимать не потребуется). Вы увидите следующий экран:

Вам предлагаются следующие варианты установки:

  • Easy installation – простая установка, все настройки и каталоги будут выбраны так, как это представляют себе разработчики eim. Может оно и просто, но это не наш метод.
  • Custom installation – выборочная установка, где вы всё (или почти всё) сможете выбрать и настроить самостоятельно.
  • Offline installation – выборочная установка, но из предварительно скачанного архива в формате ZST. Например это может быть файл archive_vv6.0_windows-x64.zst, который вы найдете на вкладке Offline installers. Данный режим предназначен для установки на компьютеры, где по тем или иным причинам доступ к сети интернет закрыт или отсутствует. Не сильно отличается от режима Custom installation.
  • Load configuration – позволяет загрузить файл с набором параметров установки, созданных в процессе предыдущей установки. Это позволит ускорить и автоматизировать процесс установки, а также “подкрутить” некоторые параметры, не доступные в GUI. Более подробно об этом будет рассказано ниже.

 

Нажимаем Custom installation и приступаем.

Вначале eim выполняет некие подготовительные операции, о содержании которых нельзя ничего успеть понять – все происходит слишком быстро. Первые два шага у меня пролетают мгновенно, и мы переходим сразу на третий шаг.

 

3. Select Target Chips

В начале необходимо выбрать семейства SoC – “цели“, с которыми вы предполагаете работать. По умолчанию выделены все targets.

Выбираем нужное или устанавливаем крыжик All и нажимаем красную кнопку Continuie with Selected Targets.

 

4. Select ESP-IDF Versions

Теперь выбираем версию ESP-IDF. Выберите одну или несколько версий, которые вы хотели бы установить. Да, это очень удобно – установить сразу несколько версий! Разные проекты могут быть рассчитаны на разные версии ESP-IDF.

Отмечаем нужные версии, прокручиваем страницу вниз, и жмякаем Continue Installation

 

4. Select Download Mirrors

Теперь выбираем “зеркало” – сайт-источник, откуда установщик будет скачивать дистрибутивы (для offline-установок этот этап пропускается).

Установщик по умолчанию сам выбирает доступные репозитории на основе ping-а, но вы можете изменить выбор по своему усмотрению. Как и прежде, жмем “большую красную кнопку” внизу.

 

6. Select ESP-IDF Features

Выбираем компоненты, которые вам необходимы. Выбрать нужно отдельно для каждой устанавливаемой версии, и их состав может изменяться в зависимости от версии:

  • core – это базовая и обязательная часть ESP-IDF, которая устанавливается всегда, сюда входят все основные библиотеки и API для работы с периферией чипов ESP32.
  • gdbgui – графический интерфейс для отладчика GDB, который работает прямо в браузере. Он позволяет визуально отлаживать прошивку – смотреть переменные, ставить брейкпоинты, ходить по шагам. Это удобно для тех, кто не любит работать с отладчиком через командную строку. 
    • Важное примечание: Начиная с ESP-IDF v6.0, установка gdbgui через стандартные скрипты была удалена. Теперь, если он вам нужен, его следует ставить отдельно через pipx. Однако в EIM эта опция, скорее всего, еще какое-то время будет присутствовать для старых версий (v5.x)
  • pytest – фреймворк для автоматического тестирования кода на Python. В контексте ESP-IDF он используется не для тестирования самого фреймворка, а для написания пользовательских тестов вашего приложения (в связке с pytest-embedded). Позволяет автоматизировать процесс сборки, прошивки устройства и проверки корректности его работы.
  • test-specific – набор инструментов и зависимостей, необходимых для запуска тестов. Сюда могут входить:
    • Библиотеки для юнит-тестирования (Unity, CppUnit).
    • Утилиты для интеграционного тестирования.
    • Скрипты и тулзы для симуляции или запуска тестов на реальном железе.
      Включение этой опции нужно разработчикам, которые следят за качеством кода и используют CI/CD.
  • ci (Continuous Integration) – эта опция устанавливает все необходимое для работы в автоматизированных средах сборки, таких как GitHub Actions, GitLab CI или Jenkins:
    • Headless-режим: позволяет ESP-IDF работать без графического интерфейса.
    • Утилиты для логирования и создания артефактов сборки.
    • Оптимизации для уменьшения финального размера Docker-образа (например, автоматическая очистка кэша)
  • docs – установка локальной копии документации по ESP-IDF. Обычно документация доступна онлайн, но эта опция полезна для работы без интернета. Устанавливаются HTML-файлы, примеры кода и руководства, которые можно открыть локально в браузере.
  • ide (Integration with IDE) – установка файлов и инструментов для интеграции со средами разработки, такими как VS Code, Eclipse или CLion.
    • Генерация CMakePresets.json (стандарт для CMake, который понимают все современные IDE).
    • Настройка путей для IntelliSense (автодополнение кода).
    • Создание ярлыков или профилей для запуска сборки и прошивки из IDE.
      Здесь внимание: это не установка собственной IDE на базе Eclipse, как это было ранее, а только интеграция для неё! Однако эта опция полезна всем.
  • mcp – это самая современная и интересная опция, появившаяся в ESP-IDF v6.0. MCP — это протокол от компании Anthropic (создатели модели Claude), который позволяет подключать внешние источники данных к AI-ассистентам. В контексте EIM это означает установку компонентов, необходимых для запуска MCP-сервера [MCP Server], который в свою очередь дает возможность подключать AI (например, тому же Claude или Github Copilot):
    • Читать документацию по ESP-IDF.
    • Анализировать структуру вашего проекта.
    • Предлагать корректные фрагменты кода с учетом API конкретной установленной версии ESP-IDF.

По умолчанию выбрано только core. Выбирайте нужные компоненты и переходим к следующему этапу.

 

7. Select Tools

Выбираем tools или инструменты сборки. Как и в предыдущем случае – их состав может быть разным для разных версий:

Базовые инструменты устанавливаются всегда.

Дополнительно вы можете установить QEMU – это эмулятор ESP32 с открытым исходным кодом. Простыми словами, это программа, которая может притвориться платой ESP32, и запускать “на себе” ваши прошивки. Вместо того чтобы каждый раз прошивать код на физическое устройство, вы можете запустить тот же самый код в эмуляторе QEMU прямо на своем компьютере.

 

8. Select Installation Location

Наконец мы добрались до выбора каталога установки. По умолчанию eim предлагает установку в c:\esp, но я предпочитаю изменить путь на c:\Espressif\frameworks. Дабы все яйца были в одной корзине, так сказать…

Путь к инструментам в интерфейсе изменить нельзя – по умолчанию tools всегда устанавливаются в папку c:\Espressif\tools. Связано это с тем, что в этом же каталоге создается специальный файл eim_idf.json, в котором содержится вся служебная информация об установленных версиях ESP-IDF. Из этого файла черпает информацию и плагин VSCode и сам eim – поэтому перемещать его на другие диски или в другие папки настоятельно не рекомендуется.

Отсюда вывод: для ОС Windows как бы вы не старались поставить продукты Espressif на другой диск (отличный от диска C:\), все равно часть файлов будет установлена на C:\. Да, с помощью файла конфигурации можно перенести tools в другой каталог или даже на другой диск, но файл eim_idf.json должен всегда оставаться “на своем месте”. Поэтому не стоит мучаться и устанавливаем инструменты туда, куда нам их по умолчанию и предлагают.

И опять нажимаем “большую красную кнопку” внизу.

 

9. Installation Progress

Вы переходите на следующий экран, где нет никакого выбора, но есть ещё одна большая красная кнопка: Start Installation. Что бы это значило? Нажимаем!

Теперь подождите, пока инсталлятор сделает все то, о чем его попросили. Это может занять довольно продолжительное время. Откиньтесь на спинку кресла и отдохните, вы проделали нелегкий путь и сделали тяжелый выбор. Примите ванну, выпейте какавы с чаем...

Если Вас интересуют подробности, можно посмотреть протокол установки, нажав на строчку Installation log внизу… 

 

10. Installation complete

После нажатия последней красной кнопки, мы попадаем на финальную страницу, где можно сохранить файл конфигурации. Рекомендую сделать это – “я тебе ещё пригожусь, Иван Царевич”…

Как видите, всё очень просто.

 


Установка или обновление плагина для VSCode

Если вы предпочитаете работать в Visual Studio Code, то теперь вам необходимо установить соответствующий плагин или обновить его до последней версии (так как плагин версий 1.x “не видит” установок, сделанных с помощью eim).

Последовательность действий следующая:

  1. Откройте VSCode
  2. Перейдите на вкладку Extentions
  3. В поисковой строке вбейте ESP-IDF
  4. Если плагин не был ещё установлен – нажмите Install, или
  5. Если установленная ранее версия плагина ниже 2.0, то кликните на шестеренку, нажмите Install specific version и выберите новую версию.

Наглядно процесс показан на скриншоте ниже (у меня он уже установлен):

Кстати, разработчики и документация утверждают, что при обновлении новый плагин должен “подхватить” все ранее установленные версии ESP-IDF, но я эту информацию подтвердить или опровергнуть не могу, так как в процессе экспериментов “снес” все ранее установленные версии. Но переустановить всё заново не так уж и долго – поэтому может и не стоит “держаться за старые установки”.

После этого вы сможете выбрать target и версию esp-idf для вашего проекта через меню плагина:

Или через панель команд плагина в строке состояния VSCode:

Выглядит это так:

И зверей убивать не надо ничего не нужно донастраивать или устанавливать – все работает само! Невероятно, но китайцы наконец-то допилили плагин “как надо”.

 


Использование файла конфигурации

Как я уже упоминал выше, eim позволяет загружать настройки из файлов конфигурации с расширением .toml. Давайте посмотрим на файл конфигурации установки eim_config.toml, который мы получили на фингальном этапе. Содержимое в моем случае следующее:

path = 'C:\Espressif\frameworks'
esp_idf_json_path = 'C:\Espressif\tools'
tool_download_folder_name = 'C:\Espressif\dist'
tool_install_folder_name = 'C:\Espressif\tools'
target = ["all"]
idf_versions = ["v6.0", "v5.5.4"]
tools_json_file = "tools/tools.json"
config_file_save_path = 'C:\Espressif\eim\eim_config.toml'
non_interactive = true
wizard_all_questions = false
mirror = "https://dl.espressif.com/github_assets"
idf_mirror = "https://github.com"
pypi_mirror = "https://pypi.org/simple"
recurse_submodules = true
install_all_prerequisites = false
skip_prerequisites_check = false
cleanup = false
python_env_folder_name = "python"
activation_script_path_override = 'C:\Espressif\tools'
python_version_override = "python313"
create_bat_activation_script = false

[idf_features_per_version]
"v5.5.4" = ["core", "ide", "docs", "ci", "test-specific"]
"v6.0" = ["core", "mcp", "ide", "docs", "ci", "test-specific"]

[idf_tools_per_version]
"v6.0" = ["xtensa-esp-elf-gdb", "riscv32-esp-elf-gdb", "xtensa-esp-elf", "esp-clang", "esp-clang-libs", "riscv32-esp-elf", "esp32ulp-elf", "cmake", "openocd-esp32", "ninja", "idf-exe", "ccache", "dfu-util", "esp-rom-elfs", "qemu-xtensa", "qemu-riscv32"]
"v5.5.4" = ["xtensa-esp-elf-gdb", "riscv32-esp-elf-gdb", "xtensa-esp-elf", "esp-clang", "esp-clang-libs", "riscv32-esp-elf", "esp32ulp-elf", "cmake", "openocd-esp32", "ninja", "idf-exe", "ccache", "dfu-util", "esp-rom-elfs", "qemu-xtensa", "qemu-riscv32"] 

Рассмотрим эти опции поподробнее.

  • path = ‘C:\Espressif\frameworks’
    Базовый каталог для установки версий ESP-IDF. Внутри этого каталога будут созданы подкаталоги с версиями, например c:\Espressif\frameworks\v5.5.4\esp-idf\ (именно так, а не c:\Espressif\frameworks\esp-idf\v5.5.4\, что было бы более логично). Вы можете изменить этот путь, но внутри все равно будет vX.X.X\esp-idf – и никак иначе.
  • esp_idf_json_path = ‘C:\Espressif\tools’
    Путь к JSON-файлу, в котором содержится информация об установленных версиях ESP-IDF. Категорически не советую изменять этот параметр! Именно по этому пути ищет версии плагин для VSCode – изменить-то вы сможете, но это нарушит работу плагина для VSCode. А посему я посчитал правильным удалить эту опцию из файла, чтобы ничего не перепуталось.
  • tool_download_folder_name = ‘C:\Espressif\dist’
    Путь к временной папке, куда eim складирует скачанные дистрибутивы. Нет особого смысла что-то изменять в данном случае.
  • tool_install_folder_name = ‘C:\Espressif\tools’
    Каталог, куда будут установлены инструменты сборки. Это общий каталог для всех устанавливаемых версий. В GUI этой опции нет, но здесь вы можете изменить путь при необходимости. Но и по умолчанию всё довольно логично.
  • target = [“all”]
    Массив целевых семейств или all для всего и сразу.
  • idf_versions = [“v6.0”, “v5.5.4”]
    Массив устанавливаемых версий ESP-IDF.
  • tools_json_file = “tools/tools.json”
    Относительный путь к файлу, в котором содержится информация об установленных версиях инструментов сборки. Что характерно, у меня этого файла так и не появилось, но есть eim_idf.json – в котором содержится ровно то же самое. А посему я посчитал правильным удалить эту опцию из файла, чтобы ничего не перепуталось.
  • config_file_save_path = ‘C:\Espressif\eim\eim_config.toml’
    Путь, куда был сохранен данный файл конфигурации.
  • non_interactive = true
    Эта опция отключает интерактивный режим установки (то есть взаимодействие с пользователем) при установке из файла конфигурации.
  • wizard_all_questions = false
    В документации я не нашел описания этой опции, но видимо она влияет на количество вопросов к пользователю в интерактивном режиме.
  • mirror = “https://dl.espressif.com/github_assets”
    idf_mirror = “https://github.com”
    pypi_mirror = “https://pypi.org/simple”
    “Зеркала” – источники для скачивания дистрибутивов. Для offline-установки не действуют
  • use_local_archive = ‘C:\Espressif\dist\archive_vv6.0_windows-x64.zst’
    Установщик будет использовать предоставленный архив вместо загрузки из интернета. Архив должен быть файлом .zstНе распаковывайте архив .zst. Этот вариант несовместим с вариантами онлайн-установки, такими как idf_versionsmirror, и т. д. В настоящее время автономная установка поддерживает только Python 3.11–3.14 на Linux, macOS и Windows.
  • recurse_submodules = true
    Должен ли установщик рекурсивно просматривать подмодули репозитория ESP-IDF (по умолчанию true)
  • install_all_prerequisites = false
    Должен ли установщик попытаться установить все недостающие необходимые компоненты (только для Windows)
  • skip_prerequisites_check = false
    Пропустить проверку необходимых компонентов. Это полезно, если вы уверены, что все необходимые компоненты уже установлены, и хотите пропустить проверку. Не рекомендуется использовать этот способ, если вы не знаете, что делаете, так как это может привести к неработоспособной установке. Используйте на свой страх и риск.
  • cleanup = false
    Если установлено значение true, установщик удалит временные архивные файлы инструментов после установки. По умолчанию — false. Это полезно для автоматических установок, CI и Docker, где файлы установки не требуются после установки и могут значительно уменьшить размер конечного образа.
  • python_env_folder_name = “python”
    Имя папки, используемой для окружений Python. Если не указано, будет использоваться значение по умолчанию python.
  • activation_script_path_override = ‘C:\Espressif\tools’
    Необязательная опция для указания пути к скрипту PowerShell для активации ESP-IDF. Это позволяет указать собственный путь для сохранения скрипта активации вместо пути по умолчанию.
  • create_bat_activation_script = false
    Необязательный флаг для создания скрипта активации пакетной команды CMD в дополнение к скрипту PowerShell. Это сделано только для обратной совместимости — рекомендуется всегда использовать PowerShell, а поддержка пакетной обработки будет прекращена в будущих версиях.
  • python_version_override = “python313”
    Версия python, которая будет использована при установке.
  • idf_features
    Разделенный запятыми список дополнительных функций IDF (ci, docs, pytests и т. д.), которые будут установлены вместе с ESP-IDF. При установке нескольких версий этот список применяется ко всем версиям. Для настройки функций для каждой версии отдельно используйте раздел idf_features_per_version.
  • idf_tools
    Разделенный запятыми список инструментов сборки, которые будут установлены вместе с ESP-IDF. При установке нескольких версий этот список применяется ко всем версиям. Для настройки инструментов для каждой версии отдельно используйте раздел idf_tools_per_version.

Таким образом, вы можете подкорректировать файл конфигурации “под себя” и затем не тратить драгоценное время на выбор необходимых опций при установке.

Особо полезен данный файл будет при работе через командную строку и при развертывании одинакового окружения на нескольких компьютерах одновременно.

 


CLI: Установка в режиме командного интерфейса

ESP-IDF Installation Manager предоставляет интерфейс командной строки с различными командами для управления установками ESP-IDF [CLI Commands].

Формат запуска:

eim [OPTIONS] [COMMAND]

Команды пишутся без дефиса, опции – с одним (windows-стиль) или двумя (unix-стиль) дефисами.

Общие опции

Некоторые команды имеют свои собственные опции. Но есть и общие для всех команд опции – эти опции перечислены ниже:

  • -l, --locale <LOCALE>: выбор языка для мастера установки (английский, китайский)
  • -v, --verbose: увеличить уровень детализации логов (можно использовать несколько раз)
  • --log-file <LOG_FILE>: файл, в котором будут храниться журналы (по умолчанию: eim.log)
  • --do-not-track <true|false>: не отслеживать – если установлено значение true, установщик не будет отправлять данные об использовании eim.
  • -h, --help: печать справочной информации
  • -V, --version: печать сведений о версии eim

Команды

  • install – Неинтерактивная (без взаимодействия с пользователем) установка версий ESP-IDF.
  • wizard – Запустить мастер установки ESP-IDF в интерактивном режиме
  • list – Вывести список установленных версий ESP-IDF
  • select – Выбрать версию ESP-IDF как активную
  • rename – Переименовать выбранную ESP-IDF версию
  • remove – Удалить выбранную ESP-IDF версию
  • purge – Удалить все установленные ESP-IDF версии
  • import – Импорт существующих установок ESP-IDF из файла tools_set_config.json
  • run – Выполнить команду в контексте конкретной выбранной версии ESP-IDF
  • fix – Исправить установку одной из версий ESP-IDF
  • discover – Список доступных для установки версий ESP-IDF (пока не реализовано)
  • completions – Сгенерировать скрипт автодополнения оболочки для вывода в стандартный поток вывода

 

eim install

eim install [OPTIONS]

Параметры команды:

  • -p, --path <PATH> – Базовый путь ESP-IDF, в который будут установлены все файлы и папки версий.
  • --esp-idf-json-path <ESP_IDF_JSON_PATH> – Абсолютный путь для сохранения файла eim_idf.json
  • -c, --config <FILE> – Путь к файлу конфигурации, если он используется
  • -t, --target <TARGET> – Целевые платформы (разделенные запятыми) или “all”
  • -i, --idf-versions <IDF_VERSIONS> – Версии ESP-IDF для установки (разделенные запятыми)
  • --version-name – Название версии, используемой для установки. Если не указано, версия будет определена на основе тега репозитория ESP-IDF или хеша коммита.
  • --tool-download-folder-name <TOOL_DOWNLOAD_FOLDER_NAME> – Название временной папки для загрузки инструментов
  • --tool-install-folder-name <TOOL_INSTALL_FOLDER_NAME> – Название папки для установки инструментов
  • --python-env-folder-name <PYTHON_ENV_FOLDER_NAME> – Имя папки, используемой для окружений Python. Если не указано, будет использоваться значение по умолчанию python.
  • --tools-json-file <TOOLS_JSON_FILE> – Путь к файлу tools.json относительно папки установки ESP-IDF.
  • -n, --non-interactive <NON_INTERACTIVE> – Запускать в интерактивном режиме, если установлено значение false (по умолчанию true для неинтерактивного режима)
  • -m, --mirror <MIRROR> – URL-адрес зеркала для загрузки инструментов, которое следует использовать вместо github.com
  • --idf-mirror <IDF_MIRROR> – URL-адрес зеркала для загрузки версий ESP-IDF, которое следует использовать вместо github.com
  • --repo-stub <REPO_STUB> – Пользовательский шаблон репозитория для использования вместо стандартного репозитория ESP-IDF. Позволяет использовать пользовательские репозитории IDF.
  • --pypi-mirror <PYPI_MIRROR> – URL-адрес зеркала PyPI, который следует использовать вместо https://pypi.org/simple
  • -r, --recurse-submodules <RECURSE_SUBMODULES> – Должен ли установщик рекурсивно просматривать подмодули репозитория ESP-IDF? (по умолчанию true)
  • -a, --install-all-prerequisites <INSTALL_ALL_PREREQUISITES> – Если true, то установщик попытается установить все недостающие необходимые компоненты (только для Windows)
  • --skip-prerequisites-check – Пропустить проверку необходимых компонентов. Это полезно, если вы уверены, что все необходимые компоненты уже установлены, и хотите пропустить проверку. Не рекомендуется использовать этот способ, если вы не знаете, что делаете, так как это может привести к неработоспособной установке. Используйте на свой страх и риск.
  • --config-file-save-path <CONFIG_FILE_SAVE_PATH> – Путь для сохранения файла конфигурации
  • --cleanup – Если установлено значение true, установщик удалит временные архивные файлы инструментов после установки. По умолчанию — false. Это полезно для автоматизированных установок, CI и Docker, где файлы установки не требуются после её завершения и могут значительно уменьшить размер конечного образа.
  • --use-local-archive <PATH_TO_ARCHIVE> – Используйте локальный архив для автономной установки. Установщик будет использовать предоставленный архив вместо загрузки из интернета. Архив должен быть файлом .zstНе распаковывайте архив .zst. Этот вариант несовместим с вариантами онлайн-установки, такими как --idf-versions--mirror, и т. д. В настоящее время автономная установка поддерживает только Python 3.11–3.14 на Linux, macOS и Windows.
  • --activation-script-path-override – Необязательная опция для указания пути к скрипту активации PowerShell. Это позволяет указать собственный путь для сохранения скрипта активации вместо пути по умолчанию.
  • --create-bat-activation-script – Необязательный флаг для создания скрипта активации пакетной команды CMD в дополнение к скрипту активации PowerShell. Это сделано только для обратной совместимости — рекомендуется использовать PowerShell, а поддержка пакетной обработки будет прекращена в будущих версиях.
  • --idf-features <IDF_FEATURES> – Разделенный запятыми список дополнительных функций IDF (ci, docs, pytests и т. д.), которые будут установлены вместе с ESP-IDF. При установке нескольких версий эти функции применяются ко всем версиям. Для настройки функций для каждой версии используйте файл конфигурации с соответствующими опциями idf_features_per_version.
  • --idf-tools <IDF_TOOLS> – Разделенный запятыми список инструментов, которые будут установлены вместе с ESP-IDF. При установке нескольких версий эти инструменты применяются ко всем версиям. Для настройки инструментов для каждой версии используйте файл конфигурации с соответствующими опциями idf_tools_per_version.

 

eim wizard

eim wizard [OPTIONS]

Команда wizard принимает те же параметры, что и команда install, но работает в интерактивном режиме, направляя вас через процесс установки с помощью ряда подсказок.

При установке нескольких версий ESP-IDF мастер установки предложит вам выбрать функции для каждой версии по отдельности, что позволит настроить установку для каждой версии отдельно.

 

eim list

eim list

Эта команда отображает все версии ESP-IDF, установленные в вашей системе, при этом текущая выбранная версия отмечена.

c:\Espressif\eim>eim list

c:\Espressif\eim>2026-04-24 09:20:10 -  9 - 04 - INFO - Listing installed versions...
Installed versions:
- ESP-IDF v5.4.3 [C:\Espressif\frameworks\v5.4.3\esp-idf]
- ESP-IDF v5.5.3 [C:\Espressif\frameworks\v5.5.3\esp-idf]
- v6.0 (selected) [C:\Espressif\frameworks\v6.0\esp-idf]
- v5.5.4 [C:\Espressif\frameworks\v5.5.4\esp-idf]
Pressing Enter to exit...

 

eim select

eim select [VERSION]

Выбрать одну версию ESP-IDF в качестве активной. Если параметр VERSION не указан, команда предложит вам выбрать одну из установленных в системе версий. Выбор версии означает установку параметра idfSelectedId в файле eim_idf.json. Это используется средами разработки для определения того, какую из версий IDF вы предпочитаете использовать.

 

eim rename

eim rename [VERSION] [NEW_NAME]

Переименование одной из версий ESP-IDF. Если параметр VERSION не указан, команда предложит вам выбрать одну из установленных в системе версий. Если параметр NEW_NAME не указан, вам будет предложено ввести новое имя.

 

eim remove

eim remove [VERSION]

Удалить одну из версий ESP-IDF. Если параметр VERSION не указан, команда предложит вам выбрать одну из установленных в системе версий.

 

eim purge

eim purge

Эта команда удаляет все известные ей установки ESP-IDF из вашей системы.

 

eim import

eim import [PATH]

Импортируйте существующую установку ESP-IDF, используя файл tools_set_config.json.

 

eim run

eim run <COMMAND> [IDF_VERSION]

Выполните произвольную команду <COMMAND> в контексте конкретной версии ESP-IDF. Если параметр IDF_VERSION не указан, команда будет использовать текущую выбранную версию IDF

Эта команда загружает скрипт активации для указанной версии IDF перед выполнением вашей команды, делая доступными все инструменты IDF и переменные среды. Очень удобно для запуска menuconfig или сборки проекта непосредственно из операционной системы.

 

eim fix

eim fix [PATH]

Исправьте возможные проблемы с установкой ESP-IDF, переустановив инструменты и зависимости.

 

eim completions

eim completions 

Сгенерировать скрипт автодополнения оболочки для вывода в стандартный поток вывода. Параметр SHELL – оболочка, для которой нужно сгенерировать автодополнение. Возможные значения: bash , elvishfishpowershell,zsh

 

Для более подробных сведений обратитесь к официальной документации: Сli commands

 


Установка дополнительных драйверов

Для установки драйверов необходимо запустить eim от имени администратора. Затем просто нажмите Install Drivers

Через несколько секунд eim отрапортует еле заметным уведомлением, что драйвера успешно установлены. Но вот сами файлы вы не найдете. Драйвера сразу же устанавливаются в систему, а достать их “на будущее” невозможно, так как временные файлы сразу же удаляются.

Для того, чтобы понять, как и куда были установлены драйверы, потребуется заглянуть в логи:

2026-04-24 11:29:40 - 11 - 04 - INFO - Installing drivers...
2026-04-24 11:29:40 - 11 - 04 - DEBUG - starting new connection: https://dl.espressif.com/
2026-04-24 11:29:41 - 11 - 04 - TRACE - shouldn't retry!
2026-04-24 11:29:41 - 11 - 04 - DEBUG - Downloading https://dl.espressif.com/dl/idf-installer/CP210x_Universal_Windows_Driver.zip to C:\Users\KOTYAR~1\AppData\Local\Temp\.tmpNdw01r\idf-drivers\CP210x_USB_to_UART_Bridge_VCP_Drivers\CP210x_Universal_Windows_Driver.zip
2026-04-24 11:29:41 - 11 - 04 - INFO - Decompressing C:\Users\KOTYAR~1\AppData\Local\Temp\.tmpNdw01r\idf-drivers\CP210x_USB_to_UART_Bridge_VCP_Drivers\CP210x_Universal_Windows_Driver.zip to C:\Users\KOTYAR~1\AppData\Local\Temp\.tmpNdw01r\idf-drivers\CP210x_USB_to_UART_Bridge_VCP_Drivers
2026-04-24 11:29:41 - 11 - 04 - INFO - Decompression completed successfully.
2026-04-24 11:29:41 - 11 - 04 - INFO - Decompressed driver: CP210x USB to UART Bridge VCP Drivers
2026-04-24 11:29:41 - 11 - 04 - INFO - Driver is already installed: CP210x USB to UART Bridge VCP Drivers
2026-04-24 11:29:41 - 11 - 04 - DEBUG - starting new connection: https://dl.espressif.com/
2026-04-24 11:29:41 - 11 - 04 - TRACE - shouldn't retry!
2026-04-24 11:29:41 - 11 - 04 - DEBUG - Downloading https://dl.espressif.com/dl/idf-installer/CDM_v2.12.28_WHQL_Certified.zip to C:\Users\KOTYAR~1\AppData\Local\Temp\.tmpVigoAH\idf-drivers\FTDI_driver\CDM_v2.12.28_WHQL_Certified.zip
2026-04-24 11:29:41 - 11 - 04 - INFO - Decompressing C:\Users\KOTYAR~1\AppData\Local\Temp\.tmpVigoAH\idf-drivers\FTDI_driver\CDM_v2.12.28_WHQL_Certified.zip to C:\Users\KOTYAR~1\AppData\Local\Temp\.tmpVigoAH\idf-drivers\FTDI_driver
2026-04-24 11:29:41 - 11 - 04 - INFO - Decompression completed successfully.
2026-04-24 11:29:41 - 11 - 04 - INFO - Decompressed driver: FTDI driver
2026-04-24 11:29:41 - 11 - 04 - INFO - Driver is already installed: FTDI driver
2026-04-24 11:29:41 - 11 - 04 - DEBUG - starting new connection: https://dl.espressif.com/
2026-04-24 11:29:41 - 11 - 04 - TRACE - shouldn't retry!
2026-04-24 11:29:41 - 11 - 04 - DEBUG - Downloading https://dl.espressif.com/dl/idf-driver/idf-driver-esp32-usb-jtag-2021-07-15.zip to C:\Users\KOTYAR~1\AppData\Local\Temp\.tmp94nr9A\idf-drivers\ESP32_USB_JTAG_Driver\idf-driver-esp32-usb-jtag-2021-07-15.zip
2026-04-24 11:29:42 - 11 - 04 - INFO - Decompressing C:\Users\KOTYAR~1\AppData\Local\Temp\.tmp94nr9A\idf-drivers\ESP32_USB_JTAG_Driver\idf-driver-esp32-usb-jtag-2021-07-15.zip to C:\Users\KOTYAR~1\AppData\Local\Temp\.tmp94nr9A\idf-drivers\ESP32_USB_JTAG_Driver
2026-04-24 11:29:42 - 11 - 04 - INFO - Decompression completed successfully.
2026-04-24 11:29:42 - 11 - 04 - INFO - Decompressed driver: ESP32 USB JTAG Driver
2026-04-24 11:29:42 - 11 - 04 - INFO - Driver is already installed: ESP32 USB JTAG Driver
2026-04-24 11:29:42 - 11 - 04 - DEBUG - starting new connection: https://dl.espressif.com/
2026-04-24 11:29:42 - 11 - 04 - TRACE - shouldn't retry!
2026-04-24 11:29:42 - 11 - 04 - DEBUG - Downloading https://dl.espressif.com/dl/idf-installer/CH341SER.ZIP to C:\Users\KOTYAR~1\AppData\Local\Temp\.tmpYhy7Fq\idf-drivers\CH341SER_Driver\CH341SER.ZIP
2026-04-24 11:29:42 - 11 - 04 - INFO - Decompressing C:\Users\KOTYAR~1\AppData\Local\Temp\.tmpYhy7Fq\idf-drivers\CH341SER_Driver\CH341SER.ZIP to C:\Users\KOTYAR~1\AppData\Local\Temp\.tmpYhy7Fq\idf-drivers\CH341SER_Driver
2026-04-24 11:29:42 - 11 - 04 - INFO - Decompression completed successfully.
2026-04-24 11:29:42 - 11 - 04 - INFO - Decompressed driver: CH341SER Driver
2026-04-24 11:29:42 - 11 - 04 - INFO - Driver is already installed: CH341SER Driver
2026-04-24 11:29:42 - 11 - 04 - INFO - All drivers installed successfully
2026-04-24 11:29:42 - 11 - 04 - INFO - Drivers installed successfully.

 


Установка Espressif IDE на базе Eclipse

В старом установщике Espressif IDE на базе Eclipse была встроена в установку версии ESP-IDF. Из eim её убрали, так как основной IDE теперь считается расширение для Visual Studio Code. Теперь Espressif IDE, если она вам необходима, нужно ставить отдельно. Скачать архив можно здесь.

Установщика как такового сейчас нет, вы просто распаковываете скачанный архив в нужную папку и запускаете.

На момент написания статьи доступна версия 4.2.0 от 02 апреля 2026 г.

 


Замеченные проблемы

Проблемы, которые я заметил на текущий момент. Вполне возможно, я что-то забыл и дополню список или наоборот – все описанное будет исправлено в ближайшем будущем.

1. Антивирус Касперского воспринимает eim как злобный троян. Причем не при запуске – а уже во время установки. При этом удаляет eim без возможности восстановления (в карантин почему-то не помещает). Решение – добавить eim в исключение антивируса.

2. Нельзя изменять путь к файлу конфигурации eim_idf.json. По умолчанию он лежит в папке c:\Espressif\tools\. Параметр, отвечающий за этот путь есть и в файле конфигурации, и в параметрах установки через командную строку. НО! При изменении местоположения этого файла перестает работать плагин VSCode. В Espressif ответили, что “этот параметр предназначен для слишком специальных случаев и его не следует использовать обычному пользователю”.

3. Невозможно изменить путь к tools во время установки из GUI. Точнее можно, если очень нужно, но только через файл конфигурации или параметры командной строки.

4. Версии устанавливаются в папку \<VERSION>\esp-idf\ а не \esp-idf\<VERSION>\, что было бы более логично.

 


Ссылки

  1. Новая версия установщика ISP-IDF (eim): ESP-IDF Installation Manager
  2. Прежняя версия установщика ISP-IDF: Windows Installer Download
  3. Espressif IDE отдельно и в виде плагина для Eclipse
  4. Драйвер USB-Serial-JTAG для Windows [подробнее]

 

 


Пожалуйста, оцените статью:
[ 5 из 5, всего 6 оценок ]

-= Каталог статей (список по разделам) =-   -= Архив статей (плитки, все подряд) =-

Небольшой анонимный опрос: какие статьи вы предпочитаете?

3 комментария для “Установка ESP-IDF с помощью ESP-IDF Installation Manager”

Добавить комментарий для NameNoName Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

66  +    =  72