Для поддержки плат Raspberry Py Pico с микроконтроллером RP2040 в среде Arduino IDE необходимо установить дополнительные плагины и библиотеки.

Для этого, в Arduino IDE в менеджере плат Arduino IDE, в поисковой строке, необходимо набрать "RP2040" и установить плагин или плагины.

Рис. 1.

В меню "Инструменты" или другим способом необходимо выбрать модель платы с микроконтроллером RP2040.

Рис. 2.

Загрузим в плату Raspberry Pi Pico программу Blink.

const int LED = 25;

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

void loop() {
  digitalWrite(LED, HIGH);
  delay(100);
  digitalWrite(LED, LOW);
  delay(900);
}

Лист. 1. Blink.ino

Возможно, во время загрузки кода в плату, Вы получите сообщение об ошибке "Failed uploading: uploading error: exit status 1":

Рис. 2.

Решим эту проблему:

  • Отключите плату Raspberry Pi Pico от компьютера,
  • В Arduino IDE нажмите кнопку "Загрузить на плату" (стрелочка),
  • Когда в Arduino IDE В панели "Вывод" побегут точки,
  • На плате Raspberry Pi Pico зажмите кнопку "BOOTSEL",
  • И не отпуская эту кнопку, подключите плату к компьютеру.
  • Отпустите кнопку "BOOTSEL".
  • После успешной загрузки программы в плату Raspberry Pi Pico,
  • В меню Инструменты / Порт выберите порт, соответствующий Вашей плате.

В дальнейшем, Вам не придётся отключать плату для новой загрузки. Только порт, может быть, будет отваливаться после каждой загрузки программы. Эта проблема решается выбором ПО для RP2040 в менеджере плат Arduino IDE.

Ваша программа заменила MicroPython ранее установленный в Flash память Raspberry Pi Pico на загрузчик из Arduino, в чём можно убедиться на следующих тестах:

lsusb | grep 2e8a
Bus 001 Device 007: ID 2e8a:0005 MicroPython Board in FS mode


lsusb | grep 2e8a
Bus 001 Device 013: ID 2e8a:00c0 Arduino RaspberryPi Pico

lsusb | grep 2e8a
Bus 001 Device 015: ID 2e8a:0003 Raspberry Pi RP2 Boot

Лист. 2. Первый тест сделан на новой плате Raspberry Pi Pico, а второй тест сделан после использования платы в Arduino IDE. Третий тест сделан с зажатой на плате кнопкой BOOTSEL при включении питания на плату.