M5Stackの困ったときの対処や注意すること
M5Stack沼にハマって半年、、、M5Stackは魅力があるガジェットなのですが、ハマりどころも多く、また作りの問題で故障しやすいなどの欠点も多くあります。最近は売れてきたので初心者の方も増えてきて困っている様子もちらほらみかけるようになりました。
Twitterで見聞きしたり、自分で気づいたことをまとめてみます。
もくじ(Index)M5Stack関連の目次へ戻る
マニュアルは情報が古い
M5Stackの進化の速度は速いです。新製品が半年のうちにどんどん出てきます。しかし、ドキュメントが遅い場合があり困ってしまう場面もあるので最新情報はhttps://m5stack.comで確認するのがいいでしょう。(日本語も追いついていない場合があるので、英語版をお勧めします。)
M5GOはもうない
M5StackFireやM5GOのマニュアルには、http://m5go.comに接続するように書いてありますが、m5go.comは開発が終わり現在表示しようとすると、「502 Bad Gateway」と表示されます。
現在はUIFlowとして開発されているので下記のリンクのドキュメントを参考にして始めましょう。
UIFlow クイックスタート(Blockly/MicroPython)
ArduinoIDEのセットアップ方法
初期のマニュアルとは色々設定する値が異なっている場合があります。https://docs.m5stack.com/#/en/(英語)か下記の記事を見てください。
初心者向けM5Stackの始め方(ArduinoIDE編)ドキュメントのリンクが切れる。
ドキュメントの更新が激しいのでたまにリンク切れがあります。。。
そんな時はhttps://m5stack.comから辿ってみましょう。
【M5Stack】電源OFFがわからない
電源はM5Stackの左側面にある赤いボタン(RST)を二回押すと電源を切ることができます。
【M5StickC】電源OFFがわからない
「M5」と書かれたボタンを正面に見て左側にあるボタンを6秒長押しすると電源が切れます。電源ONは同じボタンを2秒長押しです。
【M5Stack】書き込みエラーの対処
M5Stack初心者がハマりがちな書き込みエラーの対処方法です。何通りかあるので簡単な対処から説明していきます。
①エラーが出たら電源ボタンを2秒以上押してみる。
エラーが出るときはM5Stack本体から固有のプーという音が出る場合が多いです。その場合、電源ボタンを2秒以上押してから書き込んでみてください。
もしくは、変な音が出始めたら電源ボタンを押す等、色々タイミングがあるようです。
②ボトムを外す
M5StackFire(Goのボトム)の場合この対処で書き込めることがあるようです。
③USBケーブルを裏表逆にしてみる
私は持っていないので未確認なのですが、MacのUSB-TypeCと相性が悪いようでUSB-Cの裏表を逆にすると書き込みできるケースがあります。
④USBケーブルを変える
たまに品質の悪いUSBケーブルがあるようなのでUSBケーブルを変えてみましょう。
⑤使用するUSBポートを変えてみる。
USB3.0だと書き込めず、USB2.0だと書き込めたということもあるようです。PCの違うUSBポートを利用したり、USBハブを使いポートを変えてみましょう。
⑥デバイスドライバを変更する。
書き込みが突然失敗するようになった場合このケースが考えられます。まず新しいバージョンへ更新してみて、ダメなようであれば古いバージョンへ戻してみてください。
●最新ドライバ
CP210x USB – UART ブリッジ VCP ドライバ
●古いドライバ(v6.7.0)
⑦esptool.pyを使っている場合は下記のオプションを使ってみる。
(1)erase_flash
(2)write_flash_status –non-volatile 0 (MD5エラーのときのみ)
⑧コンデンサを付けてみる。
これは対策済みの個体には通用しない場合もあるようですが、最後の手段でコンデンサを挿してみましょう。GrayかBasicのボトムが必要です。
下記の写真のようにRST-GNDの間に1μF以上のコンデンサを付けてみましょう。(電解コンデンサの場合は極性に注意)
⑨他のUSB機器を外してみる。
3Dプリンタのデバイスドライバが影響を与えて、 接続/切断を繰り返すという方がいらっしゃいました。PCに接続している機器を最小限にしてみましょう。
【M5StickC】書き込みエラーの対処
M5StickCは書き込みができないときは設定が間違っている場合があります。
①書き込み速度
M5Stackは921600bpsですが、M5StickCの場合は1.5Mbpsか115200bpsを選択しましょう。
②他のUSB機器を外してみる。
3Dプリンタのデバイスドライバが影響を与えて、接続/切断を繰り返すという方がいらっしゃいました。PCに接続している機器を最小限にしてみましょう。
③電源ボタンを押しながら接続してみる。
USBに接続する時に電源ボタンを押しながら接続してみると成功する場合があります。
④他のPC(OS)で書き込んでみる。
MacOSX Catalinaにアップグレードしたら書き込めないという情報が多くみられます。WindowsやLinuxで書き込めるか確認しましょう。
⑤G0とGNDをジャンパーして再起動。
G0とGNDをジャンパーして再起動すると、M5StickCが強制的に書き込みモード(DownloadMode)で起動されます。その状態で書き込みを行ってみてください。
★DownloadModeで起動すると画面には何も表示されないので注意しましょう。書き込んだ後はジャンパーを外して再起動します。
⑤ドライバを手動で変えてみる。
Windows10で起きたのですが、購入直後に接続したところデバイスドライバが「不明なドライバ」になってしまったことがありました。他のM5StickCでは大丈夫だったので、下記の手順で手動でドライバを変更したところ正常に認識するようになりました。
- M5StickCをPCに取り付ける。
- デバイスマネージャーを開く
- 不明なデバイスを右クリック→「ドライバーの更新」を開く
- 「コンピューターを参照して、、、」を選択
- 「コンピューター上の利用可能なドライバの、、、」を選択
- 「互換性のあるハードウェアを表示」のチェックを外す
- 「製造元」がFTDI、モデル「USB Serial Port」を選択して「次へ」を押す。
- 「ドライバーが正常に更新されました。」が表示されたら「閉じる」をクリック
- M5StickCを一旦外して、再度接続する。
⑥ドライバを変えてみる。
M5StickCはUSB-シリアル変換にFTDIのデバイスを使っています。通常はOSのデフォルトドライバで動きますが、デバイスドライバ入れ替えて認識したという情報もあるので入れ替えてみましょう。
https://www.ftdichip.com/Drivers/VCP.htm
【未解決】【M5StickC】MacOSX Catalinaでの不具合
MacOSX Catalinaでは様々な不具合があるようです。アップデート前は正常に動いていて、M5Stackや他のOSでは不具合は発生していないので、2019/11/8時点でこれという解決策はないようです。(筆者はCatalinaの環境が無いので具体的な検証はしていません。)
他のLinuxやWindowsマシンや、LinuxやWindowsをインストールして対応するのが確実かも、、、
M5StickCのファームウェアを書き換える
公式のフォーラムにあった対処方法です。M5StickCのファームウェアを書き換えるという手があるようです。(未検証)
確認した不具合と対処
Twitterで見た症状は下記の通りです。
- ArduinoIDEで書き込もうとすると再起動を繰り返し書き込みができない。
→対処方法なし(別のOSの端末を使いましょう。) - ArduinoIDEで書き込もうとするとTimeoutエラーが出る。
→G0-GNDをジャンパーワイヤーで接続したまま、書き込みを行うと強制書き込みモードになるので現象が回避できる場合があります。 - デバイスを認識しない。
→ USB-C to USB-C ケーブルで接続していると認識しない場合がある。USB-A変換を行うか、USB2.0ハブを使うと解決する場合があります。(必ずしも解決するわけではないようです。)
M5StickCが起動しない場合
よく書き込みに失敗して「文鎮化した」というツイートを見かけるのですが、M5StickCで使用されているESP32はファームウェア書き込み失敗しても、再度書き込みを行えば復活します。以下のことを試してみてください。
抵抗を用意して3V3とG0を接続してから起動する
M5StickCの初めの方のロットでは、しばらく使っていないと充電池の電圧が低くなり充電できるまで起動できない場合があります。(USB-Cで給電しても起動できない。)
その場合は680Ωの抵抗を用意して3V3とG0の間に挿して電源を供給すると起動するようになります。(ジャンパーでも1kΩでも起動しましたが、M5Stack公式からは680Ωとのことです。)
★抵抗やジャンパー線が無くてもしばらく充電すると起動するようになります。(20分ぐらい?)
電源が入らない様子は下記のツイートを見てください。
別のスケッチを書き込む
ArduinoIDEからHelloWorldか、FactoryTestのスケッチを書き込んでみましょう。
一回Eraseしてから書き込む
M5Burnerには「Erase」があるので一回Flashメモリを消去することができます。書き込みや動作がおかしくなった場合、一度「Erase」して再度書き込みを行ってみましょう。
ボトムを外すときは工具を使う
M5StackはStack(積む)の名がつく通りモジュールの取り外しが多くなる場合があります。その際にM-Busコネクタが破損ことがあるので必ず右側から開けるといいです。「M5」のロゴの下にある溝から開けます。
スマホやタブレットのオープナーがあると力の分散ができるのでやりやすいです。
iSesamo【iPhone/iPod/iPad対応修理工具】分解工房オリジナルロゴ版
バッテリーモジュールやバッテリー付きのモジュールは注意する。
バッテリーモジュールがありますが、公式の注意事項も書いてある通り他のバッテリーモジュールと同時に使用すると発火する危険があります。 (GrayやBasicのボトムの中にもバッテリーがあるので注意)
「並列接続すると容量の少ないバッテリが過充電になる恐れがあります。」とのことなので、十分注意しましょう。
同時に使いたい場合は、容量の少ないほうのバッテリーを外す必要があるので下記のツイートを見てください。(外した後のバッテリーもショートさせないように注意。)
ネジで固定するときは長さに注意
M5Stackはボトムをネジで固定することができますが、ネジの長さを間違えると、LCDのパネルが浮いてしまいます。下記の写真のように、なるので注意してください。
ネジは専用のものもありますが、M3であれば普通のナベネジで大丈夫です。
長さの目安
組み合わせ(Coreとの組み合わせ) | 長さ(単位:mm) |
---|---|
Goボトム(FireかGoに付属のボトム) | 15 |
ノーマルボトム(GrayかBasicに付属のボトム) | 12 |
8~9mmのモジュールとGoボトム | 25 |
8~9mmのモジュールとCoreボトム | 22 |
ウォッチバンド | 15 |
8~9mmのモジュールとウォッチバンド | 22 |
M5Stack公式のネジセット
M3×12,18,25,32が各2本ずつセットになったものがあります。
専用のネジはAliExpressのM5Stackオフィシャルショップで購入することができます。海外からの発送なので届くまで2~4週間程度かかります。
AliExpress.com Product – M5Stack Official! New 8 PCS M3*12/18/25/32 Screw With Allen Key For Arduino ESP32 Core Development kitリペアセット
壊してしまった方のために、リペアパーツも売っています。(国内では取り扱いはなく、オフィシャルショップかAliExpressのみです。)なにかのついでに購入しておくのもいいかもしれません。
AliExpress.com Product – M5Stack Glass Panel Repair Kit External Acrylic Material Screen Replacement液晶の色が変
LovyanLauncher等、バイナリファイルを実行した際に、液晶の色がネガポジ反転する場合があります。不具合ではなく液晶が従来のTFTからIPSへ変更になった影響だそうです。古いライブラリでビルドされたbinは影響がありますが、ソースからコンパイルをし直すと直ります。
※ LovyanLauncherは0.2.0以降この問題に対応しているので入れ替えておきましょう。
https://github.com/lovyan03/M5Stack_LovyanLauncher/releases
M5Stack Grayが30秒ぐらいで電源が落ちてしまう。
M5Stack GrayのMPU6886版で確認しましたが、ライブラリ0.2.8以下を利用しているとこの現象が起きるようです。GitHubから最新のライブラリをダウンロードして入れてみてください。
https://github.com/m5stack/M5Stack
終わりに
困ったことが多いM5Stackですが、、、使ってみると楽しいのでどんどん活用してみましょう。
記事でわからない点があったらコメントください。
Twitterでいつもお世話になっている方々に感謝いたします。m(_ _)m
更新情報
- 2020/4/19 Catalinaの対処を追加(ファームウェア書き換え)
- 2019/11/5 M5StickCの書き込みエラー対処を追加
- 2019/9/5 MPU6886版のGrayで電源が落ちる件を追加
- 2019/8/31 IPS液晶の件とUSB機器を外してみるを追加
- 2019/7/17 新規作成
もんごんたさま。初めまして。
投稿日からM5Stackを大学に関連して使用し始めたものですが、M5StackGrayを使用してセンサーの値を取得しようとしたときに、M5Stackのスケッチ例にある「MPU9250BasicAHRS」を使用したところ正常に動作せず、半日以上苦しめられました。
原因が搭載センサーが「MPU6886」に変更されていて、Basicの「IMU」というスケッチ例を用いないと動かないと見つけた時は驚愕させられましたが、もしかしたらよくある初歩的な間違いにあるのかもしれない?と思いコメントさせていただきました。
外部様のサイトになりますが、上のリンク先にある搭載センサーを調べるスケッチを使用して「MPU6886」だと発覚し、そこを起点に調べなおしたところ下のリンク先に同じような事例を投稿されている方がいらっしゃいましたが、そもそもセンサーが問題だとは思ってもいなかったので、とんでもなく苦しめられました。
参考にしていただければと思います。
https://ambidata.io/samples/m5stack/rotatem5stack/
https://www.tsuyukimakoto.com/blog/2019/11/17/m5stack_gray_uses_mpu6886/
貴重な情報ありがとうございます。
IMUは確かに後付けなので苦労しますね。。。
ちょっと調べて記事に反映します。
規模が大きそうだったら別記事で作成してリンクする形でやってみます。