最近人気の Raspberry Pi シリーズの最新モデル Raspberry Pi Pico。
アキバの秋月電子、千石電商でも取り扱うようになり、その価格も @550 と、まぁ安めです。
わたしは、海外の PIMORONI で購入しました。
(PIMORONI のメール通知でポチったので、結構前に届いてました。)
マイコンチップで一般的なエンボステープに入っていたのはちょっと珍しい、という第一印象。
「これは、マイコンなんだ」と意識付けできるのは、イイと思いました。
基板の両脇にピンヘッダ用のスルーホールが空いています。
そして、その側面はハーフタイプのスルーホールになっています。
micro USB は、BOOTSEL を押しながらパソコンに接続すると、マスストレージとして認識します。
この Raspberry Pi Pico はマイコンボードなので注意が必要です!
Raspberry Pi と名乗ってはいますが、これまでのものとは、まったく別モノです。
購入時には、注意が必要です。
これまでの Raspberry Pi 〇〇 は、HDMI、LAN、USB、SDカードスロットなどが付いているスタンドアロンなシングルボードコンピュータで Linux 系の OS が動きましたが、この Raspberry Pi Pico は Arduino や M5Stack などと同じマイコンボードの位置付けで、OS を入れてパソコン(単品)として使用することはできません。
というような Raspberry Pi Pico は、ただのマイコンボードなので、プログラムを作り書き込むことで初めてその機能は発揮されます。
マイコンでなにかやってみたいとか・・・
電子工作に興味あるとか・・・
そういう方ならこの Raspberry Pi Pico は安価ですし、今 AI(人工知能)で人気を集めているプログラミング言語の Python も使えたりするので、ハムの新たなチャレンジとして面白いネタになると思います。
(この Pico 自体は AI 向きのボードじゃないです。Python が使えるだけです。)
主要なマイコンボードとのスペック比較
ザックリですが比較してみました。
大きさ的にはこんな感じです。
この写真の中には入ってませんが、Arduino Nano と同じくらいの大きさです。
項 目 | Raspberry Pi Pico | ESP32-DevkitC | M5StickC Plus |
---|---|---|---|
MCU | RP2040 (Dual-core cortex M0+) |
Xtensa® dual-core 32-bit LX6 |
ESP32-PICO-D4 |
クロック | 133MHz | 240MHz | 240MHz |
SRAM | 264KB | 520KB | 520KB |
Flash | 2MB | 4MB | 4MB |
ポート | GPIO×26,UART×2,I2C×2, SPI×2,PWM×16,PIO×8 |
GPIO×21,UART×3,I2C×2, SPI×2,PWM×16 |
GROVE互換 (I2C+I/O+UART)×1 |
Wi-Fi | × | 〇 | 〇 |
Bluetooth | × | 〇 | 〇 |
USB | 〇 micro USB | 〇 micro USB | 〇 USB Type-C |
電源 | 1.8V~5.5V | 3.3V | 5V(120mAh Batt付) |
その他 | 温度センサ | IRセンサ | ボタン×2, LCD 1.14インチ, IR送信センサ,マイク,ブザー, 6軸IMU,RTC |
価格 | 550円 | 200円~(国内約1,500円) | 2,200円 |
(この比較表の各項目の内容については間違いがあるかもしれません。どうぞご留意ください。)
こうやって比較してみると、Raspberry Pi Pico って???
メモリ容量もイマイチだし、今どき Wi-Fi や Bluetooth もないって・・・IoT もできやしない。
こうしてみると、Wi-Fi、Bluetooth も当たり前に付いていて、LCD やボタン、ブザーまで最初からひとつのパッケージに入っているという、"M5StickC Plus" の凄さがひときわ際立ちますねぇ。
今日は Raspberry Pi Pico のことを書いていて、なんなんですが・・・
これからマイコンで遊ぶというなら、「M5StickC Plus で始めた方がいい」とだけ言っておきます。
私として Raspberry Pi を騙るならどこまでもシングルボードコンピュータにこだわって欲しかったし、ラズパイはあくまでも Linux 系 OS が動いてナンボで、今回こういう普通のマイコンを後出しするよりも、Raspberry Pi Zero W の後継ボードでも出すべきだったんじゃないかと、ホント、残念でなりません。
Raspberry Pi Zero W の後継ボードだけは、これから先も期待しながら待つし、ゼッタイに販売して欲しいと願っています。
プログラム開発のためのファームウェアの書き込み
Pico の開発用プログラム言語として、MicroPython、C/C++ のどちらかを選択できます。
ただし、MicroPython なら開発環境から一発で Pico フォルダへバイナリを転送して実行できますが、C/C++ は CMake 済みのバイナリをいちいち Pico のフォルダへ転送する必要があったりと少々面倒です。(これは私が VS Code をちゃんと使えてないだけかもしれません。)
MicroPython 又は C/C++ のファームウェアの書き込み
本体の白いボタン BOOTSEL を押しながら USB ケーブルをパソコンに接続するとマスストレージデバイスとして ”RPI-RP2” のストレージが見えるので、その中の INDEX.HTM を開きます。すると、Raspberry Pi Pico の以下の公式ページがブラウザに表示されるので、使用したいプログラミング言語を選択してファームウェアをダウンロード、そして Pico へ書き込み(ドラッグ&ドロップ)します。
https://www.raspberrypi.org/documentation/pico/getting-started/
① BOOTSEL を押しながら USB ケーブル接続
② RPI-RP2 のストレージ内の INDEX.HTM をクリック
開発で使用するプログラミング言語を選択
MicroPython: Getting started with MicroPython
C/C++: Getting started with C/C++
③ ダウンロードした UF2 ファイルを "RPI-RP2" にドラッグ&ドロップ
④ 勝手に "RPI-RP2" ストレージはアンマウントされて、Pico へファームウェアが書き込まれます
これで準備OKとなりました。
プログラム開発環境の準備
MicroPython を使うための開発環境として、Visual Studio Code か Thonny という統合開発環境を使用するのが一般的なようです。
こういうのが初めてで最初の開発というなら、Thonny の方が扱いやすいと思います。
Thonny
Pico のための開発環境として Thonny を勧めているサイトも多く、PIMORONI の公式サイトでも、この Thonny のセットアップの方法は詳しく紹介されているので、使ってみたいという方は、こちらのページを参照してください。
Visual Studio Code
私は普段使っている VS Code で開発します。
VS Code に Pico-Go というエクステンションをインストールするだけで OK です。
私の環境では Raspberry Pi Pico の接続ポートを誤って認識したので、pico-go.json を一部修正して、Pico が繋がっている com ポートを明示的に指定しました。
大抵の場合は、こういう設定は不要だと思います。
私の場合は、幾つも通信ポートを使っていたりするので、こういうことが起きてしまいます。
動作確認は、LED の点灯・消灯で行いました。
Pico 基板に付いている LED を点灯・消灯させるだけという、L チカより単純な方法で済ませました。
モチロン、動作は良好です。
Pico Display Pack を試す
PIMORONI から Raspberry Pi Pico を買った時に、この 1.14" IPS LCD の Pico Display Pack という拡張ボードも一緒に買っていたので、ついでにこちらのボードも動作チェックをしておきました。
Raspberry Pi Pico と Pico Display Pack は、こんな感じに抱き合わせて接続します。
Pico Display Pack の基板裏の USB マークと Pico 本体の USB 側を合わせて繋げば OK です。
この Pico Display Pack は Pico 公式のファームウェアではダメなので、PIMORONI のサイトにあるイメージを落として使います。
PIMORONI ”MicroPython firmware image” は、ここからダウンロードできます。
この GitHub にある、uf2 ファイルを使います。
それと、ライブラリやサンプルコードが入っている Source code も一緒に落としておきます。
VS CODE でサンプルコードの demo.py を読み込み、実行してみました。
サンプルの demo.py は、こういった円が次々と LCD に描画されるものでした。
このサンプルを Pico 起動時に自動実行するときは、main.py に名前を変更して保存します。
開発資料
Raspberry Pi Pico Python SDK は、こちらです。
Raspberry Pi Pico Datasheet は、こちらです。
■ ■ ■
ということで、マイコンボード収集マニアとしては、ラズベリーパイ財団の新しいマイコンに興味を持つのは至極当たり前のことで、今回こうして早速購入して触ってみたわけですが、スペック的にも開発スタイル的にも特に特筆すべきところはなく、そんなにイイとは思えませんでした。
今は販売が開始したばかりで巷で話題になってはいますが、私としてはあまり皆様におススメできないマイコンボードなんじゃないかと、私見バリバリですが、そう思ってしまいました。
そして、最初から LCD も付いていて開発環境も充実している M5Stack って、ホント素晴らしいマイコンだなぁ~と、改めて思ってしまった今日この頃です。
まぁ、マイコンボードによってその導入方法に違いがあるので、また後々になってイチから試行錯誤するのも時間のムダになったりするので、今回こうして新たに登場したラズパイ・マイコンの初期導入の流れについて忘れないようにブログに備忘録として残したと、そんな感じです。
Um... 世間が言うほど・・・おススメはできないかな。