注目キーワード

【Arduino】切手サイズのコンピュータ「M5Stamp Pico」ことはじめ

すけろく
切手サイズのコンピューター。
なかなかいい響きだの~。
げんろく
何だそれは?
すけろく
「M5Stamp Pico」だ。
ESP32系のマイコンを搭載した切手サイズの製品だ。
げんろく
たしかに、このサイズでWiFi、Bluetoothが使えるし、
パッケージも使いやすそうだな。
すけろく
今回は、わしがプログラムの書き込みまで挑戦しみるぞ!
切手サイズのコンピューターってちょっといい響きですよね。
IoTのアイデアを考えていると、常に意識しないといけないのが、「低消費電力」、「省スペース」、「ネットワーク接続」ですよね。
以前ご紹介したM5StickCは、ディスプレイからWiFiまでついていながら小さかったですが、単体での完成度が高くて、何かと組み合わせて作ろうとするとディスプレイや、筐体が邪魔になったりしていました。
そこで、今回ご紹介するのは、M5StickCと同じ会社が製品として販売しているM5Stamp Picoです。

今回使用したマイコンはこちら!

M5Stamp Pico DIY Kit
切手サイズのマイコン本体とダウンローダーを含むキットです。
通信(WiFi/Bluetooth)機能搭載、Aruduino で開発できます。
省スペースなマイコンは、こちらがおススメです!

<付属品>

  • M5Stamp Pico本体
  • ダウンローダー
  • ピンヘッダ、コネクタ、Groveコネクタ、ケース取付用レンチ、シール

M5Stamp Pico の特徴

M5Stamp Picoの特徴としては、つぎのとおりです。
  • 小さいサイズ
  • 通信モジュール(WiFi/Bluetooth)搭載
  • 低消費電力(ディスプレイがない)
  • Arduino IDE 、MicroPython、UIFlowでのプログラミングが可能

 

 小さいサイズ

本体サイズは、次の通りです。

本体サイズ(ケース込み)

ピンヘッダとGrove端子をはんだ付けした場合のサイズ (参考)
ちなみに、M5シリーズで大きさの比較をすると次のようになります。
※「M5Stamp C3」については、別記事で紹介します。
かなり小さくまとまっていますね。自分で好きなディスプレイや、センサーなどを組み合わせてスペースを有効活用したい場合に使えるサイズ感です。
注意としては、技適マークなどは付属のケースに貼るシールに印刷されているため、シールをきちんとはる必要があります。

 

 通信モジュール搭載

M5シリーズの素敵なところは、通信モジュール(WiFi/Bluetooth)が搭載済みということです。

しかもAruduino IDEなどでスケッチ例、ライブラリなども充実しているので使いやすい。

対応している通信規格としては、次の通りです。

通信方法 対応規格
WiFi 802.11 b/g/n(最大150 Mbps@802.11n)
2.4 GHz ~ 2.5 GHz
Bluetooth Blutooth V4.2 BR/EDRおよびBLE standard

 

 低消費電力

この製品は、ディスプレイがついていないため、消費電力を抑えることができます。

必要な機能のみに絞れば、かなり消費電力を絞ることができそうです。
  • 通常スタンバイ時 5 V@29 mA
  • Wi-Fi STAモード 5 V@60 mA
  • Bluetoothモード(data sending status) 5 V@84 mA
  • ディープスリープモード 5 V@0.35 mA
最近では、TFTディスプレイや、e-Paperなどの単体製品など、種類も豊富にあるので、自分の作りたいものに合わせた消費電力、サイズのディスプレイを合わせることができるところもよいですね。

 

 豊富な開発環境

この製品は、次の開発環境に対応しています。

M5シリーズはESP32を使っているので、Aruduino IDEで統一して開発できるのもよいですね。

  • Arduino IDE
  • MicroPython
  • UIFlow

最近ちょっとRaspberry Pi Picoなんかを触る機会が多くなってきましたが、その場合、MicroPythonで統一できるのもよいかもしれませんね。(今のところ、私は、Aruduino IDEが中心になっていますが。)

購入する際の注意事項

この製品は、購入する際に注意事項があります。

「この製品と、パソコンをUSBなどを使って接続できない」のです。省スペースのためコネクタ類はついていません。

