Raspberry Pi Pico 2の技術解説!電子工作を始めるためのハードウェアとプログラミングの基礎
※ 当ページには【広告/PR】を含む場合があります。
2025/08/10
2025/08/18

2024年にリリースされた
この記事では、
Raspberry Pi Pico 2のハードウェア仕様
主なハードウェアの仕様は以下の通りです。
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のほうがコスパが高いのでは...と思われるかもしれませんが、そこらへんはユーザーの気持ちの問題かもしれません。
一応、データシートから得られた新旧織り交ぜた主要なスペックテーブルを紹介しておきましょう。
なお、有志による消費電力の比較計測では、実測でPico 2のほうがPico 1よりも3割も減っているとのことで、より節電性能が向上しています。
Raspberry Pi Pico 2の物理ピンアサインメント
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に割り当て可能です。
「基板の初期化とシリアル認識」
Pico2の電源に関連するピン配置について
Pico 2の電源関連ピンは、様々な電源供給オプションと制御機能を提供し、プロジェクトの柔軟性を高めます。これらのピンを理解することは、安定した電源供給と効率的な電力管理のために不可欠です。
電源関連のピン配置の概要
入力電源に関連するVBUSピン/VSYSピン/3V3ピンの役割
Pico 2の電源供給には、主にVBUS、VSYS、そして3V3の3つのピンが関わってきます。 それぞれのピンは異なる役割とユースケースを持っています。
VBUSピン : 概要 : マイクロUSBポートから直接供給される5Vの電源です。USBケーブルを介してPico 2に電力を供給する際に利用されます。 ユースケース : USB経由でPico 2に給電する場合や、5Vを必要とする外部コンポーネントに電力を供給する場合に便利です。ただし、このピンはPico 2の内部電源レギュレータを介さずに直接5Vが出力されるため、接続するデバイスの電圧要件に注意が必要です。
VSYSピン : 概要 : Pico 2の内部電源供給システムに直接接続されたピンで、2Vから5Vの入力電圧をサポートします。このピンは、Pico 2のオンボード3.3Vレギュレータの入力として機能します。 ユースケース : バッテリー駆動のプロジェクトや、USB以外の方法でPico 2に電力を供給したい場合に最適です。例えば、リチウムイオンバッテリーや単三電池などから直接給電できます。Pico 2が動作している限り、このピンは常に電力を供給し続けます。
3V3(OUT)ピン : 概要 : Pico 2のオンボード3.3Vレギュレータから出力される安定化された3.3V電源です。このピンは、Pico 2自体が動作するために使用するのと同じ3.3Vを提供します。 ユースケース : 3.3Vで動作するセンサーやモジュール、その他の低電力コンポーネントに電力を供給する場合に利用します。このピンから供給される電流は限られているため、大電流を必要とするデバイスの接続には注意が必要です。
既知の課題:デジタル入力のプルダウン・プルアップ設定
2024年10月時点のArduino IDE 2.3.3およびボードライブラリバージョン4.1.1では、
Arduino IDEによるPico 2のプログラミング手順
1. Arduino IDE環境のセットアップ
まず、Arduino IDEにPico 2のボードライブラリをインストールします。
ボードマネージャURLの追加 : Arduino IDEを開き、「 ファイル 」メニューから「 環境設定 」を選択します。 「 追加のボードマネージャのURL 」の欄に以下のURLを入力し、「OK」をクリックします。 https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
ボードライブラリのインストール : 「 ツール 」メニューから「 ボード 」を選択し、「 ボードマネージャ 」をクリックします。 検索窓に「 RP2350 」と入力し、「 Raspberry Pi RP2040/RP2350 Boards 」を選択して「 インストール 」をクリックします。 注意 : Raspberry Pi Pico 2はライブラリバージョン4.0.0以降でサポートされています。動作確認済みのバージョンは4.1.1です。
ボードの選択 : 「 ツール 」メニューから「 ボード 」を選択し、「 Raspberry Pi RP2350 」の中から「 Raspberry Pi Pico 2 」を選択します。
2. 基板の初期化とシリアル認識 (初回起動のみまたはトラブル時)
購入した直後の購入出荷状態のPico 2では、
BOOTSEL
特に周辺機器との接続性の高いWindowsと違い、LinuxOSでは自動でデバイスの面倒を見てはくれません。
Linuxコマンドに慣れた方であればデバイス周りをゴリゴリ弄っても良いのですが、こだわりがなければ
LinuxPCは自動で認識してくれなくても、Arduino IDE上で、
[ツール] > [ポート]
不明なUF2 Board
以下の手順で初期化を行います。
UF2ファイルの作成 : Arduino IDEで「 ファイル 」メニューから「 新規スケッチ 」を開きます。 ボードが「Raspberry Pi Pico 2」に選択されていることを確認します。 「 ファイル 」メニューから「 名前を付けて保存 」を選び、任意の名前(例: blank_RP2350
)でスケッチを保存します。 「 スケッチ 」メニューから「 検証・コンパイル 」をクリックします。これにより、保存したスケッチのフォルダの下に ~.uf2
ファイルが生成されます。
UF2ファイルの書き込み : 「 ツール 」メニューポートからPico 2に割り当てられた UF2 Board を選択します。 Arduino IDEの 書き込みボタン (右矢印のアイコン)をクリックすることで、スケッチを書き込めます。 この操作により、Pico 2はシリアル認識され、Arduinoでの開発が可能になります。
3. スケッチの書き込み
通常のPico用のプログラムをコンパイルし、出力された
uf2
Arduino IDEからの書き込み : 上記の手順でPico 2がPCにシリアル認識されていることを確認します。 「 ツール 」メニューからPico 2に割り当てられた COMポートを選択 します。 Arduino IDEの 書き込みボタン (右矢印のアイコン)をクリックすることで、スケッチを書き込めます。
UF2ファイルの書き込み (ドラッグアンドドロップ) : 「コンパイル済みバイナリをエクスポート」でスケッチを .uf2
ファイルとして作成します。 Pico 2をBOOTSELモードでPCに接続し、ストレージとして認識させます。 作成した .uf2
ファイルを認識されたストレージにドラッグアンドドロップします。
4. Lチカのスケッチ例
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秒間隔で点滅を繰り返します。
ArduinoIDEを越えてPico開発を進める
Picoボードの開発では、より多くのユーザーに簡単なプログラミングが楽しめるように、今回のようなArduinoIDEか、
Python言語での組込み開発もホビーユーザーを中心に盛んに使われるようになりましたが、まだまだ実装で対応できるマイコン製品は限られており、より実践的な開発に利用するのは少し厳しいと感じます。
ArduinoIDEであれば、C/C++言語へそのまま開発が拡張できるため、長期を見据えた計画があるならば、こちらから使っていくのがベストでしょう。
Raspberry Pi公式の開発者ガイドでは、C/C++での基本的な開発環境づくりが以下のリファレンスで紹介されています。
究極的にはRaspberry Pi Picoをすべての機能を網羅できる高級ライブラリセットの
Raspberry Pi Pico C/C++ SDK
なお、このライブラリは
pico-sdk
気が向けば、pico-sdkの使い方も紹介できたらと考えています。
まとめ
以上、この記事では、
Raspberry Pi Pico 2は、 RP2350チップ を搭載し、初代Picoから大幅に性能が向上しています。 デュアルコアCPU(Arm Cortex-M33またはRISC-V Hazard3)、520KBのSRAM、4MBのフラッシュメモリ、FPU搭載 など、より高度なプロジェクトに対応可能です。 GPIOピン は多機能で、UART、I2C、SPI、ADCなど様々なペリフェラルに割り当てて利用できます。 VBUS、VSYS、3V3(OUT)ピン など、電源関連のピンを理解することで、様々な電源供給オプションに対応できます。 Arduino IDE を使った開発環境のセットアップから、UF2ファイルによる書き込み、Lチカの基本スケッチまで、具体的な手順を説明しました。 デジタル入力のプルダウン・プルアップ設定に関する既知の不具合 には注意し、必要に応じて外部回路を使用しましょう。