RaspberryPi-PicoをArduinoで動かす

f:id:irieda:20210414085437p:plain

現在の状況

執筆時点(2021-04-13)で公式のArduinoCoreサポートにRaspberryPi-Picoが追加されまています。その環境のセットアップとサンプルコードを動かしてみます。

サンプルコード

int led = LED_BUILTIN;

void setup() {
  Serial.begin(115200);
  pinMode(led, OUTPUT);
}

void loop() {
  digitalWrite(led, 1);
  delay(200);
  digitalWrite(led, 0);
  delay(200);
}

arduino-cliを使う方法

macOSの場合で解説しますが、その他の環境でもほとんど同じ操作です。 マウントパス名がドライブレターになったりシリアルポート名の表現が違うくらいです。

あらかじめ以下の2ツールをインストールしましょう。

ボードサポートインストール

arduino-cli core update-index
arduino-cli core install arduino:mbed_rp2040

コンパイル

arduino-cli compile -b arduino:mbed_rp2040:pico sample

アップロード

BOOTSEL押しながらRUN端子を一瞬LowにするかUSB給電を入れ直します。 /Volumes/RPI-RP2がマウントされるのを確認して以下のコマンドを実行します。

arduino-cli upload -b arduino:mbed_rp2040:pico -p /Volumes/RPI-RP2 sample

シリアルモニター

pyserial-miniterm /dev/tty.usbmodem#### 115200

まとめ

  • やっと公式版のArduino対応がでました
  • USBマスストレージ方式なので書き込みのクチとログモニターのクチが分かれています
  • BOOTSELリセットがやや面倒ですね
  • mbedベース+pico-sdkで実装されていますのでそれぞれの機能の利用は可能かも(未調査)