Attic or Garret

M5Stackを使ってみる

Introduction

M5Stack/M5Camera/M5Stick/M5Atom/M5Stamp
それぞれコンパクトなケースに沢山の機能が詰まった魅力的なIoTデバイス
マイコン世代のひとはM5と聴くとSORD m5を思い出すはずw
解析と動くロボットの製作などしています。
内容はIndexにまとめています。お好みの内容をまったりとご覧下さい。(^_^)
備忘録も兼ねています。バージョンなどの違いによって使い方が変わっている可能性もあるのでご注意ください。
長くなったのでMicroPython編は別ページにまとめました。

公開している内容を著者に無断で転載あるいは商業目的で利用することを禁止します。 改造等は個人の責任のもとに行って下さい。発生した事故、故障などに対して一切の責任を持ちません。 公開している内容のアイデアを流用した作品、および公開している独自の解析結果を含む情報を、SNS、ブログ、書籍などで発表する際はご一報ください。こちらのサイトへのリファレンス(リンク)を加えてください。

改造により電波法違反となる可能性があります。当サイトでは適時、ダミーロードなどの電波を微弱化する処置、および電磁波シールドを使用しての電磁波漏洩対策等を行っており電波法の適用範囲内で実験しています。改造は自己責任でお願いします。 技適(工事設計認証)に関する情報

Index

ハード編

MicroPython編

M5Stack / M5GO

ドローンTelloをM5Stackで飛ばしてみました。(バイナリーモード) (2018/06/12)Index

M5Stack(M5GO)でTelloのバイナリモードを使ったコントロールに成功しました!
ファームはオフライン版のm5stack-20180419-v0.3.9.binを使いました。
バイナリモードなのでカクカクしないでスムーズに動きます。
Telloのバイナリ制御はPingguSoft-pytello-09d98e0e1646からMicroPythonに移植しました。
PingguSoft-pytello-09d98e0e1646.zip

M5Stack用のモーターモジュールを自作してみました。(2018/06/24)Index

M5Stackのコンパクトな筺体にあわせて出来るだけ小さくレゴ互換のモーターモジュールを作ってみました。
設計当時、M5Stack界隈初のロボットカー!M5BALAより先行!

パチパチクラッピー[トール君]を自走式にしました。(2018/07/01)

いちぶでは有名なパチパチクラッピー[トール君]を自走式にしました。(^_^)
クラッピーもサーボでパチパチします。メカも完全内臓、元のスプリングを生かしているのでしっかりパチパチします。そして!手動でもパチパチ出来るステルス改造になっています (^_^) インターフェースをI2C(Grove) にしたのでM5Stackに直結出来ます。

New AIBO風のシッポを付けました。(2018/07/18)

パチパチクラッピー[トール君]の目を動くようにしました。(2018/08/11)

M5Stack WALL-E完成しました!(2018/07/24)

WALL-E LEGO(21303)についてはこちらでも解説しています!Raspberry Pi を使ってみる

M5Stackで家のドアをメイドカフェ風に改造してみた。 (2018/10/19)Index

ドアに取り付けると開け閉めの方向を検知してキズナアイの声で「いってらっしゃいませご主人様」「おかえりなさいませ主人様」と言ってくれるのでお手軽にメイドカフェ風のドアに変わります。(^_^)
音割れ対策として音声ファイルは波形編集ソフトを使って音量を下げています。
(量子化ビット数が犠牲になります。)

M5Stackで動画再生 (2019/04/09-)Index

詳しくは→ MicroPython編「イメージデータを連続表示する」

M5Stack用のプロトモジュールケース (2018/10/25)Index

ケースを自作する方のためにプロトモジュールケースのCADデータを公開します。
実物を採寸してCAD化しています。FDMの3Dプリンタで出力しやすいように最適化しています。
爪の部分も出力されます。
編集可能なigesファイルを置いておきます。
M5Stack社がモデルデータを公開しました(2021/11/04) → M5_Hardware

