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

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

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

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

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


Оглавление


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

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

Для полноценного программирования ESP8266 и ESP32 в основном используется язык C / C++ с применением платформ Arduino или ESP-IDF, но также можно работать и с языками MicroPython, LUA, Rust и др. Список поддерживаемых языков постоянно расширяется. А использовать для этого можно много самых разных сред разработки: Arduino IDE, PlatformIO, Espressif IDE, Theia IDE, CLion, VisualGdb, ESPLorer и другие.

💠 ESP8266
├── Язык: C / C++
│   ├── Фреймворк: Arduino core for ESP8266  ← Простой, для обучения
│   │   ├── IDE: Arduino IDE 1 / 2  ← ⚠️ Сейчас не доступен из-за санкций
│   │   ├── IDE: Trema IDE 🇷🇺
│   │   └── IDE: VS Code + PlatformIO
│   ├── Фреймворк: ESP8266 Non-OS SDK  ← Сложный, не рекомендуется
│   │   └── IDE: VS Code + PlatformIO 
│   └── Фреймворк: ESP8266 RTOS SDK   ← Сложный, не рекомендуется
│       └── IDE: VS Code + PlatformIO 
│
├── Язык: MicroPython (Python 3)
│   └── IDE: ESPlorer
│
└── Язык: LUA (NodeMCU)
    └── IDE: ESPlorer

💠 ESP32 (ESP32, ESP32-S, ESP32-C, ESP32-H и т.д.)
├── Язык: C / C++
│   ├── Фреймворк: Arduino core for ESP32  ← Простой, для обучения
│   │   ├── IDE: Arduino IDE 1 / 2  ← ⚠️ Сейчас не доступен из-за санкций
│   │   ├── IDE: Trema IDE 🇷🇺
│   │   ├── IDE: VS Code + PlatformIO
│   │   └── IDE: VS Code (Theia) + ESP-IDF Extension + Arduino as component ← Компромисс
│   │
│   └── Фреймворк: ESP-IDF  ← Профессиональный выбор
│       ├── IDE: VS Code + ESP-IDF Extension  ← Официальный вариант
│       ├── IDE: VS Code + PlatformIO
│       ├── IDE: Eclipse Theia IDE + ESP-IDF
│       ├── IDE: Eclipse CDT (Espressif IDE)
│       ├── IDE: CLion + ESP-IDF
│       └── IDE: Visual Studio + VisualGDB  ← Платное расширение
│
├── Язык: MicroPython (Python 3)
│   └── IDE: ESPlorer
│
├── Язык: LUA (NodeMCU)
│   └── IDE: ESPlorer
│
├── Язык: Rust
│   ├── IDE: VS Code + espup
│   └── IDE: RustRover
│
└── Язык: Free Pascal  ← Специфичный
    └── IDE: Lazarus + FPCUPdeluxe

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

Шаг 2. Если вы выбрали язык C / C++ – определитесь с платформой (фреймворком)

  • для ESP8266 основной платформой можно считать Arduino core for ESP8266, Другие варианты сложны и мало используются.
  • для ESP32ESP-IDF или Arduino core for ESP32. Платформа Arduino core более простая в освоении, а ESP-IDF дает больше возможностей (но можно сочетать ESP-IDF + Arduino core).

Шаг 3. Исходя из выбранной платформы подберите подходящую IDE:

  • Arduino IDE подойдет вам, если вы хотите программировать ESP8266 или ESP32 с использованием Arduino core for ESP32. Прост, но не удобен. Кроме того, последние версии IDE не получится скачать и запустить без квн - доступ заблокировали новые владельцы платформы (Qualcomm). Но при желании можно использовать  Trema IDE взамен.
  • Visual Studio Code (или Theia) с плагином ESP-IDF v2 можно использовать для работы с ESP32 с использованием ESP-IDF или ESP-IDF + Arduino core как компонент. Официальный инструмент от Espressif. Сложнее Arduino IDE, но несравненно удобнее.
  • Visual Studio Code с плагином PlatformIO можно использовать для работы и с ESP8266 и с ESP32, и с любым фреймворком - Arduino core for ESP32 или ESP-IDF или ESP-IDF + Arduino core как компонент. Но относительно сложен в освоении. 

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

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

 


