M5Stack Core2が発売(昨年の9月)されてからだいぶ経ちましたが、M5Stack用ユニバーサル基板キット2との勘合具合を今更ながら確認してみました。
M5Stack Core2では、本体にねじ止めされる裏蓋にバッテリーがついており、旧タイプのようにモジュールとして分離できません。
M5Stack Core2が発売(昨年の9月)されてからだいぶ経ちましたが、M5Stack用ユニバーサル基板キット2との勘合具合を今更ながら確認してみました。
M5Stack Core2では、本体にねじ止めされる裏蓋にバッテリーがついており、旧タイプのようにモジュールとして分離できません。
UnicodeDecodeError: ‘cp932’ codec can’t decode byte 0x98 in position 134: illegal multibyte sequence
というエラーメッセージで、C++(Arduino)のswitch~case文の中で起きました。「multibyte」とありますが、特に日本語を使ってるとかはありません。
case 0xc0: uint8_t r = 0x00; break;
M5Stack用ユニバーサル基板に添付しているフレーム(14mmと6.5mm)ですが、リリース後もずっと試行錯誤してきて、なんとか作成手順がまとまったので、そのご紹介です。
個数にもよりますが、3Dプリント後の後加工だけでも3日くらいかかってます。(本当はもう少し手順を簡略化したいところですが…)
Qiitaでこんな記事(VSCode+PlatformIOを使ったESP32のデバッグ開発環境)を見つけて、M5Stackでもできるはず、と思いました。
秋月電子で購入した、AE-FT2232が手元にあります。これとM5Stackで使われているESP32を繋げばいいんだろう、と。
M5StackのLCD描画を考えると、「M5Stack.h」をincludeするArduinoベースの方が楽そうです。
WiFi初期化の前に行っている、nvs(non volatile storage)の初期化でエラーになっていたことが原因であるようです。
販売中のM5Stack用ユニバーサル基板キットですが、寸法を一部見直しました。
具体的な変更内容は、変更内容についてを参照ください。
M5Stackによる傾斜計が動かなくなってたで、一部のソースを差し替えて対応してました。
「Espressif 32」ライブラリが1.5.0から1.6.0になってたのでupdateしたところ、MPU9250が問題なく動くようになりました。
ちなみに、以前に差し替えていた版より、新しくなってました。Wire.hのコメントによるとCPUのクロック周波数に絡む対応のようです。
V1.1.0 08JAN2019 Support CPU Clock frequency changes