M5Stackのスリム化+バッテリー容量アップ (2019/11/23-)Index

バッテリー容量を1200mAhにバッテリーに合わせてスリムケースを作ります。
物理スイッチもつけました。(Linkman SS-12E01G3)
あわせてキャラメルイエローに塗装しています。 バッテリーはAPPLE iPod 616-0206 交換バッテリー(ロワジャパン)です。コネクタは3Pなので2Pに換装が必要です。カッターの刃先などで外して2Pのコネクタに交換できます。
固定ボルトはM5Stack(BASIC)のボトムのものが使えます。
ケースデータのSTLファイルを置いておきます。 3Dプリンタ(FDM)で出力出来るように調整しています。

Stack-chan サイドリポ ポケット版 (2021/12/31)Index

スタックちゃんにLi-Po用のサイドポケットをつけてみました。1000mAhくらいのリポが入ります。中心軸付近に格納するので重量バランスは良い感じ(サーボに優しい)
石川さんの本家SG90版の改変バージョンになります。bracket_SG90_fは円柱部分が11mm短くなります。
ケースデータのSTLファイルを置いておきます。 3Dプリンタ(FDM)で出力出来るように調整しています。

M5Camera

M5CameraとM5Stackの双方向通信 (2019/01/23)Index

M5Cameraで撮影したデータをM5StackにWiFiで送信します。逆にM5StackからのDUALSHOCKデータをM5Cameraに送信します。
詳しくは→ MicroPython編「撮影データを取得する」

M5Cameraのバッテリー駆動電圧アップ (2019/03/23)Index

M5Cameraにはバッテリーを繋ぐことが出来ます。USBコネクタから電力を供給すると充電されます。(TP4057経由) M5Cameraには5Vの昇圧回路がないため、回路の途中に昇圧回路を入れてバッテリーからの電力供給でも安定した5Vが出力されるようにしました。

M5Tankを作ってみた。 (2020/05/31-)Index

超小型戦車を作りました。M5Cameraを内蔵しているのでカメラ画像を見ながら操縦できます。

M5StickC

M5StickCの解析 (2019/06/06-)Index

M5Stackファミリー最新のM5StickCが国内販売されました。小さくても拡張性が考慮されているのでとても魅力的なアイテムです。M5Stack、M5Stick(無印)と比べると次の基本仕様が変更されています。
これにより今までと勝手が変わっています。

M5StackからM5StickC[無印]で変わったところ (2019/06/06-)

MCUESP32-PICO-D4 ← ESP32-DOWDQ6/ESP-WROOM-32
(アンテナ面、アンテナ側IC大)
USBシリアル変換Silicon Labs(CP2104) ← FTDI(TFT面、IC大)
パワーマネジメントAXP192 ← IP5306(アンテナ面、IC中)
IMU SH200Q / MPU6886 ← MPU9250(TFT面、IC小)
リアルタイムクロック BM8563 追加(アンテナ面、IC小)
TFTスクリーンST7735S[R] ← ILI9341
  • ※ プッシュボタンのブルアップ抵抗(アンテナ近くの、チップ抵抗): 10KΩ ← 100KΩ(M5Stack)
M5StickCピンマップ(構成図?)公式資料

M5StickCのトラブル対策 (2019/06/06)

今のところ下記の症状は対処方法が分りました。

@ 電源を入れても画面が真っ黒のまま反応しない

バッテリーの残量が少ない場合に起きるようです。しっかり充電して再度電源を投入しても反応が無いときはesptoolを使ってファームを上書きすると、書き込み後に起動します。(バックアップを忘れずに)

A esptoolを使うとエラーが発生する。

USBシリアル変換ICが変わった事によりOSの環境によって発生するようです。ボーレートを下げることで正常に動作します。(750000、500000、250000、115200)

M5StickCの電圧レギュレータ(DCDC)を調べてみる。 (2020/02/15)

