Raspberry Pi Picoが2021年1月21日に発表になりましたが、Twitterなどでもかなり話題になっていますね〜。2月に入ってからはスイッチサイエンスやKSYなど国内の販売代理店にも入荷して、簡単に入手できるようになっています。
Raspberry Pi Picoの最大の特徴は、従来のRaspberry Pi OS(旧称:Raspbian)を搭載しないマイコンボードという点です。どちらかというとArduinoに近い製品ですね。サイズ的にはArduino Micro(またはNano)と競合するような製品ということになるかと思います。下の写真からも分かる通りArduino Microとは、ほぼ同サイズです。
後発のRaspberry Pi Picoのアドバンテージは税込価格が500円程度という価格にあるかと思います。Arduino Microは税込で2000円代後半なので、1/5程度の安さなのです!ご存知かとは思いますが、Arduinoには価格がかなり安い互換ボードがたくさん出回っているので、真のライバルはArduinoの互換ボードになるかもしれませんね。
というわけで、これまでのラズパイ・ファミリーとは一線を画すこの小さなマイコンボードですが、どのように開発環境を構築すればいいのでしょうか?今回は「Raspberry Pi Picoの使い方」と題して、電子工作初心者の人向けに、はんだ付けのコツやMicro Pythonの開発環境をどのように構築するか解説してみたいと思います。
目次
- Raspberry Pi Picoの入手方法と必要な道具
- ピンヘッダをはんだ付けしてみよう!
- Thonny Python IDEのインストール方法と使い方
- VS CodeでもPicoが使える!
- まとめ
1. Raspberry Pi Picoの入手方法と必要な道具
まずはRaspberry Pi Picoの入手について。amazonもしくは国内の販売代理店から入手可能です。
Raspberry Pi Pico Raspberry Pi RP2040デュアルコアARMCortex M0 +プロセッサをベースにしたフレキシブルマイクロコントローラーボード
※上記のリンクはamazonへのリンクとなっています。
2. ピンヘッダをはんだ付けしてみよう!
入手後にまずすべきなのは、ピンヘッダのはんだ付けです。初心者の方の中には、はんだ付けは難しそうと思われる方もいるかもしれませんが、慣れてしまえば難しいものではありません。

半田ごては安いもので全く問題ないと思います。ただ、こて先は細いものに変えておくとよいと思います。またはんだのフラックス(ヤニ)は弱活性化ロジンを使用した電子基板用のものを使うと綺麗にはんだ付けできます。
また、ピンヘッダに関してですが、Raspberry Pi Picoは片側20ピンなので、1列40ピンの一般的なピンヘッダを買えば、ちょうど半分の位置でニッパーで切断し、両サイドにはんだ付けできます。
KKHMF 20個 2.54mm 40-Pin DIY単一列端子ピンヘッダー
※上記のリンクはamazonへのリンクとなっています。
3. Thonny Python IDEのインストール方法と使い方
Raspberry Pi Picoを入手して、ピンヘッダを装着したら、次はいよいよ開発環境を整えていきます。Raspberry Pi Picoで開発する場合C/C++でも開発できますが、ここではMicro Pythonを使うことを前提に話を進めていきます。
Thonny Python IDEのインストール
開発環境に特にこだわりがなければ、初心者向けのThonny Python IDEと呼ばれる開発環境を使ってみましょう。
https://thonny.org/

この記事はMacユーザーを対象としていますが、WindowsやLinux(ラズパイ含む)でも開発ができます。必要な環境のインストーラーをダウンロードしましょう。
インストール後の初回の起動時に「Language」と「Initial settings」を聞かれます。それぞれ好みの設定にしてください。「Initial settings」で「Standard」と「Raspberry Pi」を選べますが、「Raspberry Pi」はボタンがかなり大きいので、もしかすると子供向けのUIということなのかもしれません。
パソコンとUSBで接続する手順
Thonny Python IDEのインストールが完了したら、パソコンとUSBケーブルで接続します。ただ差し込んだだけでは何も起きませんが、基盤上の「BOOTSEL」と表示のある白いボタンを押しながら、USBケーブルを差し込むと「RPI-RP2」というUSBメモリのようなマスストレージ(大容量記憶装置)として認識します。

ここまでできたら、Raspberry Pi Pico用のファームフェアを下記からダウンロードしてください。
MicroPython UF2 file
https://www.raspberrypi.com/documentation/microcontrollers/micropython.html

ページにアクセスしたら、少しスクロールして上図に示されている部分を探し、この左下にある「Downloadable UF2」のリンクをクリックします。
「rp2-pico-20******-v*.**.uf2」をダウンロードできたら、ファームフェアの書き込みを行いますが、やり方は簡単です。さきほど開いた「RPI-RP2」にドラッグ&ドロップします。書き込みが完了すると下記のようなエラーが表示されます。
通常これはエラーとして認識すべきものですが、ここでは問題視せず無視してください。これが正しい方法です。
Thonny Python IDEの使い方
ファームウェアの書き込みが完了したら、先ほどインストールしたThonny Python IDEを起動してみましょう。

