Skip to content

Pico W 用のプロジェクト作成

事前学習で動かすのは、模擬衛星の MAIN 基板ではなく、事前配布キットの Raspberry Pi Pico W 単体です。 先に Pico SDK と開発環境の構築 を済ませておいてください。 キットに何が入っているかは 部品リスト の「事前配布キット」を参照してください。

Section titled “サンプルの blink からプロジェクトを作る”

環境がそろったことは、自分でコードを書かずに公式サンプルをビルドして確かめます。 Pico SDK とビルドツールが実際に入るのも、この場面です。 初回は拡張機能が自動でダウンロードするため、回線によっては数十分かかります。 進んでいないように見えても、待てば終わることがほとんどです。

  1. Quick Access パネルの New Project From Example を選びます。サンプル集(pico-examples)を元にプロジェクトを作るのがこの項目です。
  2. Name のドロップダウンから blink を選びます。
  3. Board type は Pico W を選びます。ボードの種類によってオンボード LED の制御コードが変わるためです。
  4. Location には、日本語も空白も含まないフォルダを指定します。理由は Pico SDK と開発環境の構築 の「うまくいかないとき」にあります。
  5. Debugger は DebugProbe (CMSIS-DAP) のままでかまいません。キットの Debug Pico はこの方式です。
  6. Create を押すと、指定した場所に blink フォルダができ、VS Code がそのフォルダを開き直します。

Raspberry Pi Pico 拡張機能の New Pico Project 画面。New Project From Example を選び、Name に blink、Board type に Pico W を指定した状態

プロジェクトが開いたら、ステータスバー右側の Compile を押します。 エディタ右上の ▷ は Pico 用のビルドではないので、これを押しても .uf2 はできません。

ビルドが通ると、ターミナルに Linking CXX executable blink.elf と出て、build/ の下に書き込み用ファイル blink.uf2 が生成されます。

VS Code の画面。build フォルダに blink.uf2 が生成され、ターミナルにビルドログが出ている。ステータスバーの Compile ボタンとエディタ右上の実行ボタンに手描きの注記がある

.uf2 ができたら、開発環境の準備はここまでで完了です。 コンパイラと SDK がそろっている証拠であり、オリエンテーションの到達点でもあります。

使っている SDK のバージョンと Board type は、ステータスバーの右側に出ています。 Board: pico_w になっていれば、Pico W 向けに構成できています。

VS Code のステータスバー。Pico SDK: 2.3.0 と Board: pico_w が並び、Board: pico_w を赤枠で示している

画面は 2026年9月5日、VS Code 1.136.0 と拡張機能 0.22.0、Pico SDK 2.3.0 で撮影したものです。

生成した .uf2 を実機へ書き込む手順は Pico W への書き込み にあります。

サンプル集には名前の似た blink と blink_simple があり、Pico W では挙動が違います。

Pico W の基板上の LED は、マイコンの GPIO ではなく無線チップ(CYW43439)につながっています。 blink が Pico W でも光るのは、CYW43_WL_GPIO_LED_PIN が定義されている場合に無線チップのドライバ(cyw43_arch)を初期化して LED を叩く分岐を持っているからです。オンボード LED を光らせるためだけに無線チップを起こしている、とも言えます。

一方 blink_simple は、PICO_DEFAULT_LED_PIN を gpio_init / gpio_set_dir / gpio_put で直接叩くだけの短いコードです。 Pico W ではこのマクロが定義されていないため、そのままビルドしても警告が出るだけで何も起きません。

最初の1枚として blink を選ぶのは、書き込みが成功したかどうかがオンボード LED の点滅としてその場で目に見えるからです。 一方、ブレッドボードに挿した外付けの LED を GPIO で光らせたいときは、blink_simple の形のほうが素直です。その場合、使う GPIO 番号は自分で決めて書く必要があります。