M5Stack CoreS3をUIFlow2.0で動かす
M5Stackに新型のCoreS3が追加されました。これまで使っていたM5Stack Fireと比べますと以下が追加されています。
MCUがESP32->ESP32S3
カメラ
3軸地磁気センサー
照度、近接センサ
タッチセンサー
逆に3つの物理ボタンはなくなりましたので、画面上にタッチボタンを作らないといけません。本当は物理ボタンがあった方が良いのですが、既にM5Stack Core2で物理ボタンがなくなったので、そういう方向に進むのも仕方ないと思っていました。
ゴールデンウイーク中にSwitch ScienceでM5Stack CoreS3の販売が決まったことを受けて新たに追加されたセンサの使い道を考えた結果、カメラによる顔認証と加速度センサと地磁気センサによる位置推定くらいでした。
例えば以前に作成したボードゲームタイマーにカメラの顔認証を入れることで、本体の向きを変えなくてもプレイヤー毎の時間を管理できてしまうかもしれません。
また自転車用のドライビングレコーダーみたいなものも良いかなと思います。加速度センサと近接センサで危なかったと思われるシーンを写真に自動保存する、加速度センサと地磁気センサで向かっている方向を表示するなどです。
そんなアイディアが多少出てきましたので、品切れになる前に購入することにしました。
1.気が散って状況を分かっていなかった
M5Stack CoreS3自体は5/8週の出張中に届きました。週末に自宅に帰ったときは翌日にゲームマーケット2023春を控えておりましたので開封して状態と電源の確認をし、デモ機能でカメラとジャイロを確認しただけで満足した感じです。
翌週は自宅にいる時間が多かったため、UIFlowで動作をみようと思いました。UIFlow2.0は今年の初めくらいに登場しており、その対応機種にM5Stack CoreS3が入っていたのですぐに使えると思ったのです。
UIFlowを使うためにはM5Stack本体に対応したファームウェアをM5Burnerというソフトで書き込む必要があります。しかしM5Burnerには2023/5/16時点でこちらが見つかりませんでした。少し早すぎたようです。そうなると気になって仕方なくなりました。
2.待望の週末前にリリースされる!
待ちに待った金曜日の会社帰りの電車の中でTwitterを眺めていたところ、以下のツイートにさらに心が躍りました。
翌日は甥の誕生日会だったのですが、プレゼントで渡したゲームに夢中になり始めてゾーンに入っていたため、小一時間抜けて動作確認をしました。
たしかに2023/5/19にファームウェアがアルファ版ですがリリースされていました。
こちらを書き込んでUIFlow2.0で認識するか早速ブラウザを立ち上げたところ、難なくUIFlow2.0からM5StackCoreS3を見ることができました。
3.UIFlow2.0
まず現時点ではUIFlow1.0で作ったファイルとの互換はありませんでした。
また全体的にUIFlow1.0がすべての設定を1画面にまとめるという考え方であるのに対して、UIFlow2.0は各設定ごとに分割して管理する方法にデザインを変えています。
3-1.初期設定は共通ブロックだけ
以前UIFlow2.0を確認したときは機能が減っているように見えたのですが、機種に応じてハードウェア、ソフトウェアブロックのオプションで有効にすると使えるブロックを追加できます。
3-2.画面UIの編集は専用画面
GUI画面の編集がUIFlow1.0は小さかったのですが、専用画面を用意することで編集操作がやりやすくなりました。こちらの画面には初期画面のM5Stack CoreS3の画面上にあります全画面表示のアイコンをクリックしますと移ります。UIも階層表示されており、間違えた項目を編集、削除することも減ると思います。
3-3.ブロックとコードを切り替えずに見ることができる
UIFlow1.0ではブロックとMicroPythonのコードを切り替えて見ることしかできませんでしたが、UIFlow2.0ではSplitモードで同時に見ることができます。ブロックがどのようなコードに置き換わるのか、オプションを選択したことで何が加わるのか見ながら開発できるので大変便利だと思います。
4.アルファ版ですから
現時点ではUIFlow2.0で使えるM5Stack CoreS3固有のものはIMUくらいだと思いますのでカメラや近接センサを使い方はもう少し待つ必要があります。
5.Alpha-14にアップデートしようとしたら書き込みエラー
Alpha-13から約1週間後の2023/5/26にAlpha-14がリリースされました。早速試そうとしたところ、M5BurnerからM5Stack CoreS3にファームウェアを書き込めません。
エラーを見るとA fatal error occurredとあり、これは早速やらかしたかと思いまして同じような現象を確認したところ、GPIOのG0をGNDに落とすと強制的な書き込みモードになるということが分かりました。
そこでジャンパーワイヤーでG0とGNDを繋いでM5Stack CoreS3をパソコンにUSB接続したところパソコンとの接続が確認できましたので、CoreS3 UserDemoを一度書き込んで動作を確認してからUIFlow2.0のAlpha-14を書き込んで元通りになりました。
M5Stack CoreS3は今まで使っていたM5Stack Fireよりも書き込み時間が掛かる印象で、もしかすると前回ファームウェア書き込みが完了する前にM5Burnerを終了させたのが、今回の書き込めなくなった原因だと思います。
この記事が気に入ったらサポートをしてみませんか?