そのためにパソコンと製品をつなぐ「ダウンローダー」が必要になってきます。

 

ですから、初回購入時には、次の「M5Stamp Pico DIY Kit」を購入することをおススメします。

本体、ダウンローダー、ピンヘッダ、コネクタ、Groveコネクタ、ケース取付用レンチ、シールがついています。

今回使用したマイコンはこちら!

M5Stamp Pico DIY Kit
切手サイズのマイコン本体とダウンローダーを含むキットです。
通信(WiFi/Bluetooth)機能搭載、Aruduino で開発できます。
省スペースなマイコンは、こちらがおススメです!

<付属品>

  • M5Stamp Pico本体
  • ダウンローダー
  • ピンヘッダ、コネクタ、Groveコネクタ、ケース取付用レンチ、シール

つぎから購入する場合は、次のものを購入してもよいですね。

切手サイズのマイコン本体とピンヘッダなどのコネクタ類がついているキットです。通信(WiFi/Bluetooth)機能も搭載され、Aruduino で開発できます。
ダウンローダーが必要ない場合はこちらをどうぞ!

<付属品>

  • M5Stamp Pico本体
  • ピンヘッダ、コネクタ、Groveコネクタ、ケース取付用レンチ、シール

 

 

使いやすいようにコネクタをつけよう

切手サイズであるので、購入時はコネクタやブレッドボード用のピンヘッダなどは、はんだ付けされていません。

なので、今回は次のようにコネクタとGroveコネクタをはんだ付けしてみました。

 

※1点注意なのは、Groveコネクタをケース側に取り付ける場合、ケースの一部をニッパーなどで取り除く必要があります。そのあたりもよく考えられていて、簡単に切り離すことができました。

 

 

こうしておけば、ブレッドボードに接続する場合は、ピンヘッダを追加すれば可能です。

 

ダウンローダー側はピンヘッダになっているので、コネクタに接続して使えます。

 

 

書き込む前に(環境をつくる)

今回はAruduino IDEを使ってプログラムを書き込みたいので、必要な環境づくりを行います。
やることは次の3点です。
  • Arduino IDEのインストール
  • パソコンからM5Stamp PicoをCOMポートで認識させる
  • Aruduino IDEにM5Stamp Picoのボードを登録する

 

 Arduino IDEのインストール

Arduino IDEをインストールします。

Arduino IDEのインストール方法は、次の記事で紹介しています。

関連記事

本記事は、Arduino IDE 1.8.xバージョンのインストール方法を紹介した記事です。 Arduino IDEは、より新しいバージョン「2.0.x」が発表されています。     機能がよりリッチになった「Ardui[…]

 

 パソコンからM5Stamp PicoをCOMポートで認識させる

M5Stamp Picoには、パソコンからのプログラム書き込み用の端子(USBなど)は実装されていません。

そのため、M5Stamp PicoのDIY KITには、ダウンローダーがついています。

ダウンローダーは、USB-Cのポートを持っていて、パソコンとUSB接続することができます。

よってダウンローダーをパソコンでCOMポートとして認識させる必要があります。

認識させるためには、ドライバを入れる必要があります。

最終的には次の画像のように、パソコン⇒ダウンローダー⇒M5Stamp Picoという経路でUSBシリアル接続を使ってプログラムの書き込みを行います。

 

 

今回は、「M5Stamp Pico DIY KIT」を使って、Windows 11で認識させてみます。

 

パソコンには、ダウンローダーに使われているドライバチップに適合するドライバーを入れます。
現在メーカー(M5)から提供されているダウンローダーは、次の2種類提供されていて、ドライバも2種類あります。
ダウンローダー(ドライバチップ)
ドライバ Windows用のドライバ
CP2104 CP210X CP210x_VCP_Windows
CH9102 CP34X CH9102_VCP_SER_Windows

ドライバは次のページからダウンロードできます。

https://docs.m5stack.com/en/core/stamp_pico

[ESP32 Downloader]の章にあります。Windowsの他にMac OSやLinux OS用のものもあります。ダウンローダーの仕様がわからない場合は、両方のドライバを同時に入れることもできるようです。

 

WindowsOSでのドライバの設定方法は、次の記事で紹介しています。