Классический установщик 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 сопряжено с некоторыми небольшими, но все-таки трудностями. Если вы установили ESP-IDF + Espressif IDE, то для возможности одновременной работы ещё и в VSCode установку следует либо повторить в другой каталог, либо “подхватить” уже существующую. Об этом было написано в прошлой статье.
  • Для разных операционных систем были разные типы установщиков.

 

ESP-IDF Installation Manager:

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

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


Установка ESP-IDF Installation Manager

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

  • Вручную, скачав инсталлятор eim или пакет для вашей ОС по ссылке: [ESP-IDF Installation Manager]
  • Установив плагин ESP-IDF версии 2.x в Visual Studio Code – после чего установку ESP-IDF можно запустить прямо оттуда, выполнив команду ESP-IDF: Open ESP-IDF Installation Manager

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

 

Установка ESP-IDF Installation Manager на ОС Windows

С непривычки на странице загрузки 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.

 


Установка ESP-IDF Installation Manager на ОС Linux (Debian/Ubuntu, etc)

Установить eim на linux можно двумя способами:

  • подключить репозиторий dl.espressif.com и установить eim из него online,
  • либо скачать готовый пакет установки и установить его с помощью команды dpkg.

Вариант 1: online установка – последовательно выполните команды в консоли:

# Подключаем репо
echo "deb [trusted=yes] https://dl.espressif.com/dl/eim/apt/ stable main" | sudo tee /etc/apt/sources.list.d/espressif.list

sudo apt update

# Устанавливаем версию с GUI (включая и CLI тоже)
sudo apt install eim

 

Вариант 2: offline установка – скачайте пакет, который подходит для вашей системы, например eim-gui-linux-x64.deb, а затем установите его:

sudo pdkg -i eim-gui-linux-x64.deb

 

Попутно eim натаскает в вашу систему еще небольшую кучку пакетов, впрочем это обычное поведение средств разработки.

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


ESP-IDF Installation Manager

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

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

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

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

Либо, если у вас уже были ранее установлены другие версии ESP-IDF, то eim предложит вам перейти в режим управления существующими версиями – ESP-IDF Version Managment. Давайте совсем чуть-чуть остановимся на этом:

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

 

Теперь давайте перейдем к главной теме статьи – процессу установки новой версии. Для этого нажмите кнопку Start Installation или Install New Version. Вы увидите следующий экран:

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

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

 

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

1. Prerequsisites Check

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

2. Python Setup Required

Далее eim проверяет python и его окружение. Для Windows я сам ничего не ставил – инсталлятор всё сделал самостоятельно.

Для Linux это может выглядеть так:

Мне потребовалось выполнить следующие операции в консоли (на только что установленный debian):

# Устанавливаем pip
sudo apt install pip

# Устанавливаем venv
sudo apt install python3-venv

Конечно, здесь всё зависит от настроек вашей ОС, в вашем случае могут потребоваться другие команды (например вам может потребоваться обновить python). Если в вашей ОС всё это уже установлено, то eim сразу перейдет к следующему шагу.

После нажатия кнопки “Recheck Python Installation” процесс перешел к следующему шагу…

 

3. Select Target Chips

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

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

 

4. Select ESP-IDF Versions

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

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

 

5. 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 или инструменты сборки. Как и в предыдущем случае – их состав может быть разным для разных версий:

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

На компьютерах с Linux в списке опциональных инструментов будет присутствовать система сборки СMake(на Windows она устанавливается автоматически, поэтому не присутствует в списке опций). Казалось бы – почему дополнительная опция – это же основной инструмент! А дело в том, что проще и удобнее установить её предварительно, с помощью команды терминала sudo apt install cmake. Тогда она будет использоваться всеми версиями сразу.

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

 

