M1 Macbook Air で M5StickC Plus を動かす

M5StickC Plus - スイッチサイエンス を購入しました。昔、Arduino や 9DOF センサを使って電子工作をしていたので懐かしいです。今どきは LiPo バッテリもカラー LCD もセンサもちょっとしたインタフェースもくっついて3000円以下とは、隔世の感があります。

普段使いが M1 MBA (Big Sur) なので、その場合の環境構築の流れを書いておきます。M1 特有の何かを踏むことを予想していましたが、2021/05 時点では案外簡単でした。

セットアップ

基本的には 公式ドキュメント のとおりです。ただし、ドライバのインストールは不要でした。 以下の流れで進みます。

  • IDE のインストール
  • ボードマネージャ から M5Stack の追加
  • ライブラリ M5StickCPlus のインストール

IDE のインストール

  • Arduino IDE をインストールします。brew でも pkg でも何でもいいと思います。(2021/05 時点では v1.8.13)

ボードマネージャから M5Stack の追加

  • Arduino > Preference から、「追加のボードマネージャのURL」欄に以下を追加します。
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
  • ツール > ボード > ボードマネージャ から "M5Stack" と検索し、M5Stack パッケージをインストールします。(2021/05 時点では v1.0.7)

ライブラリ M5StickCPlus のインストール

  • スケッチ > ライブラリをインクルード > ライブラリを管理 から "M5StickCPlus" と検索し、 M5StickCPlus ライブラリをインストールします。(2021/05 時点では v0.0.2)

サンプルスケッチを焼く

  • シリアルポートを選択する
    • おそらく、/dev/cu.usbserial-XXXXXXX といった名前をしています。
  • ボードを選択する
    • ツール > ボード > M5Stack Arduino > M5Stick-C-Plus を選択。
  • 適当なサンプルスケッチを選ぶ
    • ファイル > スケッチ例 > M5StickCPlus から、M5Stick 単体で動作しそうなものを選びます。Basics > Display なんか良いんじゃないでしょうか。

ImportError: No module named serial が出たら

コンパイル時に以下のようなエラーメッセージが出た場合の対処です。

Traceback (most recent call last):
  File "/Users/wrsn/Library/Arduino15/packages/m5stack/tools/esptool_py/3.0.0/esptool.py", line 39, in <module>
    import serial
ImportError: No module named serial
exit status 1
ボードM5Stick-C-Plusに対するコンパイル時にエラーが発生しました。

どうやら Arduino IDE が python2.7 を使ってしまうようで、PATH を設定したりしていてもだめっぽい。といったことが community forum で議論されていたので、以下のコマンドを実行しました。

sudo pip3 install --target /Library/Python/2.7/site-packages pyserial

これぐらいの小さいサイズなので、動いているのを見るとなかなか可愛いもんです。 f:id:wrsn0:20210501172237j:plain