M5STACKの基礎情報

M5STACK

はじめに

趣味として電子工作とプログラミングを始めて間もなく、電子回路部品が筐体におさめれらており必要な機能がコンパクトに纏まっていて面白そうだなと思いM5STACKを購入したのですが、当時は私の経験不足・知識不足によるとともに、今のようにWEBや書籍でM5STACKの情報が簡単に入手できる環境ではありませんでした。

そこで、今からM5STACKで電子工作・プログラミングを始める方の参考になればと思い、当時をよくわからなかった点を思い出してみました。

基本的にはM5STACK BASICについてのハードウェア寄りの情報になります。
公式サイトに詳しい情報があります。M5STACK DOCUMENT

回路図

現行の流通品とは内部のICは変更になっておりバージョンは古いと思いますが参考になります。

M5-Schematic/M5-Core-Schematic(20171206).pdf at master · m5stack/M5-Schematic (github.com)

側面の端子

右左の直線上の一対で結線されています。同様に上下の一対で結線されています。左右、上下でピンヘッダ(オス)かソケット(メス)の違いと考えれば良いです。

例えば、左側[3]と右側[R0]は内部で接続されていて同じ信号端子と言えます。

ボトムのインターフェース端子の機能は次の通りです。

M5STACKが使用しているICチップはESP32ですので、M5STACKのインターフェース端子とESP32のIC端子割り当てを記載します。
また主な使い方の機能を併記します。なお、I/O電圧は3.3Vです。

メモ

・GPIO25は内部のメインICであるESP32チップ(IC)の14番端子とSpeaker駆動用のアンプICの入力に繋がっています。
従いGPIO25に何か信号を入力すると音が鳴ってしまいますので、基本的には何も接続しない方が良いです。見方を変えるとGPIO25をGNDに落とせばアンプICへの入力電圧が0Vになるため不要なノイズ音は減ることになります。

・UART接続のデバイスを接続しているときはUSB-Serial ICの通信と競合によりプログラムの書き込みができない可能性があります。
プログラム書き込み時は[1]TX0と[3]RX0には何も接続しないほうが良いです。

Grove互換コネクタ

M5stack BASICはGrove互換コネクタ“A”を搭載していて、M5stack FIRE/GOおよびM5 Core2 for AWSはボトム側に“B”および“C”を搭載しています。
それぞれ、I2C、DAC/ADC、UARTとして機能します。

BASICの場合、PORT”A”は上下の[21][22]/[SDA][SCL]端子と接続されていますのでご注意ください。またPORT Aに接続するI2Cデバイス(センサーユニットなど)は、デバイス毎にアドレスが設定されています。
基本的には、同一アドレスを持つデバイスを同時に使うことはできません

Arduino sketch

M5STACKに限らずですが、使用する環境によってコンパイルできる、できないがあるので注意が必要です。
後日プログラムを見直す場合に混乱しないように、記憶に頼らず自分の作成するスケッチにはアルディーノのバーション、ボードマネージャーのバーション、使用する各ライブラリーのバージョンなどをコメントで記載しておいた方が良さそうです

ヒューマンインターフェース

LCD
LCDは2インチ液晶で、解像度は 横320 x 縦240 で、ボタンを手前にして左上が原点(0, 0)です。SPIでILI9341(またはILI9342C)と接続されています。

ESP32チップとの接続は次の通りです。

TF-Card(SD-Card)
公式には16GBの容量までをサポートしています。SPIでTF-Cardと接続されています。

Button
液晶画面を上に、ボタンを下向きにして左からBtn_A、Btn_B、Btn_Cとなります。

各ボタンはPUSH時にGPIOがGND接続される設計となっています。

おわりに

M5stackのマイコンであるESP32の起動消費電流は大きいため、再起動を繰り返したりプログラムの書き込みが出来たり出来なかったり、何かを動かしている場合に途中で止まるなどの動作が不安定となる現象が起きた場合は、まず電源系統をチェックするのが良いです。

M5stackの場合はUSBケーブルを取り替えてみると改善する場合もあります

つい最近も、ESP32モジュールを使用した工作物で電源ラインに使用しているケーブルのコネクタ接続部分が少し緩んでいた事が原因で起動しないことがありました。しっかりとハンダ付けで結線すれば問題はなくなりました。

全く動作しない場合はともかく、厄介なのは起動したりしなかったりの不安定現象で原因特定が困難なこと。

やはり電子工作を含めて電子機器の設計は電源の安定性が最重要ですね。

コメント

タイトルとURLをコピーしました