Raspberry Pi Pico 2の技術解説!電子工作を始めるためのハードウェアとプログラミングの基礎


※ 当ページには【広告/PR】を含む場合があります。
2025/08/10
2025/08/18
Raspberry Pi Pico 2とサーミスタで始める!アナログ入力温度測定入門
タコツボの中の工作室|Raspberry Pi Pico 2の技術解説!電子工作を始めるためのハードウェアとプログラミングの基礎


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ポートが認識されなくなる場合があります。その際は、後述の 「基板の初期化とシリアル認識」 の手順で復旧可能です。

Pico2の電源に関連するピン配置について



Pico 2の電源関連ピンは、様々な電源供給オプションと制御機能を提供し、プロジェクトの柔軟性を高めます。これらのピンを理解することは、安定した電源供給と効率的な電力管理のために不可欠です。

電源関連のピン配置の概要

ピン名称 説明 備考
GND 0ボルトのグラウンド いくつかのGNDピンがあり、配線が容易となる
RUN ハードウェアの有効/無効 Picoを開始および停止する
ADC_VREF ADCの電圧基準 任意のアナログ入力の基準電圧を設定する特別な入力ピン
AGND ADCの0ボルトグラウンド ADC_VREFピンと一緒に使用する特別なグラウンド接続
3V3(OUT) 3.3V電源 内部で動作するのと同じ3.3Vの電源供給
3v3(EN) 電源の有効/無効 3V3(O)電源をオン/オフするとともに、本体もオフにすることができる
VSYS 2~5V電源 Picoの内部電源供給に直接接続されたピン、Picoをオフにしない限りオフにできない
VBUS 5V電源 マイクロUSBポートから取得した5Vの電源、3.3V以上の電力が必要なハードウェアに使用

入力電源に関連する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では、
デジタル入力のプルダウン・プルアップ設定がソフトウェアで期待通りに機能しない という報告があります。 これにより、入力信号が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では、
シリアルポートが認識されない 場合があります。 この場合、 BOOTSEL ボタンを押しながらPCに接続しても外部ストレージと認識もしてくれない状態になっている可能性も大きいです。
特に周辺機器との接続性の高いWindowsと違い、LinuxOSでは自動でデバイスの面倒を見てはくれません。
Linuxコマンドに慣れた方であればデバイス周りをゴリゴリ弄っても良いのですが、こだわりがなければ
Arduino IDE で初期化するのがもっとも簡単です。
LinuxPCは自動で認識してくれなくても、Arduino IDE上で、
[ツール] > [ポート] 等に、 不明なUF2 Board などと表示されていたら問題なく利用できると思います。
以下の手順で初期化を行います。

  1. UF2ファイルの作成 :
    1. Arduino IDEで「 ファイル 」メニューから「 新規スケッチ 」を開きます。
    2. ボードが「Raspberry Pi Pico 2」に選択されていることを確認します。
    3. ファイル 」メニューから「 名前を付けて保存 」を選び、任意の名前(例: blank_RP2350 )でスケッチを保存します。
    4. スケッチ 」メニューから「 検証・コンパイル 」をクリックします。これにより、保存したスケッチのフォルダの下に ~.uf2 ファイルが生成されます。
  2. UF2ファイルの書き込み :
    1. ツール 」メニューポートからPico 2に割り当てられた UF2 Board を選択します。
    2. Arduino IDEの 書き込みボタン (右矢印のアイコン)をクリックすることで、スケッチを書き込めます。
    3. この操作により、Pico 2はシリアル認識され、Arduinoでの開発が可能になります。

3. スケッチの書き込み



通常のPico用のプログラムをコンパイルし、出力された
uf2 ファイルを書き込む場合、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秒間隔で点滅を繰り返します。

ArduinoIDEを越えてPico開発を進める



Picoボードの開発では、より多くのユーザーに簡単なプログラミングが楽しめるように、今回のようなArduinoIDEか、
MicroPython が主流となっています。
Python言語での組込み開発もホビーユーザーを中心に盛んに使われるようになりましたが、まだまだ実装で対応できるマイコン製品は限られており、より実践的な開発に利用するのは少し厳しいと感じます。
ArduinoIDEであれば、C/C++言語へそのまま開発が拡張できるため、長期を見据えた計画があるならば、こちらから使っていくのがベストでしょう。
Raspberry Pi公式の開発者ガイドでは、C/C++での基本的な開発環境づくりが以下のリファレンスで紹介されています。

Raspberry Pi Picoで始める:C/C++開発


究極的にはRaspberry Pi Picoをすべての機能を網羅できる高級ライブラリセットの
Raspberry Pi Pico C/C++ SDK での開発も可能です。

Raspberry Pi Pico C/C++ SDK

なお、このライブラリは
pico-sdk プロジェクトに収録されています。

raspberrypi/pico-sdk

気が向けば、pico-sdkの使い方も紹介できたらと考えています。


まとめ



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

  • 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チカの基本スケッチまで、具体的な手順を説明しました。
  • デジタル入力のプルダウン・プルアップ設定に関する既知の不具合 には注意し、必要に応じて外部回路を使用しましょう。
は、その高性能と手軽さから、電子工作ライフをさらに豊かにしてくれることでしょう。 ぜひこの記事を参考に、
を使ったものづくりに挑戦してみてください。