電圧レギュレータ(DCDC)は MPS MP1541 (写真の黄色丸のなか)
刻印が"B3JC"しかなかったので苦労しました…
MP1541DJ-LF-Z データシート
パワーマネジメントIC AXP192

M5StickC PLUSで変わったところ (2020/07/23-)

TFTスクリーンが大きくなったM5StickCの新バージョンM5StickC PLUSが登場!
TFTスクリーンST7789V2 (1.14inch / 135 x 240dot) ← ST7735S[R] (0.96inch / 80 x 160dot)
ブザー追加
IO出力G25を追加 (G36とシェア)
バッテリー120mAh ← 80/95mAh

M5StickC 内臓バッテリーの過放電問題 (ERROR 22)

購入後のテストプログラムが入っている状態でUSBなどの外部電源で起動した際にERROR 22(Bat Vol error / check hardware)が発生したら内臓バッテリーが過放電保護モードになっています。 数ヶ月間、充電をしないと発生する可能性が高いです。
「バッテリーは過放電保護されている必要があります。バットと5Vピンを1秒間ショートさせてから、再度充電してください。」
手順に従って充電することで復活しても、リチウムイオンポリマー電池が膨張することがあります(無印は顕著)膨張するとケースの合わせ目の隙間が拡がります。発火したケースもあるため、そのまま使用することは危険です。日本の正規代理店では「初期不良のご相談は、商品到着より30日以内」と明記されています。

M5Friskを作ってみた。(2019/06/28-)Index

フリスクケースにM5StickCを入れて007の秘密兵器っぽく改造しました。
フリスクのCM(Hello,idea編)をスタンドアローンで再生しています。 スピーカー追加、スイッチ、背面拡張コネクタを移設、LiPoを80mAhから300mAhにアップしています。

M5StickCの外付けバッテリーを作ってみた。 (2020/02)Index

ダイソーの300円モバイルバッテリーを改造して、レゴに付けられる小さいバッテリーを作りました。 M5StickCにあわせてコンパクトにするため、もともと入っていたリチウムイオン電池18650を取り出して18350(1200mAh)に入れ替えました。物理スイッチからM5StickCの電源のON/OFFが出来ます。
M5StickCでUSBの電圧を確認して電圧が低下したらシャットダウンします。
内部のリポで起動したときはシャットダウンしません。これで電源にまつわるトラブルから解放されます

M5StickCをレゴ マイクロスカウト(LEGO 9748)にいれてみた。(2020/03/07)Index

M5StickCをマイクロ・スカウタに[無理矢理…]入れてみました!!

M5StickCでレゴ フィアット500(LEGO 10271)を走らせてみた。(2021/11/01)Index

ルパンの愛車で有名なFIAT500、以前にM5Atomでラジコン化していたのですが、C_BACK_DRIVERを入手したのでリニューアル、レゴFIAT500のディテールを崩さないように頑張りました。

M5Atom-Lite / M5Atom-Matrix / M5Atom-Echo

M5Atomの解析 (2020/04/14-)Index

  • ・ M5AtomはM5Stack社の製品では最小のシリーズ
  • ・ M5Atom LiteはM5Stickから、LCD、バッテリー、PMIC、RTC、IMU、RTC、MICを外した状態と同じ
  • ・ M5Atom MatrixはM5Atom LiteにLEDマトリックス基板を追加したもの(追加基板にIMU MPU6886も実装)
  • USBからの5Vは逆流防止ダイオードを経由して供給(写真の黄色丸のなか、矢印がある方がUSB側)

M5AtomシリーズのUSBシリアル変換IC(M5カスタム) (2020/06/28-)

USBシリアル変換IC(M5カスタム)のロットによりデバイスドライバの挙動が若干異なります。
M5StickC 2019.10リリース以降と同じ
リリースUSBシリアル変換IC特徴
Light-?M5-A 1955
Matrix-?M5A1 0120M5-A 1955と同系統?
Echo-?M5A1 1220M5 1915と同系統?
  • ※ USBシリアル変換IC(M5カスタム)の4桁表記は19/20が年、のこり2桁が週を示していると思われます。
