目次
Raspberry Pi Pico(Pico W/2Wとは?)
- Raspberry Pi Pico/Pico WはRP2040というマイクロコントローラ(略してマイコン)を搭載したマイコンボード。
- 小型で低価格だが、多機能なInput/Output(略してI/O)ポートを持つため、電子工作やプログラミングの入門に最適な筐体です。
一番のおススメ&お気に入りです!
リンク
セットアップ方法(MicroPythonインストール/Thonny準備)
(2025/08/24追記)
最新のMicroPythonファームウェアを使用するのが好ましいですが、一部、ロジック変更で動かない場合があります。
例えば、ver1.26.0では、通常のpicoWであっても以下になっています。リリースノートをよく読んで使用ください。
led=Pin(25, Pin.OUT) ← 使用不可能
led= machine.Pin(‘LED’, machine.Pin.OUT) ← 使用可能
- MicroPythonファームウェアのダウンロード
MicroPythonの公式サイトからファームウェア(.uf2)をダウンロードします。
※PicoとPicoWで異なるので注意しましょう。 - Raspberry Pi Pico(W)の接続
Pico(W)をUSBケーブル※でBOOTSELボタンを押しながらPCに接続。PCにマスストレージデバイスとして認識されます。※データ通信可能なケーブルを使用すること。 - ファームウェアの書き込み
ダウンロードしたMicroPythonファームウェアを、Pico(W)にドラッグ&ドロップ。これでMicroPythonがインストールされ、Pico(W)は自動的に再起動します。 - プログラミング環境のセットアップ
Thonny IDEをPCにインストール。Pico(W)を接続すると、MicroPythonが選択できます。
GPIOについて
GPIO(General Purpose Input/Output)は、マイコンボードやシングルボードコンピュータ(Raspberry Pi4等)において汎用的に使用できる入出力ピンのことを指します。Raspberry Pi Pico(W)では、以下のような特徴を持っています。
特徴
- 汎用性:デジタル信号(0,1の信号)の入力、出力の両方に使用できるピン
- プログラム可能:ソフトウェアで制御可能
- 多機能:特定のピンはPWM(Pulse Width Modulation)やI2C、SPI、UARTなどの通信規格(プロトコル)に対応
GPIOピン配置
- 電源
VBUS …PicoにUSBケーブルを接続したときに、USBポートから供給される電源(5V)を受け取るための端子で5V固定。
VSYS …Pico全体の電源供給を制御するための端子。内部で電源管理回路に接続されており、外部電源(バッテリーなど)やUSBからの電源を統合して管理できる。1.8~5.5Vに対応。こちらを推奨。 - 同一通信規格で複数のインターフェース
複数のインターフェースを利用※することで、デバイスの接続や通信が効率化され、独立した通信路を確保することができます。
※I2C0にはセンサー類を接続し、I2C1にはディスプレイを接続する等
<I2C0>
SDA:GP0またはGP4
SCL:GP1またはGP5
<I2C1>
SDA: GP2またはGP6
SCL: GP3またはGP7

出展元:https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html#raspberry-pi-pico
Pico2は以下
出典元:https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html
推奨品
以下のpinを使用することが推奨されています。
| 機能 | GPIO | 用途(推奨) |
| I2C0 | GP0/GP1 | 基本I2C |
| I2C1 | GP14/GP15 | センサなど |
| SPI0 | GP2/GP3/GP4 | 汎用SPI |
| SPI1 | GP10/GP11/GP12 | 画面など |
| UART0 | GP0/GP1 | USBにと競合可能性あり |
| UART1 | GP4/GP5 | 通信用に最適 |
| ADC0-2 | GP26/GP27/GP28 | アナログセンサ用 |
内蔵LEDの制御(MicroPythonコード付き)
左上のLEDを光らせます。WiFi情報のみ手動入力すれば動きます。
Pico2Wのリファレンスはこちらです。

import network
import time
from machine import Pin
# WiFi設定
ssid='your_SSID'#自宅のWiFiの名前
password='your_PASSWORD'#自宅のWiFiのパスワード
# 内蔵LEDの設定(Pico2W除く)
led=Pin(25, Pin.OUT)#内蔵LEDは25番
# 内蔵LEDの設定(Pico2W)
#led= machine.Pin('LED', machine.Pin.OUT)
# WiFiに接続
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)
# 接続が確立されるまで待機
while not wlan.isconnected():
print('Connecting...')
time.sleep(1)
print('Connected, IP address:', wlan.ifconfig()[0])
# WiFi接続が成功したらLEDを点滅させる
while True:
led.value(1) # LEDをオンにする
time.sleep(1) # 1秒待機
led.value(0) # LEDをオフにする
time.sleep(1) # 1秒待機リンク
コメント