ツールバー、コードタブ、インタプリタを使えるShellタブが並んでいます。ひとまず下側のShellタブを使いインタプリタできちんと動作するか試してみましょう。
もし画面下の「Shell」ウィンドウに「>>>」が表示されていないようなら、インタプリタが使えない状態になっているので、設定を確かめてみてください。
メニューの「Thonny -> Preferences…」をクリック。次いで表示された「Thonny option」の「インタプリタ」タブの最初のプルダウンで「MicroPython (Raspberry Pi Pico)」が選択されていれば、インタプリタを利用できるはずです。
インタプリタでの使い方
print("Hello, World!")
このように記述してReturn(Enter)キーを押して「Hello, World!」と出力されたらOKです。
Micro Pythonでコードを書いてみよう
ここまでできたら、最初のLチカを試してみましょう!今度は上側のコードを書くタブ内に実際にコードを書いてみましょう。
import machine
import utime
led = machine.Pin(25, machine.Pin.OUT)
while True:
led.value(1)
utime.sleep(2)
led.value(0)
utime.sleep(2)
ここでは基盤上にある緑色のLEDを単純に2秒点灯、2秒消灯を繰り返すコードになっています。
このように書けたら、ツールバーの「実行」ボタンを押してみてください。

保存先を聞かれますので、Raspberry Pi Picoを選んでください。

ファイル名は何でもいいですが「blinking_led.py」などとしておきます。保存の完了後に…

このように2秒ごとに点滅すれば成功です!停止するには「停止」ボタンをクリックします。
4. VS CodeでもPicoが使える!
これまで解説してきたようにThonny Python IDEでも開発できますが、使い慣れたエディタがあるなら、そちらで開発したいですよね?
というわけで、ここでは多くのプログラマーが愛用しているVS Codeでの開発方法も紹介します。

まず「表示」の「機能拡張」を開き「Pico-Go」を検索してインストールします。下記URLからでもインストール可能です。
https://marketplace.visualstudio.com/items?itemName=ChrisWood.pico-go
この機能拡張を使うにはPython 3とNode.jsが必要です。Node.jsがインストールされていない人はインストールしてください。
Python 3 ダウンロード
https://www.python.org/downloads/
Node.js ダウンロード
https://nodejs.org/ja/download/
これらは「Homebrew」でもインストール可能です。
https://brew.sh/index_ja
コードの実行手順
インタプリタでの実行については、「ターミナル」を開き「Pico Console」を選択することで可能になります。「>>>」の後に「help()」を入力すると、下記のような説明が表示されますので、一度参照してみてください。
Welcome to MicroPython!
For online help please visit https://micropython.org/help/.
For access to the hardware use the 'machine' module. RP2 specific commands
are in the 'rp2' module.
Quick overview of some objects:
machine.Pin(pin) -- get a pin, eg machine.Pin(0)
machine.Pin(pin, m, [p]) -- get a pin and configure it for IO mode m, pull mode p
methods: init(..), value([v]), high(), low(), irq(handler)
machine.ADC(pin) -- make an analog object from a pin
methods: read_u16()
machine.PWM(pin) -- make a PWM object from a pin
methods: deinit(), freq([f]), duty_u16([d]), duty_ns([d])
machine.I2C(id) -- create an I2C object (id=0,1)
methods: readfrom(addr, buf, stop=True), writeto(addr, buf, stop=True)
readfrom_mem(addr, memaddr, arg), writeto_mem(addr, memaddr, arg)
machine.SPI(id, baudrate=1000000) -- create an SPI object (id=0,1)
methods: read(nbytes, write=0x00), write(buf), write_readinto(wr_buf, rd_buf)
machine.Timer(freq, callback) -- create a software timer object
eg: machine.Timer(freq=1, callback=lambda t:print(t))
Pins are numbered 0-29, and 26-29 have ADC capabilities
Pin IO modes are: Pin.IN, Pin.OUT, Pin.ALT
Pin pull modes are: Pin.PULL_UP, Pin.PULL_DOWN
Useful control commands:
CTRL-C -- interrupt a running program
CTRL-D -- on a blank line, do a soft reset of the board
CTRL-E -- on a blank line, enter paste mode
For further help on a specific object, type help(obj)
For a list of available modules, type help('modules')
【重要】もし「Pico Console」に「>>>」が表示されていない場合はVS CodeとPicoが接続されていない状態なので、ターミナルウィンドウ左下の「× Pico Disconnected」をクリックしてください。「✔︎ Pico Connected」になればOKです。
書いたコードをひとまず実行したい場合ですが、ウィンドウ右上の「…(三点リーダー)」から「Pico-Go > Run current file」を選択することで実行されます。あるいは、ターミナルウィンドウ左下の「▷ Run」でも実行されます。
実行中のプログラムの停止については、ヘルプの説明にもあったように「Ctrl + C」をタイプするか、ターミナルウィンドウ左下の「□ Stop」でも停止できます。
プロジェクトの作成方法
Pico本体に書いたコードをアップロードしたい場合は、プロジェクトを作成する必要があります。まず、プロジェクトファイルを格納するための空フォルダをMac側に作成しておきます。フォルダ名は何でも構いません。
その後、VS Codeでそのフォルダを開き、ターミナルウィンドウ左下の「All Commands」をクリックして、表示されるメニューから「Pico-Go > Configure project」を選択してプロジェクトファイルを生成します。あとは、何かPythonコードを書いてください。コードができたら、ターミナルウィンドウ左下にある「△ Upload」でPico本体にアップロードできます。コードの実行に関しては既に述べた通りです。
5. まとめ
今回は発売されて間もない話題のRaspberry Pi Picoの使い方を解説してみました。従来のRaspberry Pi OSを搭載しないマイコンボードとして新しいファミリーが増えたラズパイですが、Arduinoと競合するPicoの今後から目が離せませんね!
新しいデバイスが発売されると何を組もうかワクワクするものですが、あなたならPicoを使って何を組みますか?