ICはCH552(金剛ひかりさん解析 2019/2/25) ファームウェアのソースコードも公開されています。
ch55x_esp - CH55xシリーズMCUに基づくUSB-シリアルブリッジ。
ICをよーく見るとM5とレーザー刻印された下にうっすらと552Tの文字が見えます。

M5Atomのバッテリーを作ってみた (2020/04/16-)Index

M5Atomの電池ボックス (2020/04/16)

M5Atomにあわせて小さな電池ボックスを作りました。ON/OFF用の物理スイッチもつけました。背面の端子はサイドから出しています。 電源出力は背面の5V端子に繋がります。 サイドに使っているコネクタはNeltron Industrial Co., Ltd. 6604S-40になります。

M5Atomの電池ボックス (お手軽版) (2020/06/05)

M5Atom用の簡易電源を作りました。(作ったというか両面テープで貼っただけ…)
共立エレショップ スイッチ付コイン電池ケース 2032×2用(黒) CR2032-2 BK
共立エレショップ コイン電池ホルダ スイッチ&リード線タイプ CR2032-1CL

駆動時間のチェック

DUALSHOCK3の受信機として使って駆動時間をざっくり調べてみました。
  • ・ CR2032(3.0V)×2(6Vそのまま):
  • 数分間しか動作しませんでした。変換ロスを出したくないので電池出力をそのまま接続、CR2032は間欠使用であれば30mAの出力が可能になっています。(目安として20分くらいの間隔)DeepSleepとBLEを使う必要がありそうです。 Wi-Fiモジュールは電流が足りないため起動できませんでした。
  • ・ LIR2032(3.7V/45mAh/充電可能/充電可能):
    数十分以上動作、IO33で電圧チェック
  • ・ LIR2032(3.7V/45mAh/充電可能)×2 + ステップアップ/ダウン電圧レギュレータ(S9V11F5) 常時5V出力:
    数十分以上動作、短時間なら小型サーボも駆動可能、IO33で電圧チェック
イメージファイル atom_bt_test.zip

M5Atom Liteに9軸センサーを追加してみた。(2020/04/20)Index

M5Atom Liteに9軸センサを追加しました。ちょっとケースを削ったけど奇跡的なマッチング!

M5Atomのレゴマウンタを作ってみた。(2020/04/22)Index

バッテリーとサーボドライバを組み合わせるとレゴ互換で最小クラスのシステムが作れます! レゴマウントのSTLファイルを置いておきます。 お取り扱いは自己責任で、リンクはこちらに

M5Atom WALL-E完成しました!(2020/04/23)Index

WALL-E LEGO(21303)の外観をほとんどそのままにして、キャタピラ、アーム、ヘッド(上下左右)を動くようにしました!DUALSHOCK3でコントロールします。 WALL-E LEGO(21303)についてはこちらでも解説しています!Raspberry Pi を使ってみる

M5Atom 2足歩行ロボ NanoWalker U800(2020/05/11-)Index

ちっちゃい2足歩行ロボNanoWalker U800をつくりました!
いつものようにプレステ3のコントローラ(DUALSHOCK3)で操作します。
レゴのミニフィグを乗せてもちゃんと歩きます。(^_^)
バッテリーはLi-Po(200mAh)になりました(物理スイッチ & そのまま充電可能です)

公開している内容を著者に無断で転載あるいは商業目的で利用することを禁止します。 公開している内容のアイデアを流用した作品、および公開している独自の解析結果を含む情報を、SNS、ブログ、書籍などで発表する際はご一報ください。こちらのサイトへのリファレンス(リンク)を加えてください。

WALL-Eと共演 (^_^) (2020/05/25)

今週のビックリドッキリメカ 発進!

