Raspberry Pi Pico事始め(Lチカ)

Raspberry Pi Pico vs Nucleo

Raspberry Pi Picoというマイコンボードがあり、最初はただのSTマイクロのNucleoのようなLinuxの走らないマイコンボードだなと思ったのですが(その通りなのですが)、スペックを見てみるとARMマイコン R2040のスペックがDual ARM Cortex M0+ Clock 133MHz、SRAM 264kB、Flashは内蔵していませんが、これで単体で\117(Digi-Key/2021/July/11の場合)、マイコンボード(Raspberry Pi Pico)が\550(スイッチサイエンスなど/同じく2021/July/11の場合)とコストパフォマンスがかなり良さそうです。

                       

Nucleoと比べてみると、以下のような感じになります。

項目 Raspberry Pi Pico(\550) Nucleo-G031K8(\1279)
ARM Dual Arm Cortex M0+ Arm Cortex M0+
マイコン RP2040(\117) STM32G031K8(\315)
Clock

133MHz

64MHz
Flash

2M Bytes 

(W25Q16JVU外付け:\58(Digi-Key))

64k Bytes
RAM

264k Bytes

8k Bytes
IO数 30 30
Peripherals

12bit ADC x4

I2C x2

UART x2

SPI x2

Timer x1

RTC

USB1.1

12bit ADC x16

I2C x2

UART x3

SPI x3

Timer x18

RTC

IDE なし(Raspberry Pi 4など利用) あり

ざっくりいうとRaspberry Pi PicoはNucleoの半分以下の価格で倍以上の能力を持っていることになります。

メモリーも多いです(flashは外付けですが)。

ただしNucleoにはOn-board ST-Link Debuggerが載っていますしSTM32CubeIDEというアプリを1つインストールすればすぐに開発が開始できますが、Raspberry Pi PicoはRaspberry Pi 4などが必要になりますし(単に実行ファイルを書き込むだけならRaspberry Pi 4は必要ない)、開発環境を整えるのも少し手間です(開発環境構築は1回やるだけなのでそんなには問題ないとは思いますが)。

また表には書いてないですがSTマイクロの方はCRC計算器、乱数発生器などもあります。

いずれにしろRaspberry Pi Picoのコストパフォマンスは良さそうなので試してみたいと思います。

環境構築

Raspberry Piのサイトに「Getting Started with Raspberry Pi Pico」というPDFがあるのでこれをベースにやっていきます。

私は手持ちのRaspberry Pi 2Bに環境構築をしていきます。普通はRaspberry 4とかでしょうし、WindowsやMacでもできそうです(試していませんが)。

Raspberry Piを使うのは後にデバッガーとして使うことを想定しているためです。

まずはセットアップスクリプトを入手します。

setup script get

スクリプトを実行可能にして、実行します。

setup start

セットアップが終わったら再起動します。

reboot

Lチカ実施

まずはLチカをやってみます。

先ほどのセットアップで”pico”ディレクトリーができてその中に”pico-sdk”や”pico-examples”などがインストールされています。

その内の”~/pico/pico-examples/build/”にchdirしたのち、”export PICO_SDK_PATH=../../pico-sdk”でPICO_SDK_PATHをセットした後、cmakeを実行してcmakeビルドディレクトリを準備します。

chdir export cmake

“blink”ディレクトリーにchdirして、”make”すると”blink.elf”や”blink.uf2″ができるので、このうち”blink.uf2″をRaspberry Pi Picoに書き込んでLチカしてみます。

“blink.elf”はデバッガーで使います。ソースコードは”~/pico/pico-examples/blink/blink.c”にあります。

make

“blink.uf2″をRaspberry Pi Picoに書き込むには、Pico基板上にある「BOOTSEL」ボタンを押しながら、マイクロUSBコネクタを差し込むとPicoがマスストレージデバイスとして認識されます。

math strage connect

このフォルダー内に”blink.uf2″ファイルを放り込むとPicoはLチカプログラムが走り出します。

Raspberry Pi Pico Blink

今回はとりあえず終わりです。今後、Picoの性能評価(vs STマイクロ)やデバッカー機能実装などやっていく予定です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です