2024年にリリースされた
Raspberry Pi Pico 2 は、その優れたコストパフォーマンスと進化した性能で、電子工作やDIYプロジェクトの可能性を大きく広げてくれるマイクロコントローラーです。 初代Picoの使いやすさを引き継ぎつつ、より高速な処理能力と強化された機能が追加されたことで、初心者から経験者まで幅広い層のMakerにとって魅力的な選択肢となっています。

を最大限に活用するためには、そのハードウェア仕様をしっかりと理解することが重要です。 特に、どのピンがどのような役割を果たすのかを示す「ピンアサインメント」は、回路設計やプログラミングを行う上で欠かせない知識となります。
この記事では、
の詳細なハードウェア仕様から、物理ピンアサインメントの解説、そしてArduino IDEを使ったプログラミングの基本的な手順までを、分かりやすくご紹介していきます。

を使った電子工作の第一歩を踏み出すための手助けになれば幸いです。


Raspberry Pi Pico 2のハードウェア仕様

は、新しい高性能でセキュアなマイクロコントローラである RP2350 をベースに構築されています。 従来のRaspberry Pi Pico(RP2040搭載)と比較して、大幅な性能と機能の向上が図られています。
主なハードウェアの仕様は以下の通りです。

  • CPU : RP2350には、 デュアルコア、デュアルアーキテクチャ が搭載されており、業界標準の Arm Cortex-M33 コアのペア、またはオープンハードウェアの Hazard3 RISC-V コアのペアのいずれかを選択して使用できます。これらのプロセッサはデフォルトで 150MHz で動作し、50MHzから300MHzの範囲で設定可能です。浮動小数点演算ユニット(FPU)も搭載されており、浮動小数点演算が必要な処理での性能向上が期待されます。
  • メモリ :
    • オンチップSRAMは、従来の256KBから倍増し、 520KB に増強されています。
    • オンボードQSPIフラッシュメモリは 4MB です。
  • GPIO(汎用入出力) :
    • 最大で 54個の多機能GPIOピン がありますが、Raspberry Pi Pico 2ボードでは 26個の多目的GPIOピン が利用可能です。
    • ADC(アナログ-デジタル変換器) として使用できるピンは、GPIO26から29までの4つです。
  • 無線接続 (Raspberry Pi Pico 2 Wのみ) :
    • Pico 2 Wモデルは、 2.4GHz 802.11nワイヤレスLAN Bluetooth 5.2 をオンボードアンテナ付きで提供します。
  • 電源と動作環境 :
    • 入力電源は 1.8Vから5.5V DC です。
    • 動作温度範囲は -20°Cから+85°C です。
  • セキュリティ機能 :
    • Arm TrustZone for Cortex-Mを中心とした包括的なセキュリティアーキテクチャを備えています。署名付きブート、キー保存用の8KBのアンチヒューズOTP、SHA-256アクセラレーション、ハードウェアTRNG、高速グリッチ検出器などが組み込まれています。

Pico 1とのスペック比較



初代Pico1よりは格段に性能が上がっていると謳われてはいますが、その分お値段も割増となっています。
使いようによっては、Pico1のほうがコスパが高いのでは...と思われるかもしれませんが、そこらへんはユーザーの気持ちの問題かもしれません。
一応、データシートから得られた新旧織り交ぜた主要なスペックテーブルを紹介しておきましょう。


Raspberry Pi Pico2 Raspberry Pi Pico
Package 40pinDIP 40pinDIP
CPU Core RP2350 Arm Cortex-M33 RISC-V Hazard3 Dual-core@ 150MHz RP2040  Arm Cortex-M0+ Dual-core@ 133MHz
Memory 4MBFlash+520KBRAM 2MBFlash+264KBRAM
Timer 16-PWM 4-Alarm 1-RTC 16-PWM 4-Alarm 1-RTC
SPI 2 2
I2C 2 2
UART 2 2
ADC 3-12bit 500ksps 3-12bit 500ksps
Digital IO 26(Max) 26(Max)
PWM 24 16
USB端子 MicroB MicroB
PCB Size[mm] 51×21 51×21
継続生産 2040年 2026年
参考|Pico-series Microcontrollers

なお、有志による消費電力の比較計測では、実測でPico 2のほうがPico 1よりも3割も減っているとのことで、より節電性能が向上しています。