M5Atom Echoでサウンドエフェクトが出るようにしました。(2020/06/10)

M5Stack Japan Creativity Contest 2020でNanoWalker U800が入賞しました! (2020/10/03)

M5Stack Japan Creativity Contest 2020 同点3位で入賞しました (^_^)v
Jimmy社長から、嬉しいコメントを頂きました。とっても光栄で嬉しいです!
素敵なお言葉、ありがとうございます。
M5Stack Japan Creativity Contest 2020 入賞発表 !

NanoWalker U800に乗ったレゴのミニフィグにライトセーバーを振回させてみました。 (2021/1/21)

スターウオーズのジェダイの騎士風にライトセーバーを振り回します。

M5Atomでプッシュフォン型キーボードを作ってみた (2020/07/21)Index

プッシュフォンのメカをそのまま使用してBluetoothキーボードにしました。懐かしのプッシュホンの感覚を楽しめます。 小型バッテリー搭載。(Atomの下の黒い箱) 小型バッテリー→ M5Atomの電池ボックス LIR2032(3.6V/40mAh)×2対応バージョン
プログラムの解説→
MicroPython編「MicroPythonでBluetoothを使う」

M5Atomでサーマルプリンタに印刷してみた (2021/12/01)Index

M5Atomに小型のサーマルプリンタを繋いで管理人さんを[高速]出力してみました。
ドライバをMicroPythonのモジュールにしたのでUIFlowからの印刷も出来ます。

M5Atomでキビキビ動くNanoRollingを作ってみた。 (2021/02/07-)Index

Nanoシリーズ第2弾!NanoRollingを作りました。
モーター軸でそのまま駆動しています。お尻のロッドで姿勢を変えることが出来ます。
オプションのLEGOスプリングシューター[15301]を装備して発射可能!

M5Atomでミニフィグを動かしてみた。 (2021/02/07-)Index

レゴのミニフィグは動かすことに成功しました!
頭、両手、足(ツイストのみ)が動きます。 小さいのでメカの組み込みに苦労しました。

M5AtomS3の解析Index

  • ・ M5AtomS3はM5AtomのCPUの強化版 ESP32S3←ESP32(カタログスペックだと約20%の向上)
  • ・ M5AtomS3はカラーLCD(GC9107) とIMU(MPU6886)を実装しています。(M5AtomS3 Liteは未搭載)
回路図が非公開なので憶測ですが… MPU6886は別基板なのでLDOで3.3Vを作っていると思われます。5V直結のデバイスはないと予測して、試しに8Vまで流したところ動作しました。(非推奨です)

M5AtomS3版にNanoRollingをバージョンアップしてみた。 (2023/04/12)Index

NanoRollingをM5AtomS3に対応しました。
ESP32S3はBluetooth Classicに対応していないのでDUALSHOCK3が使えないため、Wi-Fi化したDUALSHOCK2を使ってコントロールしています。

M5Atomシリーズ用のミニフィグアダプタ (2023/05/6-)Index

M5Atomシリーズ用のミニフィグアダプタを作りました!
AtomS3に解析結果から判断してLIR2032(3.7V/45mAh/充電可能)×2直列を5V端子に直結しています。(非推奨です)

M5Stamp

M5Stampで最小級NanoTankを作ってみた。 (2022/02/07-)Index

Nanoシリーズ第3弾!M5Stamp Picoを使ってアトムサイズ(24mm×24mm)に収まる最小級のNanoTankを作りました。 モーターを互い違いに配置してモーターケースを軸に使う新機軸の設計で省スペースに収めています。 モーターは4段プラネタリーでトルクフル、モーターコントローラを介さずに直接ESP32のピンに直結しています。ESP32のI/O,PWM制御により正転逆転、速度調整もできます。
使用部品
M5Stamp Pico
6mmギヤードモーター精密ミニマイクロ遊星減速機ギアモーターDC3V(4ステージ)
ファンルーム シリコンバンド単色 ブラック
Li-po 401422(4.0x14x22mm) 95mAh (M5StickCから取り外したバッテリー)

