PlatformIO или Arduino IDE: что выбрать в 2026 году
Сначала была одна Uno и одна мигалка, а через полгода на столе уже макетка с датчиками, второй борт на ESP32 и два ноутбука: один вечером на кухне, другой в мастерской. В Arduino IDE каждая плата живёт в своём окне со своим списком настроек, версии библиотек на двух машинах плывут врозь, и вечер уходит не на код, а на сверку: почему тут скетч собирается, а там — нет. В этот момент обычно и гуглят «PlatformIO или Arduino IDE» — и попадают в холивар, где одни хвалят конструктор сборки, а другие зовут его лишней сложностью.
Ниже — без фанатизма: таблица по шести бытовым критериям, готовый platformio.ini на две платы и практичный вердикт. Если среда ещё не установлена, начните со страницы про скачивание Arduino IDE: переезд имеет смысл только с работающей базы.
Arduino IDE 2: почему для первых месяцев она и правда лучше
Для первых месяцев Arduino IDE 2 объективно удобнее: один инсталлятор с официального сайта — и через десять минут грузишь первый скетч, никакой конфигурации. Меню Файл → Примеры открывает готовые скетчи под каждую функцию платы, монитор порта и плоттер живут в одной панели снизу, плата и порт выбираются двумя кликами. Все книги и уроки, включая этот сайт, пишутся под неё: скетч из инструкции вставляется и работает без правок под среду.
Слабые места всплывают с ростом проекта. Индексация кода и первая сборка на скромном ПК идут медленно — при четырёх гигабайтах памяти среда чувствует себя скованно, и запрос «arduino ide 2 медленно» гуглят не от лени. Версии библиотек нигде не фиксируются: менеджер ставит свежую, автор библиотеки переписывает интерфейс, и старый скетч перестаёт собираться. Полный лог компиляции спрятан в настройках, а правило «одна плата на одно окно» превращает работу с Uno и ESP32 в жонглирование вкладками. Как выжать из монитора IDE больше — в уроке про монитор порта в IDE 2.
PlatformIO: проект вместо скетча
PlatformIO устроен иначе: это не отдельная среда, а плагин к VS Code, который превращает папку с кодом в проект прошивки. Конфигурацию ведёт текстовый файл platformio.ini — плата, фреймворк, скорость монитора и список библиотек с точными версиями, и этот файл едет в git вместе с кодом, поэтому проект собирается одинаково на любой машине. В реестре PlatformIO больше семи тысяч библиотек, и зависимость из него записывается одной строкой. Чем переезд отличается от простого копирования файлов — в уроке про переход на PlatformIO: там же про ловушки с заголовками и прототипами функций.
| Критерий | Arduino IDE 2 | PlatformIO |
|---|---|---|
| Установка | Один инсталлятор с arduino.cc, драйверы предлагаются сразу | VS Code плюс плагин; тулчейн плат докачивается при первом запуске — сотни мегабайт |
| Скорость сборки | Быстрая на маленьком скетче, но каждый раз с нуля | Первая сборка долгая, дальше кэш: пересобирается только изменённое — на больших проектах впереди |
| Библиотеки | Менеджер в два клика, но версии нигде не фиксируются | lib_deps с точными версиями в ini: на новой машине ставятся сами и ровно те же |
| Serial-монитор | Панель снизу, скорость в выпадающем списке | monitor_speed в конфиге, отметки времени и фильтры из коробки |
| Несколько плат в проекте | Одна плата на окно: для второй цели настройку меняешь каждый раз | Секции [env:uno] и [env:esp32dev] в одном файле, переключение выпадающим списком |
| Автодополнение | Работает, но скромнее: без глубокой навигации по коду | Полноценные подсказки от clangd: переход к определению, разбор своих классов |
[env:uno]platform = atmelavrboard = unoframework = arduinomonitor_speed = 9600lib_deps = adafruit/DHT sensor library@1.4.4 [env:esp32dev]platform = espressif32board = esp32devframework = arduinomonitor_speed = 115200В образце выше два окружения: env:uno собирает прошивку для AVR, env:esp32dev — для ESP32, и переключаются они списком внизу панели, без смены платы в меню. Скорость монитора задана отдельно под каждую плату: Uno привыкла к 9600, ESP32 — к 115200. Закреплённая версия библиотеки (запись вида пакет@1.4.4) при первом же запуске на новом ноутбуке поставится ровно та же; в IDE 2 для сравнения менеджер всегда берёт свежую — как устроен его поиск и фильтры — тема отдельного урока.
- Плат в проекте две и больше: метеостанция на ESP32 и приёмник на Uno живут в одном ini и собираются по очереди одной кнопкой.
- Файлов под полсотни: инкрементальная сборка пересобирает только изменённое, полная пересборка каждого чиха остаётся в прошлом.
- Проект должен собираться одинаково дома и на работе: версии библиотек закреплены в ini, git раздаёт их всем машинам.
- Монитор порта нужен серьёзный: отметки времени, фильтры, скорость в конфиге, а не выпадающий список.
- Сборкой займётся сервер: тот же ini уезжает в непрерывную интеграцию, и прошивка собирается без человека за клавиатурой.
Вердикт: кому оставаться, а кому пора переезжать
Итог без драмы. Только начинаете — сидите в IDE 2: там меньше слоёв между вами и мигающим светодиодом, а примеры из уроков заводятся без правок. Проект разросся до двух плат, десятков файлов и плавающих версий — открывайте VS Code с PlatformIO, там эта масса наконец упорядочится. Сильная сторона перехода в том, что обе среды ставятся рядом и не мешают друг другу: скетчбук общий, библиотеки у каждой свои, порт занимается только открытым монитором. Первым делом после установки плагина прогоните на новой плате простую мигалку — например, первый скетч для ESP32 — и лишь потом тащите большой проект.