Raspberry Pi Pico 2の物理ピンアサインメント

のピンアサインメントは、初代Picoと互換性がありつつも、RP2350チップの機能拡張により、より多くの機能が割り当てられています。 ボード上には26個の多目的GPIOピンが利用可能です。
GPIOは大きく2つのバンクに分かれています。

  • GPIO Bank 0 (ユーザーIOバンク) : GPIO0からGPIO29まで(一般的なPico 2ボードで利用可能)。
  • GPIO Bank 1 (QSPIおよびUSB DP/DMピン) : QSPIとUSB DP/DMに関連するピンが含まれます。USB DP/DMピンも、USBが不要な場合にソフトウェア制御可能なGPIOとして使用できます。

以下に、Pico 2のピンアサインメントの模式図と、主要なピンの機能について説明します。

ピンアサインメントの模式図

合同会社タコスキングダム|蛸壺の技術ブログ
合同会社タコスキングダム|蛸壺の技術ブログ
合同会社タコスキングダム|蛸壺の技術ブログ

主要GPIO機能の概要

  • ソフトウェア制御 (SIO) : 全てのユーザーGPIO、QSPIピン、USB DP/DMピンは、ソフトウェア制御可能なGPIOとして使用できます。
  • プログラマブルI/O (PIO) : RP2350チップには3つ目のPIOインスタンスが追加され、GPIO操作の決定性と正確なタイミングに特化しています。
  • アナログ-デジタルコンバータ (ADC) : GPIO26から29の4つがADC入力として利用可能です。
  • UART (シリアル通信) :
    • Serial1 (UART0) はGPIO 0, 12, 16をTXに、GPIO 1, 13, 17をRXに割り当て可能です。
    • Serial2 (UART1) はGPIO 4, 8をTXに、GPIO 5, 9をRXに割り当て可能です。
  • I2C (2線式インターフェース) :
    • Wire (I2C0) はGPIO 0, 4, 8, 12, 16, 20をSDAに、GPIO 1, 5, 9, 13, 17, 21をSCLに割り当て可能です。
    • Wire1 (I2C1) はGPIO 2, 6, 10, 14, 18, 26をSDAに、GPIO 3, 7, 11, 15, 19, 27をSCLに割り当て可能です。
  • SPI (シリアルペリフェラルインターフェース) :
    • SPI (SPI0) はGPIO 3, 7, 19をMOSIに、GPIO 0, 4, 16, 20をMISOに、GPIO 2, 6, 18, 22をSCKに割り当て可能です。
    • SPI1 (SPI1) はGPIO 11, 15, 27をMOSIに、GPIO 8, 12, 28をMISOに、GPIO 10, 14, 26をSCKに割り当て可能です。
注意点 : 設定できないピンに特定の機能を割り当てようとすると、ボードが停止し、COMポートが認識されなくなる場合があります。その際は、後述の 「基板の初期化とシリアル認識」 の手順で復旧可能です。

既知の課題:デジタル入力のプルダウン・プルアップ設定



2024年10月時点のArduino IDE 2.3.3およびボードライブラリバージョン4.1.1では、
デジタル入力のプルダウン・プルアップ設定がソフトウェアで期待通りに機能しない という報告があります。 これにより、入力信号がLOWまたはHIGHのどちらかにラッチされた状態になり、ボードが停止し、COMポートが認識できなくなることがあります。 この問題の一時的な対策として、 外部のプルダウン・プルアップ回路を使用する ことが推奨されています。


Arduino IDEによるPico 2のプログラミング手順

をArduino IDEでプログラミングするための手順を解説します。

1. Arduino IDE環境のセットアップ



まず、Arduino IDEにPico 2のボードライブラリをインストールします。

  1. ボードマネージャURLの追加 :
    1. Arduino IDEを開き、「 ファイル 」メニューから「 環境設定 」を選択します。
    2. 追加のボードマネージャのURL 」の欄に以下のURLを入力し、「OK」をクリックします。
    3. https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
  2. ボードライブラリのインストール :
    1. ツール 」メニューから「 ボード 」を選択し、「 ボードマネージャ 」をクリックします。
    2. 検索窓に「 RP2350 」と入力し、「 Raspberry Pi RP2040/RP2350 Boards 」を選択して「 インストール 」をクリックします。
      1. 注意 : Raspberry Pi Pico 2はライブラリバージョン4.0.0以降でサポートされています。動作確認済みのバージョンは4.1.1です。
  3. ボードの選択 :
    1. ツール 」メニューから「 ボード 」を選択し、「 Raspberry Pi RP2350 」の中から「 Raspberry Pi Pico 2 」を選択します。

