プログラミング素人のはてなブログ

プログラミングも電気回路も専門外の技術屋の末端が勉強したことや作品をアウトプットするブログ。コードに間違いなど見つけられたら、気軽にコメントください。 C#、Python3、ラズパイなど。

切手サイズのM5Stack、M5Stamp Picoを試す

昨年のM5Stackコンテスト参加賞

やっと時間が取れたので、動かしてみました。

Arduino IDEでできましたが、Platform IOでは今の所うまくいっていません(デジャビュ)。

組み立て


届いた状態では、ピンヘッダ等は装着されていません。
オスタイプ、メスタイプのピンヘッダとGrove端子が同梱されていますが、ピンヘッダはどちらかを選択する必要があります。

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

ピンヘッダとGrove端子はAndで装着することができました。

MACアドレスが記されたシールを剥がし、六角ボルトを外すと耐熱樹脂カバーが外れます。
この状態で、Grove端子と、ピンヘッダをはんだ付けします。



GPIO等の印字されたシールは、ややGrove端子に干渉しますのでカッターナイフでカットしました。

書き込み方法

Arduino IDEにM5Stackのボード一覧が追加されていない場合は、以下のjsonをもとに追加します。

¥ファイル¥環境設定¥追加のボードマネージャのURL
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json

M5Stamp PicoにはUSBポートが無いので、以下のようなUSB Serial変換ケーブルを使います。

USBシリアルとM5Stamp Picoを以下のように接続します。
※写真ではCTSをENに接続していますがこれは不要であることがのちにわかりました。

USB Serial M5Stamp
VCC (5V) 5V
RX TX
TX RX
GND GND
GND G0



起動または書き込みには5Vが必要のようです。

また、書き込みモードにするには、G0をGNDに落とした状態で電源を入れるか再起動する必要があります。

(ENをGNDに一瞬落とすと再起動するので、G0をGNDに接続した状態でENをGNDに落としてもよい。)

うまく書き込みモードとして接続が認識されると、以下のようなメッセージがシリアルに出力されます。

rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download

あとは、いつものようにArduino IDEでプログラムを書き込みます。
一応、うまくいった設定値を載せておきます。

起動方法

動作モードでの起動はG0のGNDへの接続を解除し、電源をOff / On (5V pinへの5V供給を抜き差し)またはENをGNDに一瞬落とします。

ここでは環境センサAHT25とLine notifyを試してみました。
ソースコードは以下です。
github.com

一般的なM5StackやESP32開発ボードではACアダプタからUSBケーブルで電源を供給して運用できますが、M5Stamp PicoにはUSBポートが無いので、電源は5V端子に供給する必要があります。
Grove端子の5Vは5Vピンにつながっているので、ここに5Vを供給できるようにしました。
市販のGroveコネクタをカットし、USBの5Vをはんだ付けしました。

まとめ

切手サイズという極小なので、実働にはなにかと便利そうですが、シリアル変換ケーブルが必要だったりする点とのトレードオフはあります。
CPUやFWの仕様が違ったりすることがありうるため100%とは行きませんが、開発はM5Stack Basicなどを使い、運用はM5Stamp Picoで、といった方法も考えられると思います。
ジャンパーケーブルのG0や5Vの抜き差しも手間であるため、タクトスイッチやスライドスイッチをはんだ付けしてしまうのもありかと思います。