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

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

M5Stackに書き込めない

ひさしぶりにM5Stack(Basic)を触ろうとしたら

なんか書き込みできない???
Windows10がサポート終了が近づいているのでPCを変えたせいなのか、M5Stack側に何か違うFWを書いていたからなのか(記憶にない)、ポートは認識していますが、書き込みができない状態になっていました。

可能性①

以下のように、初期化?すると修復できます。
これは、Micro Pythonなどの環境を使った後、Arduino環境に戻すなどの時にも必要な場合があります。

ESP Flash Download Toolというものを使って初期化します。
docs.espressif.com

FWバイナリを以下からダウンロードします。
github.com

COMポートが自動的には設定されないので、正しく設定します。
まず、Eraseをします。
そのうえで、書き込みをスタートします。
(Eraseをしないとうまく書き込みできないようです。)
プログレスバーが表示されませんが、気長に待ちます。

書き換えが完了したら、再度Platform IOで書き込むと成功します。

可能性②

これで書き込みができたかと思いきや、また失敗します。
再度①を試すと一度は書き込みができるようですが、これ以外にも問題があるようです。
いろいろ試したところ、電源ボタンを素早く複数回押下するとダウンロードモードに入れるようです。
ダウンロードモードに入れるタイミングは、書き込みが始まった時、つまり最初の図の「Connecting.....」となったときです。

まとめ

M5stackに書き込めない現象が発生しました。
対策としては、FWを書き直してみることと、手動でダウンロードモードに入れることが必要です。
ダウンロードモードに関して従来は、Platform IOでもArduino IDEでも、自動でダウンロードモードに入ってダウンロードできたはずなのですが、どちらにも共通したなんらかのアップデートでこれがうまく動かなくなっているのではないかと推測されます。

参考

qiita.com