2. 基板の初期化とシリアル認識 (初回のみまたはトラブル時)



Pico 2がPCにシリアルポートとして認識されない場合や、COMポートが認識できなくなった場合は、以下の手順で初期化を行います。

  1. UF2ファイルの作成 :
    1. Arduino IDEで「 ファイル 」メニューから「 新規スケッチ 」を開きます。
    2. ボードが「Raspberry Pi Pico 2」に選択されていることを確認します。
    3. ファイル 」メニューから「 名前を付けて保存 」を選び、任意の名前(例: blank_RP2350 )でスケッチを保存します。
    4. スケッチ 」メニューから「 コンパイル済みバイナリをエクスポート 」をクリックします。これにより、保存したスケッチのフォルダの下に .uf2 ファイルが生成されます。
  2. UF2ファイルの書き込み :
    1. Raspberry Pi Pico 2の BOOTSELボタンを押しながら USBケーブルでPCに接続し、電源を供給します。
    2. Pico 2がPC上でUSBストレージデバイスとして認識されます。
    3. 先ほど作成した .uf2 ファイル(例: blank_RP2350.ino.uf2 )を、認識されたPico 2のストレージにドラッグアンドドロップします。
    4. この操作により、Pico 2はシリアル認識され、Arduinoでの開発が可能になります。

3. スケッチの書き込み



Arduino IDEから直接スケッチを書き込む方法と、UF2ファイルをドラッグアンドドロップで書き込む方法があります。

  1. Arduino IDEからの書き込み :
    1. 上記の手順でPico 2がPCにシリアル認識されていることを確認します。
    2. ツール 」メニューからPico 2に割り当てられた COMポートを選択 します。
    3. Arduino IDEの 書き込みボタン (右矢印のアイコン)をクリックすることで、スケッチを書き込めます。
  2. UF2ファイルの書き込み (ドラッグアンドドロップ) :
    1. 「コンパイル済みバイナリをエクスポート」でスケッチを .uf2 ファイルとして作成します。
    2. Pico 2をBOOTSELモードでPCに接続し、ストレージとして認識させます。
    3. 作成した .uf2 ファイルを認識されたストレージにドラッグアンドドロップします。

4. Lチカのスケッチ例

のボード上にはユーザーLEDが実装されており、これはGPIO25に接続され、 LED_BUILTIN として定義されています。

            void setup() {
    pinMode(LED_BUILTIN, OUTPUT); // ボード上のLEDピンを出力として設定
}

void loop() {
    digitalWrite(LED_BUILTIN, HIGH); // LEDを点灯
    delay(1000);                     // 1秒待機
    digitalWrite(LED_BUILTIN, LOW);  // LEDを消灯
    delay(1000);                     // 1秒待機
}

        

このスケッチを書き込むと、ボード上のLEDが1秒間隔で点滅を繰り返します。


まとめ



以上、この記事では、
の基本的な情報から、電子工作を始める上で重要なハードウェア仕様、ピンアサインメント、そしてArduino IDEを使ったプログラミングの基礎までを解説しました。

  • Raspberry Pi Pico 2は、 RP2350チップ を搭載し、初代Picoから大幅に性能が向上しています。
  • デュアルコアCPU(Arm Cortex-M33またはRISC-V Hazard3)、520KBのSRAM、4MBのフラッシュメモリ、FPU搭載 など、より高度なプロジェクトに対応可能です。
  • GPIOピン は多機能で、UART、I2C、SPI、ADCなど様々なペリフェラルに割り当てて利用できます。
  • Arduino IDE を使った開発環境のセットアップから、UF2ファイルによる書き込み、Lチカの基本スケッチまで、具体的な手順を説明しました。
  • デジタル入力のプルダウン・プルアップ設定に関する既知の不具合 には注意し、必要に応じて外部回路を使用しましょう。
は、その高性能と手軽さから、電子工作ライフをさらに豊かにしてくれることでしょう。 ぜひこの記事を参考に、
を使ったものづくりに挑戦してみてください。