8. Select Installation Location

Теперь мы добрались до выбора каталога установки, куда будет установлены выбранные версии ESP-IDF (только сам фреймворк).

Каталоги установки “по умолчанию”: 

  Фреймворк ESP-IDF Инструменты сборки ($IDF_TOOLS_PATH)
Windows c:\esp\ c:\Espressif\tools\
Linux ~/.espressif $HOME/.espressif

GUI позволяет изменить только каталог установки фреймворка (но не инструментов!). Путь к инструментам в GUI-интерфейсе изменить нельзя.

  • Для ОС Windows eim по умолчанию предлагает установку в каталог c:\esp, но я предпочитаю изменить путь на c:\Espressif\frameworks – это позволит совместить каталог ESP-IDF с каталогом установки tools по умолчанию (см. скриншот выше). 
  • Для ОС Linux eim по умолчанию предлагает установку в каталог /home/<username>/.espressif/, то есть фактически это позволяет совместить каталог ESP-IDF с каталогом установки tools

Вы также можете без проблем перенастроить установку фреймворка на другой диск или в другой каталог – на работоспособности eim и связанных с им IDE это никак не скажется.

Каждая версия ESP-IDF устанавливается в отдельный подкаталог, например c:\esp\v5.5.4\esp-idf или c:\Espressif\frameworks\v5.5.4\esp-idf. Логично было бы наоборот (\esp-idf\v5.5.4), но как есть – повлиять на это мы уже никак не можем. Переменная $IDF_PATH при этом будет указывать только на одну, выбранную в данный момент версию:

C:\Espressif\frameworks\
├── v5.1.4\esp-idf\      
├── v5.2.2\esp-idf\      <--- При переключении на v5.2.2, IDF_PATH будет указывать сюда
└── v5.3.1\esp-idf\      

 

Путь к инструментам (tools) изменить технически возможно только через параметры CLI, файл конфигурации или переменные окружения. Но следует учитывать, что это будет связано с некоторыми техническими проблемами. Дело в том, что в каталоге инструментов (tools) по умолчанию создается специальный файл eim_idf.json, в котором содержится служебная информация об установленных версиях ESP-IDF. Из этого файла черпает информацию плагин ESP-IDF для VSCode, Espressif IDE и сам eim. Если, например, плагин ESP-IDF “не найдет” этот файл, то и не будет “знать” об установленных версиях ESP-IDF.

Отсюда вывод: не стоит бездумно изменять путь к инструментам сборки, если вы не готовы к некоторым трудностям. Но это мы обсудим позже.

Многие инструменты (tools) также создают отдельный подкаталог в соответствующем каталоге для конкретного инструмента. Но только в случае, если версия инструмента отличается от той, что уже установлена в системе. Например для riscv32-esp-elf можно найти следующие подкаталоги:

c:\Espressif\tools\riscv32-esp-elf\esp-14.2.0_20250730\
c:\Espressif\tools\riscv32-esp-elf\esp-14.2.0_20251107\
c:\Espressif\tools\riscv32-esp-elf\esp-14.2.0_20260121\
c:\Espressif\tools\riscv32-esp-elf\esp-15.2.0_20251204\

Поэтому размер каталога с инструментами (c:\Espressif\tools) может со временем составлять несколько десятков гигабайт. Будьте осторожны – не храните много версий одновременно, если у вас имеется проблема с местом на дисках.

 

9. Installation Progress

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

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

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

 

10. Installation complete

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

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


Установка или обновление расширения ESP-IDF в VSCode

Если вы предпочитаете работать в Visual Studio Code, то теперь вам необходимо установить расширение ESP-IDF (иногда встречается название ESP IDE) или обновить его до последней версии (так как плагин версий 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. При установке нескольких версий этот список применя