Гид по технологиям

Программирование Raspberry Pi Pico в Arduino IDE

7 min read Электроника Обновлено 30 Dec 2025
Raspberry Pi Pico в Arduino IDE
Raspberry Pi Pico в Arduino IDE

Raspberry Pi Pico — вид сверху

Что потребуется

Подготовьте эти компоненты и инструменты перед началом:

  • Raspberry Pi Pico
  • Кабель USB-A → micro-USB для подключения Pico к компьютеру
  • Arduino IDE (Windows, macOS или Linux)

Коротко: Pico — это недорогая и мощная плата на RP2040, а Arduino IDE даёт обширную библиотечную экосистему и знакомый интерфейс.

Установка Arduino IDE

Логотип Arduino

Установка Arduino IDE обычно простая. На Windows рекомендуется скачать ZIP или обычный исполняемый файл с сайта Arduino — избегайте версии из Microsoft Store. При установке разрешите установку драйверов, если IDE предлагает их: это упростит обнаружение платы при первом подключении.

На Linux процесс может занять больше шагов (зависит от дистрибутива). Если вы пользуетесь Ubuntu/Debian/Fedora, установите IDE через официальный пакет или скачайте архив с сайта Arduino и следуйте инструкциям для вашего дистрибутива.

Важно: используйте стабильную версию IDE и убедитесь, что у вас есть права на запись в папку «Arduino» или аналогичную для установки аппаратных пакетов.

Установка Arduino Core для RP2040 (поддержка Pico)

Плата Arduino Uno крупным планом

Поддержка RP2040 в Arduino IDE добавляется как сторонний пакет плат. Есть два основных способа установки: через Boards Manager в IDE и через Git (локальное клонирование). Ниже — оба метода и рекомендации, когда что удобнее.

Через Boards Manager (рекомендуется для большинства пользователей)

  1. Откройте Arduino IDE. Перейдите в меню File > Preferences (на macOS — Arduino IDE > Preferences).

Окно настроек Arduino IDE — Additional boards manager URLs

  1. В поле Additional boards manager URLs добавьте новую строку с этим URL:
https://arduino.github.io/arduino-pico/package_rp2040_index.json

Если у вас уже есть другие URL (например для ESP32), не удаляйте их — просто добавьте новую строку.

  1. Нажмите OK.

Поле Additional boards manager URLs в Arduino IDE

  1. Перейдите Tools > Board > Boards Manager.

Пункт меню Boards Manager в Arduino IDE

  1. В менеджере плат найдите RP2040 и выберите Arduino Mbed OS RP2040 Boards by Arduino. Нажмите Install.

Примечание: пакет большой (≈300 МБ). Загрузка может выглядеть зависшей в определённые моменты — просто подождите.

Установка через Git (альтернатива для продвинутых пользователей)

Если вы предпочитаете держать код и пакеты в локальном репозитории или хотите делать правки, можно клонировать arduino-pico через Git.

На Windows убедитесь, что при установке Git активирована поддержка длинных путей (Win32 long paths), иначе могут возникнуть ошибки при клонировании субмодулей.

В Git Bash выполните последовательность команд:

mkdir -p ~/Arduino/hardware/pico
git clone https://github.com/earlephilhower/arduino-pico.git ~/Arduino/hardware/pico/rp2040
cd ~/Arduino/hardware/pico/rp2040
git submodule update --init
cd pico-sdk
git submodule update --init
cd ../tools
python3 ./get.py

Эта команда загрузит основные субмодули и утилиты, необходимые для компиляции и сборки. Метод подходит разработчикам и тем, кто хочет изменять исходники ядра.

Выбор платы и порта

После установки пакета в Arduino IDE выберите плату: Tools > Board > Raspberry Pi Pico. Затем в Tools > Port выберите COM-порт (Windows) или /dev/ttyACMx (Linux/macOS), соответствующий вашей плате.

Если порт не появляется, проверьте драйверы и кабель (зачастую проблема в нем — используйте кабель, который поддерживает передачу данных, а не только зарядку).

Загрузка скетчей (Upload)

