Raspberry Pi Pico Wは、RP2040マイコンにWi-Fi(2.4GHz)とBluetooth 5.2を足した、手のひらサイズのマイコンボードです。2026年10月時点の秋月電子の価格は1,240円(税込)で、センサーの値をWi-Fiで送る、スマホのブラウザから機器を操作するといった無線つきの電子工作を1枚で始められます。この記事では、仕様、WH・Pico 2 W・Pico 2 WHとの違いと選び方、MicroPythonでWi-Fiにつなぐまでのコード、日本で使うときの技適と、業務で使う前に確認したい点を、公式資料とMicroPythonのソースコードをもとに整理します。
まとめ:Pico Wの要点とモデル選びの結論
- 何者か:RP2040(Cortex-M0+デュアルコア・最大133MHz・SRAM 264KB)とフラッシュ2MBに、無線チップCYW43439を載せたボードです。Linuxは動かず、書き込んだプログラムだけが電源投入と同時に動きます。
- WとWHの違い:性能は同じで、違いはピンヘッダが付いているかと、デバッグ端子の形だけです。秋月電子ではWが1,240円、WHが1,375円です。
- Pico 2 Wとの違い:Pico 2 WはRP2350(最大150MHz・SRAM 520KB・フラッシュ4MB)で、ピン配置は共通です。秋月ではPico 2 WとPico WHが同じ1,375円なので、はんだ付けできるなら新しく買うのはPico 2 Wを勧めます。
- 無線の制約:Wi-Fiは2.4GHz帯の802.11b/g/nに対応し、5GHz帯だけで提供されるSSIDにはつながりません。
- 日本で使う条件:国内正規品には工事設計認証(技適)番号があります(Pico W・WHは008-220422、Pico 2 W・2 WHは020-240399)。
Raspberry Pi Pico Wの仕様(RP2040とCYW43439)
Raspberry Pi公式ドキュメントのPico microcontroller boardsとPico Wの製品仕様書(product brief)から、主な仕様を抜き出しました。
| 項目 | Raspberry Pi Pico W |
|---|---|
| マイコン | RP2040(Cortex-M0+ ×2・最大133MHz) |
| SRAM/フラッシュ | 264KB/2MB |
| Wi-Fi | 802.11b/g/n・2.4GHzのみ・WPA3対応 |
| Bluetooth | 5.2(BLE CentralとPeripheral・Classic) |
| GPIO | 26本(3.3V) |
| ADC/PWM/PIO | 12bit×3/16ch/8ステートマシン |
| SPI/I2C/UART | 各2系統 |
| 電源 | micro USB(5V)、またはVSYS(1.8〜5.5V) |
| 大きさ | 51×21mm |
GPIOは3.3Vです。5Vで信号を出すセンサーをそのままつなぐとRP2040を壊すおそれがあるので、レベル変換か分圧を挟みます。無線チップCYW43439はRP2040と最大33MHzのSPIでつながっており、基板上のLEDもこの無線チップ側(WL_GPIO0)にぶら下がっています。無印PicoのようにPin(25)でLEDを点けるコードがPico Wで光らないのはこのためです。
Wi-Fiアクセスポイントとして動かすこともでき、公式資料では接続できるクライアントは4台までとされています。スマホから直接つないで設定画面を開く、といった使い方なら足ります。なお、公式ドキュメントのモデル一覧の冒頭には「デュアルバンド(2.4GHzまたは5GHz)の802.11ac」と書かれた行がありますが、同じページの各モデルの節、製品仕様書、データシートはいずれも2.4GHzの単一バンドです。Pico Wで5GHzは使えません。
マイコンとシングルボードコンピュータの違い
Pico Wは名前に「Raspberry Pi」と付きますが、Raspberry Pi 5やPi 4のようにLinuxが動く小型PC(シングルボードコンピュータ)ではありません。OSもSDカードも無く、パソコンから書き込んだ1本のプログラムが電源を入れた瞬間から動き続けるマイコンです。画面にデスクトップを出したり、Pythonの一般的なライブラリ(pandasなど)を動かしたりはできません。その代わり起動待ちがなく、待機中の消費電力が小さいので、センサーを読み続けて結果を送るような単機能の装置に向きます。カメラ映像の解析やHome Assistantを動かすスマートホームの母艦のような処理はRaspberry Pi本体、末端のセンサー役はPico W、と分けると選定を誤りません。
Pico・Pico W・WH・Pico 2 W・2 WHの違い
Picoシリーズは、無線の有無(名前のW)、ピンヘッダの有無(H、Pico 2ではwith headers)、マイコンの世代(無印はRP2040、2はRP2350)の3つで決まります。2026年10月15日時点の秋月電子の税込価格と並べると次のとおりです。
| モデル | マイコン | 無線 | ピンヘッダ | 秋月の価格 |
|---|---|---|---|---|
| Pico | RP2040 | なし | なし | 800円 |
| Pico W | RP2040 | Wi-Fi・BT | なし | 1,240円 |
| Pico WH | RP2040 | Wi-Fi・BT | 実装済み | 1,375円 |
| Pico 2 | RP2350 | なし | なし | 990円 |
| Pico 2 W | RP2350 | Wi-Fi・BT | なし | 1,375円 |
| Pico 2 WH | RP2350 | Wi-Fi・BT | 実装済み | 1,710円 |
価格は秋月電子の商品ページ(Pico W・Pico 2 Wほか)の表示です。スイッチサイエンスではPico Wが1,430円、WHが1,540円で、店によって100〜200円ほど差があります。
WとWHの違いはピンヘッダとデバッグ端子
公式ドキュメントは、Pico WとPico WHのハードウェアは同一で、物理的な違いは「ピンヘッダがはんだ付け済みか」と「デバッグ端子の形」の2点だけだと説明しています。
- Pico W:40本の端子は穴だけで、ピンヘッダは自分ではんだ付けします。デバッグ端子(SWD)は、マイコンの下にある3つのパッド(穴)です。
- Pico WH:ピンヘッダが付いた状態で届き、ブレッドボードにそのまま挿せます。デバッグ端子は向きの決まった3ピンのJST型コネクタで、Raspberry Pi Debug Probeのケーブルをそのまま挿せます。
はんだごてを持っていない人や、子どもの学習用ならWHを選びます。差額は秋月で135円です。逆に、基板を別の基板へ直接はんだ付けして組み込む、ケースを薄く作りたいといった場合は、ヘッダの無いWのほうが扱いやすくなります。C/C++でブレークポイントを使ったデバッグをするつもりなら、コネクタを挿すだけで済むWHが楽です。
Pico 2 W(RP2350)との違いと選び方
Pico 2 Wは、マイコンをRP2350に替えた第2世代で、2024年11月25日に発売されました(日本の工事設計認証は2024年12月18日)。無線チップは同じCYW43439で、ピン配置と基板の形もPico Wと共通なので、ケースや配線はそのまま流用できます。
| 項目 | Pico W | Pico 2 W |
|---|---|---|
| マイコン | RP2040 | RP2350 |
| CPU | Cortex-M0+ ×2・133MHz | Cortex-M33 ×2 または Hazard3(RISC-V)×2・150MHz |
| SRAM/フラッシュ | 264KB/2MB | 520KB/4MB |
| PIO | 8ステートマシン | 12ステートマシン |
| 無線 | CYW43439 | CYW43439 |
| 技適番号 | 008-220422 | 020-240399 |
秋月電子ではPico 2 W(1,375円)がPico WH(1,375円)と同じ値段です。メモリが倍あると、HTTPSで外部APIを呼ぶときの暗号処理やJSONの組み立てで「MemoryError」に当たりにくくなります。これから買うなら、はんだ付けできる人はPico 2 W、できない人はPico 2 WH(1,710円)を選び、Pico Wを選ぶのは手元にPico W向けのコードや基板があるときだけ、というのがこの記事の結論です。
注意点は、ファームウェアが別物になることです。MicroPythonはPico W用(RPI_PICO_W)とPico 2 W用(RPI_PICO2_W)でUF2ファイルが分かれており、取り違えると起動しません。C/C++のSDKでも、ビルド時に指定するボード名がpico_wからpico2_wに変わります。
Pico Wでできること(Wi-Fi・BLEの使い道)
無印Picoとの差は、ネットワークに直接つながることです。無線チップが同じなので、以下はPico 2 Wでもそのまま当てはまります。代表的な使い道を挙げます。
- センサー値をクラウドへ送る:温湿度センサー(BME280など)の値を数分おきにHTTPで送り、Ambientのような無料のグラフ化サービスで見える化する。
- ブラウザから機器を操作する:Pico W上に小さなWebサーバーを立て、スマホからLEDやリレーをオン・オフする。
- 正確な時刻で動く時計・タイマー:NTPで時刻を取り、決まった時刻にリレーを動かす。
- BLEでスマホやセンサーとつなぐ:BLEのPeripheralとしてスマホアプリへ値を通知する、BLEセンサーをCentralとして読む。
この記事では、公式のPico W向けファームウェアが配布されているMicroPythonで初回接続を説明します。速度やメモリを詰めたいならC/C++のPico SDK(2026年10月時点の最新は2.3.1)、Go言語で書きたいならTinyGoもPico Wに対応しています。屋外などWi-Fiが届かない場所で使うなら、Pico 2互換でLTE通信を載せたMicroCat.1のようなボードが選択肢になります。
ESP32・Arduinoとの使い分け
無線つきマイコンで比べられるのは、ESP32とArduino UNO R4 WiFiです。メーカーの資料から主な仕様を並べます。
| 項目 | Pico W | ESP32 | Arduino UNO R4 WiFi |
|---|---|---|---|
| CPU | Cortex-M0+ ×2・133MHz | Xtensa LX6 ×1〜2・最大240MHz(型番による) | Cortex-M4(RA4M1)・48MHz |
| SRAM | 264KB | 520KB | 32KB |
| Bluetooth | 5.2 | 4.2(BR/EDR・LE) | ESP32-S3が担当 |
| 強み | PIO・資料の一貫性 | クロック・ライブラリ量 | Arduinoの教材 |
ESP32の数値はEspressifのデータシート、UNO R4 WiFiはArduino公式のハードウェアページによります。
比較表のESP32はPico WよりCPUの最大クロックとSRAM容量が大きい一方、用途ごとの処理速度や必要なWi-Fiライブラリへの対応は、実際に使うボードと開発環境で確認します。ESP32を積んだ完成品なら、画面とケースが付いたM5StackやLILYGOの製品があります。Pico Wを選ぶ理由は、PIOでステッピングモーターやLEDテープ(WS2812)などのタイミングに厳しい信号を正確に出せること、メーカーがチップからボードまで同じで資料が揃っていること、そしてPico 2 Wへ同じ基板形状のまま上げられることです。ArduinoのスケッチやArduino IDEの教材を使いたいならUNO R4 WiFiが入りやすく、Pico WもArduino IDE(arduino-cliを含む)で書けますが、使えるのはコミュニティ製のボードパッケージです。
MicroPythonでPico WをWi-Fiにつなぐ手順
MicroPythonの最新安定版はv1.29.0(2026年8月24日公開)です。以下のコードは、v1.29.0のソースコードでAPIを確認したうえで書いています。
Pico WへのMicroPythonファームウェアの書き込み
- MicroPythonのダウンロードページからPico W用のUF2ファイル(ファイル名がRPI_PICO_Wで始まるもの)を取得します。Pico 2 Wなら RPI_PICO2_W です。
- BOOTSELボタンを押したままUSBケーブルでパソコンにつなぎ、「RPI-RP2」(Pico 2 Wは「RP2350」)という名前のドライブが出たらボタンを離します。
- UF2ファイルをそのドライブへドラッグ&ドロップすると、自動で再起動してMicroPythonが動きます。
- エディタはThonnyが手軽です。右下のインタプリタ選択で「MicroPython (Raspberry Pi Pico)」を選びます。
BOOTSELモードはチップ内の書き換えられない領域にあるため、プログラムを書き損じても、BOOTSELを押しながらつなげば必ずこのドライブが出ます。書き込み手順は公式ドキュメントのMicroPythonの章にもあります。
Wi-Fi接続のコードと失敗の見分け方
基板のLEDを点滅させながら接続し、成功したらIPアドレスを表示するコードです。SSIDとPASSWORDを自分の環境に置き換えてThonnyで実行してください。電源投入時にも自動実行したい場合は、Pico W本体へmain.pyという名前で保存します。
import network
import time
from machine import Pin
SSID = "YOUR_SSID"
PASSWORD = "YOUR_PASSWORD"
led = Pin("LED", Pin.OUT)
network.country("JP")
wlan = network.WLAN(network.WLAN.IF_STA)
wlan.active(True)
wlan.connect(SSID, PASSWORD)
for _ in range(30):
st = wlan.status()
if st < 0 or st == network.STAT_GOT_IP:
break
led.toggle()
time.sleep(0.5)
if wlan.status() != network.STAT_GOT_IP:
raise RuntimeError("Wi-Fi接続失敗 status=%d" % wlan.status())
led.on()
print("IP:", wlan.ipconfig("addr4"))
押さえどころは3つあります。
- 国コードは
active(True)の前に設定する:MicroPythonのソース(extmod/network_cyw43.c)では、国コードはactive(True)で無線を起動するときに無線チップへ渡されます。起動後にnetwork.country("JP")を呼んだ場合は、次に無線を起動し直すまで反映されません。設定しないと既定は「XX」(全世界向け)です。 - 待つ条件は「負の値」か「接続済み」:
status()は1(接続中)、2(つながったがIP未取得)、3(STAT_GOT_IP)と進み、失敗すると負の値になります。status() == STAT_CONNECTINGの間だけ待つ書き方は、2になった時点でループを抜けてしまいます。 ifconfig()は非推奨:古い記事のwlan.ifconfig()も動きますが、ドキュメントでは非推奨とされ、ipconfig("addr4")への置き換えが案内されています。
失敗したときは、表示された status の値で原因を絞り込めます。
| status | 定数 | よくある原因 |
|---|---|---|
| -3 | STAT_WRONG_PASSWORD | パスワードの誤り |
| -2 | STAT_NO_AP_FOUND | SSIDの誤り・5GHz専用のSSID・電波が届かない |
| -1 | STAT_CONNECT_FAIL | 上記以外の失敗 |
| 2 | (定数なし) | DHCPでIPが取れていない |
Pico Wは2.4GHzしか使えません。STAT_NO_AP_FOUNDが出たら、指定したSSIDで2.4GHz帯が有効になっているかをルーターの設定で確認し、切り分けとして2.4GHz専用のSSIDでも試します。
HTTPによるデータ送信とNTPによる時刻同期
Pico W用のMicroPythonには、requestsとntptimeが最初から入っています(ports/rp2/boards/RPI_PICO_W/manifest.py が bundle-networking を取り込んでいるため)。上のコードでWi-Fiにつないだあとに実行します。ただし、送信先のexample.comは説明用の仮URLです。自分で用意したJSON POSTを受け付けるAPIのURLへ置き換えてください。この例のrequestsはサーバー証明書を検証しないため、機密情報や実際のAPIキーは送らないでください。
import time
import ntptime
import requests
ntptime.settime()
t = time.localtime(time.time() + 9 * 3600)
print("JST: %04d-%02d-%02d %02d:%02d" % t[:5])
r = requests.post("https://example.com/api/readings",
json={"temp": 23.5}, timeout=10)
print(r.status_code)
r.close()
ntptime.settime()は内蔵時計をUTC(協定世界時)で合わせます。MicroPythonにはタイムゾーンの仕組みが無いので、日本時間にするには9時間(32,400秒)を足します。r.close()でソケットを閉じます。定期送信のループで閉じ忘れると、使い終わったソケットが残ったままになります。
Bluetooth(BLE)の開発ライブラリと対応ロール
Pico W用のMicroPythonには、BLEを非同期で扱うライブラリaiobleも同梱されています(同じmanifest.pyで指定)。import aiobleだけで使え、スマホに値を通知するPeripheralも、BLEセンサーを読むCentralも書けます。C/C++の場合、BluetoothはBTstackで実装されています。
業務や製品でPico Wを使う前の確認点
技適、通信の保護、電源・アンテナの条件は、趣味の工作でも確認が必要です。業務や製品への組み込みでは、これらに加えて商用ライセンスと生産期間も確認します。センサーからクラウドまでを一続きで設計する場合は、AI/IoTソリューションの開発として相談いただくこともできます。
Pico W系の技適番号と認証表示の確認
Pico Wは電波を出す機器なので、日本国内では工事設計認証(技適)を受けた個体を使う必要があります。秋月電子の商品ページには、Pico W・WHが008-220422、Pico 2 W・2 WHが020-240399と記載されています。総務省の技術基準適合証明等を受けた機器の検索でこの番号を引けます。海外の通販で買った個体は、基板やパッケージに技適マークがあるかを確かめてから電源を入れてください。
無線ライブラリの商用ライセンス
Wi-Fiドライバのlibcyw43とBluetoothのBTstackは、本来は非商用なら無料というライセンスです。Raspberry Piは公式ドキュメントで、Pico W系のボードと、RP2040またはRP2350とCYW43439を組み合わせた基板について、商用利用の無料ライセンスを取り決めたと説明しています。ただし、許諾の範囲はライブラリごとの原文で書き方が違います。
- libcyw43:cyw43-driverのLICENSE.RPは、RP2040などRaspberry Pi製の半導体と一緒に使う場合に限って使用と再配布を認めています。
- BTstack:pico-sdkのBTstack用LICENSE.RPは、対象製品をPico W・WH・2 W・2 WH・RM2と定め、それらを使う製品や派生した製品に使用を限っています。
Pico W系のボードをそのまま組み込むならどちらの条件も満たします。チップを自前の基板に載せる場合は、部品の組み合わせだけで判断せず、両方の原文を確認してから設計に入ります。
MicroPython同梱requestsの証明書検証と対策
MicroPython v1.29.0に同梱のrequests(1.1.1)は、HTTPSの接続でサーバー証明書を検証しません(ソースでverify_mode = tls.CERT_NONEを指定)。通信は暗号化されますが、途中で別のサーバーになりすまされても気づけません。APIキーなど漏れて困るものを送るなら、ssl.SSLContextでCA証明書を読み込みCERT_REQUIREDにして接続します。その際は、前の節のntptime.settime()などで端末の日時を正しく合わせ、接続先のホスト名をserver_hostnameに指定します。中継サーバーを使う場合も、Pico Wから中継サーバーまでの通信を認証・保護する必要があります。
アンテナ・電池電圧・生産期間
- アンテナ:USB端子と反対側の端にあるアンテナの上や下に金属を置くと、利得と帯域が落ちると公式資料が注意しています。データシートは、親基板の縁に載せ、金属のケースで囲まない(ファラデーケージになる)よう求めています。
- VSYSの電圧:電池駆動で電圧を測る場合、VSYSの3分の1がGPIO29(ADC3)に入りますが、Pico WではGPIO29が無線チップとのSPIのクロック線を兼ね、GPIO25(無線SPIのチップセレクト)をHighにしたときだけ電圧を読めます(Pico 2 Wデータシートも同じ構成)。測定できるのは無線チップとのSPI転送が行われていない間です。Wi-Fi接続自体の停止が必須なのではなく、ドライバのSPIアクセスとADC測定が競合しないように排他制御する必要があります。
- 生産期間:製品仕様書には、Pico Wは少なくとも2036年1月まで生産を続けると書かれています。数年単位で同じ基板を調達し続ける前提を置けます。
よくある質問
Raspberry Pi Pico Wで何ができますか?
Wi-FiとBluetoothを使った電子工作ができます。センサーの値をクラウドへ送る、スマホのブラウザからLEDやリレーを操作する、NTPで時刻を合わせて動くタイマーを作る、BLEでスマホに値を通知する、などが代表例です。Linuxは動かないので、画面にデスクトップを出す用途には使えません。
Pico WとPico WHの違いは何ですか?
性能は同じで、違いはピンヘッダがはんだ付け済みかどうかと、デバッグ端子の形(Wは3つのパッド、WHはJST型の3ピンコネクタ)だけです。秋月電子ではWが1,240円、WHが1,375円です。
Pico WとPico 2 Wの違いは何ですか?
Pico 2 WはマイコンがRP2350になり、最大150MHz、SRAM 520KB、フラッシュ4MBに増えました。無線チップとピン配置は同じです。秋月電子ではPico 2 WがPico WHと同じ1,375円なので、新しく買うならPico 2 Wを勧めます。
Pico Wは5GHzのWi-Fiにつながりますか?
つながりません。Wi-Fiは2.4GHz帯の802.11b/g/nに対応しています。同じSSIDでも2.4GHz帯が有効なら接続対象になります。接続できない場合は、原因の切り分けとして2.4GHz専用SSIDで試してください。
Pico WでPin(25)のLチカが光らないのはなぜですか?
Pico Wの基板上のLEDはRP2040のGP25ではなく、無線チップのWL_GPIO0につながっているためです。MicroPythonではPin("LED", Pin.OUT)と書きます。この書き方は無印Picoでも動きます。
技適マークは必要ですか?
日本国内で電波を出して使うなら必要です。国内の正規販売店で売られているPico W・WHは工事設計認証番号008-220422、Pico 2 W・2 WHは020-240399を取得しています。