STLデータ
NanoTank STLデータ

公開している内容を著者に無断で転載あるいは商業目的で利用することを禁止します。 公開している内容のアイデアを流用した作品、および公開している独自の解析結果を含む情報を、SNS、ブログ、書籍などで発表する際はご一報ください。こちらのサイトへのリファレンス(リンク)を加えてください。

NanoTankでライントレースしてみました。 (2023/5/-)

カラーセンサーをセンターマウントしています。 単眼センサーでも、意地悪なコースでスムーズにライントレース出来ます。 次はトレースしたラインを使ったAIでマッピングにチャレンジしてみたい…

TechGlassTubeを作ってみた。 (2022/02/09-)Index

作成中…
ガラス瓶のなかにM5Stampはそのまま入ります。

M5Stack(私設)サポートセンター

M5Atom Echo スピーカーの保護対策 (2020/06/9-)Index

M5Atom Echoは小さい筐体にスピーカーとマイクが入ったスマートスピーカー向けのモジュール
現在スピーカーの定格入力がアンプ出力より低いためスピーカーが劣化/破損する問題が発生しています。
スピーカーが破損してショート状態になってしまうと、ケースが変形するほどの高熱となりとても危険です。
  • ※ esptool使用時は要注意!

対策1 : M5Atom Echoに出力するデータをプログラムで調整する

プログラムで出力データを調整します。56%以内に収めれば壊れることはありません。
  • ※ プログラムの不具合などにより想定外の動作をしたときにスピーカーが壊れる可能性があるため完全な対策ではありません。
i2s_write…ではじまる関数に渡す値をビットシフトをするなどして出力を下げることができます。 wav,mp3などのファイルデータは波形編集ツールを使って事前に振幅を下げることができます。

対策2 : M5Atom Echoに供給する電圧を下げる (2020/06/13)

NS4168の動作電圧は3.0V〜5.5Vです。Echo内部では5V端子に接続されているので5V端子(背面もしくはGrove/USB)への供給電圧を3.8V程度に下げることでスピーカーの定格入力に合せます。
本体改造をしないで対応できます。(PC接続時にはUSBから5Vが供給されるので注意が必要)

対策3 : M5Atom Echo内部のNS4168に供給する電圧を3.3Vに下げる (2020/06/13)

NS4168の6番ピンの足をあげて3.3Vに繋ぎます。これでスピーカーの定格に収まります。

対策4 : スピーカーを交換する (2020/06/10-)

NS4168の定格出力以上のスピーカーに交換します。交換可能なスピーカーの仕様は8Ω1.25w以上となります。元のスピーカーの仕様は8Ω0.7w(20mm×10mm)です。(公式アナウンス)
  • aitendoに20mm×10mm以下のサイズのスピーカーがあります。許可入力(通常1W / 瞬間1.5W)のものしかありませんがこのサイズでは仕方ありません。実際の使用では問題ないと思われます。
3,4枚目の写真 : レイアウトを変更してφ18(最大φ21)のスピーカーを格納、音質良好!スイッチも押せます。

M5AtomシリーズのUSBシリアル変換IC(CH552)によるWi-Fi問題Index

ユーザーの調査により問題が発覚

最初にそーたメイ(@sohta02)さんが解析して詳しく報告しました。(2021/3/4〜)
Wifi電波の到達距離が他のESP32デバイスと比較して極端に短い(アクセスポイントから数m程度)問題
USBシリアル変換IC(CH552)から仕様外の電圧がESP32に流入することで問題が発生するとの報告です。M5Atom以外に一部のM5Stickでも発生するようです。
そーたメイ(@sohta02)さんの追加調査により「IO0=4.2V以上のとき一気にWiFiが悪化する」と判明しています。(2021/11/23)
安定化電源で確認しました。USBコネクタからの給電だと5.12VでIO0=4.2VとなりNG(USBの規格は電圧誤差±5%なので5.25Vまでは基準内)、5Vピンに直接5Vを給電するとIO0=4.3VとなりNG