Чтобы загрузить программу на Pico впервые, необходимо перевести плату в режим загрузчика (bootloader): при подключении удерживайте кнопку BOOTSEL (рядом с USB-разъёмом) и подключайте кабель к компьютеру. Плата появится как USB-накопитель и примет файл с расширением .uf2.

Важно: перед входом в режим загрузчика сохраните все важные MicroPython-скрипты, они будут перезаписаны при записи UF2.

После первой загрузки Arduino-Pico core обычно поддерживает авто-сброс (auto-reset), и вам не придётся повторно удерживать BOOTSEL при следующих загрузках. Процесс на высоком уровне выглядит так:

  • Сериал-соединение через COM порт останавливается.
  • Плата переключается в USB режим загрузчика.
  • Новая скомпилированная прошивка (.uf2) переносится в память устройства.
  • Плата перезагружается и начинает выполнять новую программу, а серийное соединение восстанавливается.

Если автоматический сброс не сработал (USB не отвечает), снова используйте удержание BOOTSEL при подключении, чтобы попасть в ROM-bootloader.

Проверка: пример Blink

Откройте File > Examples > 01.Basics > Blink или вставьте этот код в новый скетч:

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // включить встроенный светодиод
  delay(750);                         // подождать 750 мс
  digitalWrite(LED_BUILTIN, LOW);    // выключить
  delay(750);                         // подождать 750 мс
}

Нажмите Upload. Первая компиляция может занять продолжительное время — это нормально. Если всё прошло успешно, встроенный светодиод начнёт мигать.

Важно: не все Arduino-библиотеки сразу совместимы с RP2040. Некоторые библиотеки, зависящие от конкретных микроконтроллеров AVR/ARM, могут работать некорректно или требовать форка.

Частые проблемы и отладка

  • Плата не определяется в системе: проверьте кабель, попробуйте другой порт USB, включите драйверы на Windows.
  • Порт появляется, но загрузка прерывается: попробуйте удержать BOOTSEL и повторить загрузку.
  • Библиотека не компилируется: проверьте совместимость библиотеки с RP2040, поищите форки или альтернативы.
  • Компиляция занимает много времени: первая компиляция действительно дольше, последующие сборки быстрее.

Короткий чек: меняем кабель → проверяем порт в диспетчере устройств → пробуем другой компьютер → используем режим BOOTSEL.

Когда этот подход не подходит (ограничения)

  • Нужен чистый MicroPython workflow: если вы хотите быстро писать и отлаживать на MicroPython REPL, лучше использовать официальную MicroPython сборку для Pico.
  • Нужна низкоуровневая работа с PIO или специфичные SDK-фичи: для сложных проектов на C/C++ официальный pico-sdk даёт больше возможностей.
  • Констрейнты по памяти/производительности: Arduino-Mbed-порт добавляет слой абстракции; для критичных по производительности задач лучше использовать чистый C/C++.

Альтернативные подходы

  • MicroPython: быстрый цикл разработки, удобен для обучения и скриптов.
  • C/C++ с pico-sdk: максимальная производительность и контроль, но более крутая кривая обучения.
  • PlatformIO: альтернатива Arduino IDE с расширенной поддержкой проектов и CI-интеграциями.

Выбор зависит от целей: обучение и быстрые прототипы — MicroPython/Arduino; промышленные проекты и оптимизация — pico-sdk.

Мини‑методология: от идеи до прототипа за три шага

  1. План: опишите функциональные блоки, необходимые периферии, частоты работы, требования к памяти.
  2. Выбор стека: Arduino IDE (быстрая библиотека), MicroPython (быстрая итерация), pico-sdk (производительность).
  3. Прототип и тестирование: сделайте MVP, прогоните тест-кейсы (ниже), затем оптимизируйте.

Чек-листы по ролям

Makers (хоббисты)

  • Проверить кабель на передачу данных
  • Установить Arduino IDE и добавить URL пакета
  • Выполнить пример Blink
  • Сохранить старые скрипты перед загрузкой UF2

Преподаватели / Школьные курсы

  • Подготовить заранее образцы скетчей
  • Обеспечить запас кабелей и переходников
  • Раздать инструкцию по входу в BOOTSEL

