M5 Stack ハマりどころ

最近 M5 Stack を使い始めたのですが, いくつかハマりどころに引っかかりまくっているので, 自分のためにまとめておこうと思います。

GPIOについてのハマりどころ

使うべからずポート

GPIO 25, Audioと共有
GPIO 23, LCDと共有
GPIO 19, SDと共有
GPIO 18, LCDと共有
GPIO 3, TXDと共有
GPIO 1, RXDと共有
GPIO 0 PULLUP BOOTと共有

まず, M5 Stack は 使われているメインSoC の ESP32 の全ピンが外に出ていません。
残った数少ないポートも 内蔵された機能である LCDやボタン, スピーカー等 と共有されていて, LCDを有効化すると内部で動いてしまいます

注意して使うポート

GPIO 34-39 入力オンリー

M5 Stack のポートで外に出ている中では 34, 35, 36 だけですが, これらは入力専用で出力が使えません。 また, 内部でPULLUP も出来ないので,外付けする必要があります。

GPIO 2, [GPIO 0]が0の時, これも0でリセットされるとダウンロードモードになる
GPIO 12, 起動時に1だと LDOが1.8V, 0だと3.3Vになる
GPIO 15 , GPIO 5 標準でPULLUP 起動時に設定すると SDIOスレーブタイミングの設定

 

電源

充電中は電源を切ることが出来ません。 ※電源の切り方は 電源ボタンを(ゆっくりめに)2回押し

バッテリー

バッテリー端子は保護回路無しで並列接続されます。 電圧や容量の異なるバッテリーを接続するとバッテリー同士で充放電が起き, 最悪の場合 過電流により発熱・発火する危険性があります。

スピーカー

dacWrite(25, 0); // Speaker OFF

ノイズが出るので, 0を出力しておく。

使えそうまとめ

 

GND 1 2 ADC1 GPIO  35
GND 3 4 ADC2 GPIO  36
GND 5 6 RESET EN
GPIO  23 MOSI 7 8 DAC0/AUDIO_L GPIO  25
GPIO  19 MISO  9 10 DAC1/AUDIO_R GPIO  26
GPIO  18 SCK  11 12 3.3V
GPIO  3 IO0/RXD1 13 14 IO1/TXD1 GPIO  1
GPIO  16 IO2/RXD2 15 16 IO3/TXD2 GPIO  17
GPIO  21 IO4/SDA 17 18 IO5/SCL GPIO  22
GPIO  2 IO6 19 20 IO7 GPIO  5
GPIO  12 IO8/IIS_SCLK 21 22 IO9/IIS_WS GPIO  13
GPIO  15 IO10/IIS_OUT 23 24 IO11/IIS_MCLK/BOOT GPIO  0
HPWR 25 26 ADC0/IIS_IN GPIO  34
HPWR 27 28 5V
HPWR 29 30 BATTERY
他にも気づいたら追記します。

コメントを残す