USBシリアル変換IC(CH552)のソースコード公開 (2021/11/16-)

日本のユーザーからの呼びかけにM5Stack社が対応してくださり、ソースコードを公開してくれました!

USBシリアル変換IC(CH552)の対策済みファームウェア (2021/11/20)

M5Stack社公開したソースコードは指定されたコンパイラ(SDCC)ではビルド出来ないものだったため、Kenta IDA(@ciniml)さんが金剛ひかりさんのソースコードを修正して対策版のバイナリーを用意してくれました。

USBシリアル変換IC(CH552)のファームウェア更新手順 (2021/11/20-)

そーたメイ(@sohta02)さんの調査により通常のUSBケーブルで上書きできるM5Atom/M5Stickがごく僅かであることが判明しました。 専用ケーブルにより書き込みが可能になります。
ファームウェアを更新することによりUSBシリアル変換IC(CH552)からESP32に流れる電圧は約3.3Vになり仕様内に収まり、Wi-Fi問題は解決します。
そーたメイ(@sohta02)さんが考案した専用ケーブル

USBシリアル変換IC(CH552)を3.3Vで駆動する (2021/11/16)

M5Atomのパターンを解析してCH552への供給電源を5Vから3.3Vに変更する方法を調べた結果、赤の箇所をパターンカットして黄色ラインを接続することで3.3V駆動に変更することが出来ます。上記の3.3Vで駆動するための追加ソースコードを修正したファームウェアへの更新が必須となります。

M5Stack / M5Stick / M5CameraのI2C(Grove)コネクタ

M5Stackの製品の本体にはI2C(Grove)のコネクタが搭載されています。ここに外部モジュールを接続できます。
端子それぞれの割り当てはこちらになります。
  • ・ 白 I2C SCL
  • ・ 黄 I2C SDA
  • ・ 赤 5V出力
  • ・ 黒 グランド
M5Stack社の一部のケーブルは白と黄が逆になっています。カットして使う際は注意が必要です。

M5StackのI2C(Grove)を調べてみる。Index

シグナル(SCL,SDA)は3.3KΩのプルアップ抵抗で3.3Vにプルアップされています。
電源出力は5Vとシグナルの3.3Vと電圧が異なっているので注意が必要です。
5VでプルアップするとESP32に定格を越えた電圧が入力されてしまいます。プルアップ抵抗が内蔵されているI2Cデバイスもあるので注意が必要です。

M5StickCのI2C(Grove)を調べてみる。 (2020/02/06)Index

シグナル(SCL,SDA)はプルアップされていません。
シグナルはショットキーバリアダイオードで保護されています。(写真の黄色丸のなか)
5Vとの電圧の差違は吸収されます。

M5CameraのI2C(Grove)を調べてみる。Index

シグナル(SCL,SDA)は3.3Vにプルアップされています。
電源電圧とシグナル(3.3V)の電圧が異なっている際は注意が必要です。
M5Cameraにはバッテリー接続端子がありますが5Vの昇圧回路がありません。バッテリー駆動時はバッテリー電圧が端子に出力されます。

ファームウェアのバックアップ / リストア

esptoolのインストールIndex

@ CP210x USB - UART ブリッジ VCP ドライバのインストール

SILICON LABSのサイトからダウンロードしてインストールします。
OSに合わせて選択します。Windows 7/8/8.1(v6.7.6)を使いました。

A Pythonのインストール

OSに合わせて選択します。バージョン3.6.5を使いました。
Windows環境の際はインストーラ版を使って Customize installation -> "Advanced Options" -> "Add Python to environment variables"のチェックが必要です。

B esptoolのインストール

pip install esptool
エラーが発生する際は下記の実行が必要な場合があります。
python -m pip install --upgrade pip