Инженеры / разработчики

  • Использовать Git-установку для контроля версий
  • Подключить CI для сборки прошивок (PlatformIO/GitHub Actions)
  • Тестировать критичные библиотеки на совместимость

Тесты и критерии приёмки

Критерии базовой приёмки для проекта на Pico под Arduino IDE:

  • Устройство успешно компилируется и загружается в нормальном режиме без удержания BOOTSEL
  • Скетч Blink мигает с ожидаемой частотой
  • Серийная консоль работает и выводит диагностические сообщения
  • Перечень используемых библиотек собран и совместим с RP2040

Тест-кейсы:

  • TC1: Подключение кабеля и обнаружение порта — PASS если порт виден в IDE
  • TC2: Загрузка Blink — PASS если LED мигает
  • TC3: Перезагрузка после загрузки — PASS если устройство восстанавливает поведение
  • TC4: Проверка выбранной библиотеки — PASS если проект компилируется и тестовые функции выполняются

Сниппеты и шпаргалка

Добавление URL в Preferences:

https://arduino.github.io/arduino-pico/package_rp2040_index.json

Git-установка (повторно, для удобства):

mkdir -p ~/Arduino/hardware/pico
git clone https://github.com/earlephilhower/arduino-pico.git ~/Arduino/hardware/pico/rp2040
cd ~/Arduino/hardware/pico/rp2040
git submodule update --init
cd pico-sdk
git submodule update --init
cd ../tools
python3 ./get.py

Проверьте, что используете кабель с поддержкой данных, например “data” кабель, а не только для зарядки.

Совместимость и миграция

  • Многие стандартные Arduino-библиотеки будут работать без изменений. Но библиотеки, зависящие от специфичных AVR-тимера или регистров, могут требовать правок.
  • При миграции проектов с AVR на RP2040 проверьте таймеры, прерывания и низкоуровневые операции.
  • Для критичных по времени задач рассмотрите использование PIO (Programmable IO) в экосистеме pico-sdk.

Краткий глоссарий (1‑строчные определения)

  • RP2040 — микроконтроллер, разработанный Raspberry Pi Foundation.
  • Pico — плата на базе RP2040.
  • UF2 — формат прошивки для простого обновления через USB-накопитель.
  • BOOTSEL — кнопка на Pico для входа в режим загрузчика.
  • Boards Manager — инструмент Arduino IDE для добавления поддерживаемых плат.

Примеры, когда лучше выбрать другое решение

  • Если вам нужен интерактивный REPL и мгновенная проверка команд — MicroPython удобнее.
  • Если проект требует тонкой оптимизации времени отклика и максимальной скорости — используйте pico-sdk на C/C++.

Заключение

Raspberry Pi Pico в сочетании с Arduino IDE — отличный выбор для быстрой прототипировки и доступа к широкой библиотечной экосистеме. Для большинства образовательных и хоббийных проектов этот набор обеспечивает плавный старт и хорошую производительность. Однако при необходимости низкоуровневой оптимизации или при использовании специфичных библиотек рассмотрите альтернативы.

Ключевые шаги: установить Arduino IDE, добавить URL пакета RP2040, установить плату через Boards Manager (или клонировать репозиторий через Git), выбрать плату и порт, загрузить скетч и протестировать.

Скачивание пакета Arduino Mbed OS RP2040 Boards

Важно: всегда сохраняйте важные скрипты перед установкой новой прошивки — UF2 перезаписывает флеш-память.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Уменьшить синий свет на iPhone с Night Shift
Мобильные устройства

Уменьшить синий свет на iPhone с Night Shift

Как пользоваться Vocabulary Builder на Kindle
Обучение

Как пользоваться Vocabulary Builder на Kindle

Локальное состояние в React — зачем и как
Frontend

Локальное состояние в React — зачем и как

Резервное копирование MySQL с MySQLDumper
Базы данных

Резервное копирование MySQL с MySQLDumper

Как почистить iPhone — пошаговое руководство
Гаджеты

Как почистить iPhone — пошаговое руководство

Как запланировать голосовой чат в Telegram
Руководство

Как запланировать голосовой чат в Telegram