関連記事

M5StickCをUSBケーブルでパソコンに接続すると、Windowsのデバイスドライバに「ポート(COMとLPT)」というカテゴリが追加され、「USB Serial Port(COM#)」と表示されます。 (#はパソコンによって番号が異[…]

 

 Aruduino IDE にM5Stamp Picoのボードを登録する

次に、Aruduino IDEのボードマネージャを使って、M5Stamp Picoを登録します。

登録に使用する情報

使用する情報 設定値
追加ボードマネージャのURL https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
ボード名 STAMP-PICO

 

ボードマネージャのインストールは、次の記事で紹介しています。

関連記事

本記事は、Arduino IDE 1.8.xバージョンのボードマネージャのインストール方法を紹介した記事です。 Arduino IDEは、より新しいバージョン「2.0.x」が発表されています。     機能がよりリッチに[…]

プログラムを書き込んでみる!

では、プログラムを書き込んでみましょう。
はじめは、M5Stamp Picoに実装されているLEDを点滅とシリアルコンソールへのステータス送信をしてみます。

プログラムの機能としては次のものを作ります。

  • LEDを一秒ごとに赤色と緑色に切り替えて点灯
  • 起動時と各処理時にテキストをシリアルモニタに出力

 

 Aruduino IDE に「FastLED」ライブラリをインストールする

M5Stamp Picoに実装されているLEDをコントロールするために、Arduino用に公開されている「FastLED」ライブラリをインストールします。

ライブラリのインストールは、次の記事で紹介しています。

関連記事

本記事は、Arduino IDE 1.8.xバージョンのライブラリ管理方法を紹介した記事です。 Arduino IDEは、より新しいバージョン「2.0.x」が発表されています。     機能がよりリッチになった「Ardu[…]

 Arduino IDE スケッチ例

M5Stamp Picoへの書き込み

  1. 「ファイル」メニューから「名前を付けて保存」で任意の名前を付けて保存します。
  2. 「ツール」メニューから「ボード」情報を確認し、M5Stamp Picoであるか確認します。 この際、「シリアルポート」にマイコンを接続したCOMポートが指定されているかも確認します。
  3. 「ツール」メニューから「シリアルモニタ」を選択してシリアルモニタを起動します。
  4. 「スケッチ」メニューから「マイコンボードに書き込む」を選択します。

プログラム実行結果

シリアルモニタ上に以下の通り表示されれば成功です。

Pico Start
LED TURN RED
LED TURN GREEN
LED TURN RED
・・・(以降、1秒ごとに出力されます)

LEDが次のとおり点灯すれば書き込みは成功です!

 

さて、これでM5Stamp Picoへのプログラム書き込み環境の準備は整いました。

今回の記事は以上になります。

今後、別記事でWi-Fi接続などの機能を使ったプログラムの実行例などをご紹介していきます。

ご期待ください。

今回使用したマイコンはこちら!

M5Stamp Pico DIY Kit
切手サイズのマイコン本体とダウンローダーを含むキットです。
通信(WiFi/Bluetooth)機能搭載、Aruduino で開発できます。
省スペースなマイコンは、こちらがおススメです!

<付属品>

  • M5Stamp Pico本体
  • ダウンローダー
  • ピンヘッダ、コネクタ、Groveコネクタ、ケース取付用レンチ、シール

つぎから購入する場合は、次のものを購入してもよいですね。

切手サイズのマイコン本体とピンヘッダなどのコネクタ類がついているキットです。通信(WiFi/Bluetooth)機能も搭載され、Aruduino で開発できます。
ダウンローダーが必要ない場合はこちらをどうぞ!

<付属品>

  • M5Stamp Pico本体
  • ピンヘッダ、コネクタ、Groveコネクタ、ケース取付用レンチ、シール

M5Stamp Pico の他の記事はこちらからどうぞ!

すけろく メダカもだいぶ増えたの~。 げんろく そうだな。 毎日の餌やりと、水替え、結構がんばっとるからな。 すけろく 水温は、第一弾で水温センサーを仕込んだから、 管理は楽になった。 げんろく そうだな。 よし、今回は、餌やりを自動化してみるか! 皆さん、お家で何か動植物を飼っていますか? 我が家のメダカもよく育っています。 前回の第一弾で、水槽内の水温を計測・記録するものを作りました。 おかげ […]

すけろく うーむ。 モーターを毎回同じくらい回転させることはできんのかな。 げんろく DCモーターや、サーボモーターだと、 回転量を正確に制御することは難しいぞ。 すけろく では、何か解決策はあるのかぇ? げんろく ステッピングモーターというものがある。 モーターの回転をステップとして制御できる。 今回はこのあたりを動かしてみるか。 この記事では、「M5Stamp Pico」を使って、「ステッピン […]

すけろく うーむ。 何とかならんか~ げんろく どうした? 電池を見つめて。 すけろく 電池を電源にしてM5Stampを使っているのだが、 一定間隔で動かしているのだが、電池の持ちが悪くてな。 げんろく うーむ。どれどれ。 Sleepさせていないのか?これだとずっとCPUが電力を消費するぞ。 よし、今回はDeepSleepの方法を使う方法を紹介しよう。 この記事では、「M5Stamp Pico」を […]

すけろく そういえば、LCDパネルがあるのだが、 使ってなかったな。 げんろく んー。 どれどれ、このコントローラICなら Arduinoで使えるな。 すけろく それなら、M5Stamp Picoで時計を表示したいな。 時刻同期は以前の記事でやっているし。 げんろく よし、やってみよう! この記事では、「M5Stamp Pico」を使って、「LCDモジュール」に時計を表示させてみます。 「M5St […]

すけろく んーどうしたものか。 げんろく どうした? 深刻な顔をして。 すけろく M5Stackにプログラムを書き込んだら 起動しなくなってな。 電源ON/OFFでも無理なのだ。 げんろく 書き込んだプログラムか、バッテリーの 過放電か。工場出荷時に戻してみてはどうだ? この記事では、M5Stackにプログラムを書き込んだ結果、うまく動作しなくなった場合の対処方法を記載します。 ご紹介するのは「工 […]

すけろく 最近、透明で先の見えるディスプレイが あるらしいな。 げんろく ああ、薄暗いサングラスくらいの透過率で 先が見えるものがある TOLED(Transparent OLED)と言うんだ。 すけろく M5Stampからでも表示制御できるのかな。 げんろく Arduinoでプログラムできるものがあるから、 M5Stamp Pico用に改造してみるか。 この記事では、M5Stamp Picoを使 […]

すけろく ちょっと!! e-Paper(電子ペーパー)ってディスプレイ制御は 独特なの? げんろく まあ、そりゃ違うわな。 ものが違うからの。 すけろく Raspberry Pi Pico向けのe-Paperを入手したが、 Arduino+M5Stamp Picoで使いたいのだ。 げんろく よし。 ではM5Stamp Picoで使ってみるか! この記事では、M5Stamp Picoを使って、e-P […]

すけろく M5Stamp Picoのことはじめに、 LEDを一つだけ光らせたが、やはりもっと派手にやりたいな。 げんろく 左様、わしも考えていたのだ。 LEDストラップを使って派手に光らせようではないか。 この記事では、M5Stamp PicoのGroveコネクタを使って、LEDが複数実装されたLEDストラップをいろいろな色やアニメーションで光らせてみます。 M5Stamp Picoはディスプレイ […]

すけろく WiFi接続は前回行ったが、次は時刻同期だな。 げんろく そうだな。IoTに正確な時刻は大切だ。 NTPサーバと時刻同期してみよう。 この記事では、M5Stamp PicoをアクセスWi-Fiアクセスポイントに接続し、インターネットの時刻サービスを使って時刻を同期する方法について紹介します。 M5Stamp Picoはディスプレイを持っていないため、主に処理時間やセンサーなどからデータを […]

すけろく 切手サイズのコンピュータに書き込むことはできな。 げんろく 次は、WiFi接続まわりを試してみよう。 基本はM5Stick Cと同じはずだ。 この記事では、M5Stamp Picoに実装されているWiFi機能を使って、Wi-Fiルータに接続する方法について紹介します。 この記事の前提となるM5Stamp Picoのはじめかたについては、次の記事で紹介しています。 Wi-Fi接続する際には […]