消去Index

esptool.py -p COM3 -b 921600 erase_flash
COM3 任意のCOMポート

バックアップIndex

esptool.py -p COM3 -b 921600 read_flash 0 0x400000 firmware.bin
COM3 任意のCOMポート
0x400000 ファームウェアのサイズ(4MB / 8MB)
firmware.bin 任意のファイル名
何度もバックアップに失敗する場合はOSの再起動を行います。

リストアIndex

esptool.py -p COM3 -b 921600 write_flash 0 firmware.bin
COM3 任意のCOMポート
firmware.bin バックアップしたファイル名
書き込み後に起動しない場合などは先に消去してから再実行してください。
16MBのフラッシュではリストアに数分間掛かることがあります。

Other

M5Stack Makeyユニットのプログラム書き換え (2019/07)Index

MakeyユニットはArduino Unoと同じATmega328Pを搭載しているのでarduinoのスケッチを書き込むことができます。少々てこずったので手順をメモしておきます。
  • ・ ArduinoISPを準備 (ARDUINO NANO 3.0を使いました。arduino 1.0.6でないと上手く出来なかった)
  • ・ 書き込みたいスケッチを作成 (arduino 1.8.9を使用)
  • ・ バイナリ出力
  • ・ 出力されたファイル xxxxx.ino.with_bootloader.eightanaloginputs.hexarduino-1.0.6/hardware/arduino/bootloaders/内のatmega/ATmegaBOOT_168_atmega328.hexに上書きコピーする。(元のファイルはリネームして保存)
  • ・ ArduinoISPとMakeyユニットを接続する
  • ・ ブートローダーを書き込むを実行 (書き換えたプログラムが書き込まれる)

M5Stack(M5GO)の初期不良(発売初期の問題、今は品質が安定しているようです。)

とっても素敵で魅力的なM5Stackですが製造時の不具合が多数報告されています。
とくにM5GOの初期生産分での不具合の報告が多いようです。 私が購入したM5GOも不具合品でした。先に購入したM5Stack Facesのハンダのクオリティと比較してもM5GOは雑に感じました。 不具合品は直接製造メーカーに連絡すれば交換してくれるとの事です。 スイッチサイエンスさんで購入した人はスイッチサイエンスさんで交換対応して貰えます。

主な不具合(※印は実際に遭遇)
  • ・ 電源スイッチが基板から剥がれるもしくは破損(多数報告)※
  • ・ ピンソケットの接触不良で各モジュールに信号が導通しない※
  • ・ 本体側のボゴピンの受け側のハンダ不足で接触不良※
  • ・ メイン基板の部品が取れる※
  • ・ ESP32のシールドがハンダ不足で外れる※
  • ・ ケース裏の足ゴム用の両面テープが溶ける※
  • ・ M5GOのLEDの一部が光らない(NeoPixel[SK6812MINI]が熱損している)※
  • ・ MPU9250が反応しない
  • ・ 電源スイッチはボタン裏に0.5mm厚のゴムシートを貼ると対策できます。
  • ・ ピンソケットの接触不良は交換で対策できます。

初期のM5Stack(Fire)のロットIndex

リリースIMU特徴
初期ロットMPU9250PSRAMが認識しない
MPU9250バッテリー残量が取得できない
MPU9250
2019/8〜SH200QKxxxxxxxx / SH200Qのシール
2019/8〜MPU6886Kxxxxxxxxのシール
2019/8〜MPU6886Kxxxxxxxxのシール / IPS液晶


各種改造は個人の責任のもとに行って下さい。改造により発生した事故,故障などに対し Attic or Garret では一切の責任を持ちません。また各種改造を施した製品は,各種保険及び保証を受ける権利を失う可能性があります。
Attic or Garret 中の各記事,写真及び改造内容を著者に無断で転載あるいは商業目的で利用することを禁じます。

Copyright © 1996-2022 Itoi.All Rights Reserved.