SlideShare a Scribd company logo
1 of 26
Download to read offline
M5Stackの互換機をつくった話
2021/06/12
@tomorrow56
Masawo Yamazaki
分解のススメ 第9回
売ってる製品を改めて自作する「Remake」のススメ
自己紹介
Facebook: Masawo Yamazaki
Twitter: @tomorrow56
1000円+電子工作
Thousand+DIY
月刊 I/Oで「100円ショップのガジェット分解」をしています
http://www.kohgakusha.co.jp/books/detail/978-4-7775-2134-0
書籍情報
Amazon
単行本発売中 noteでマガジンもやってます
https://note.com/tomorrow56/m/ma0073059b5ac
もともとはESP32を使った
同人ハードを作っていました。
https://www.switch-science.com/catalog/3456/ https://bit-trade-one.co.jp/admu32f/
2017年秋にM5Stack登場
M5Stackとは
•Wi-FiとBLEが使えるSoC「ESP32」を搭載したコンパクトな開発モジュール
•5.4cmx5.4cmの筐体にカラーLCDディスプレイ、microSDカードスロット、スピーカーを搭載
● スクリーン: 320x240 カラーTFT LCD

● 内蔵スピーカー: 1W

● 電源入力: 5V-5.5V/500mA(USB Type-C)

● 内蔵電池: 3.7V/150 mAh

● インターフェイス:

I2C(GROVE) x 1

microSDスロット x 1

M-BUS(SPI,UART,I2S,ADC,DAC)

M5Stackとは
•Wi-FiとBLEが使えるSoC「ESP32」を搭載したコンパクトな開発モジュール
•5.4cmx5.4cmの筐体にカラーLCDディスプレイ、microSDカードスロット、スピーカーを搭載
● スクリーン: 320x240 カラーTFT LCD

● 内蔵スピーカー: 1W

● 電源入力: 5V-5.5V/500mA(USB Type-C)

● 内蔵電池: 3.7V/150 mAh

● インターフェイス:

I2C(GROVE) x 1

microSDスロット x 1

M-BUS(SPI,UART,I2S,ADC,DAC)

ArduinoIDEで開発できて、WifiとBLEが使える
「カスタムできるガジェット」
しかも新製品がなんかすごい勢いで増殖中
CEOのJimmyさん
沼です
ということで
M5Stackの互換機
を作ってみました
そして、ちょっとだけはまった話です…
やさしいM5Stack互換機の作り方
M5Stack互換機のターゲット
•日本の技適取得済の「ESP-WROOM-32」ベース
•一般ルートで購入できる部品を使用
•M5Stackのライブラリがそのまま使える
•ArduinoIDEのスケッチ互換
•とりあえず機能を「スタック」する構成
M5Stackのサイトから回路図入手
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/schematic/Core/M5-Core-Schematic(20171206).pdf
当時のサイト
まずは回路図と内部デバイスの結線を調査
必要なデバイスと基板を準備
ESP-WROOM-32 Break Outボード
(自作)
PAM8403 D級アンプモジュール
(aitendo) + ユニバーサル基板
薄型スピーカー
(ダイソーのBTスピーカを分解)
ILI9341搭載2.4inch SPI液晶
(Aliexpress)
SPI液晶変換+操作ボタン基板
(ユニバーサル基板)
マイクロSD->SD変換アダプタ
(千石電商)
使用しているピンリストを作成し割り当て
 ここで問題が発生...
<問題 その1>
ボタンBとCのピンがESP-WROOM-32に出て無い・・・
<問題 その2>
LCD表示がおかしい (アングル設定が特殊)
M5Stack互換機のターゲット
•日本の技適取得済の「ESP-WROOM-32」ベース
•一般ルートで購入できる部品を使用
•M5Stackのライブラリがそのまま使える
•ArduinoIDEのスケッチ互換
•とりあえず機能を「スタック」する構成
← 断念…
M5Stackのライブラリの修正は2箇所
Config.h
場所: ( Arduino)librariesM5Stacksrcutility
← ボタン割り当て変更
ILI9341_Rotation.h
← Memory Access Control変更
ということで出来たのがこれです
USB Hostも入れて5段積みにしました
(M5Stackだけに)
不評なM5Stackの爆音対策で
ボリューム付&ヘッドホン出力追加
①
②
③
④
⑤
M5Stack互換機を作ってわかった事
1. コピーしにくい「オリジナルのハードウエア」
• ボタンの割り当て、LCDの表示設定
• このほかにも
• M-BUSコネクタ(オリジナル低背SMTピンヘッダ)
• LiPoコネクタ極性が汎用品と逆
 等々(他にもあるかも)
2. M5Stackライブラリのバランスのよさ
• オープンになっているライブラリをうまく組み合わせて、使いやすく
Wrapperにくるんでいる
3. M5Stackの音声ノイズ: ピーピーうるさい10KHz成分
• BeepをPWM(LEDC)で出している影響かと思っていたが違った。
(互換機では聞こえないレベル
)
4. M5Stackの音声ノイズ: DAC使用時のSPI通信ノイズ
• オーディオアンプの入力ではなく、出力にのっている。
(互換機で悪化)
• 3のノイズと合わせて電源・GND周りの設計見直しが必要
M5Stack互換機を作ってわかった事
1. できるだけコピーしにくい「オリジナルのハードウエア」
• ボタンの割り当て、LCDの表示設定
• このほかにも
• M-BUSコネクタ(オリジナル低背SMTピンヘッダ)
• LiPoコネクタ極性が汎用品と逆
 等々(他にもあるかも)
2. M5Stackライブラリのバランスのよさ
• オープンになっているライブラリをうまく組み合わせて、使いやすく
Wrapperにくるんでいる
3. M5Stackの音声ノイズ: ピーピーうるさい10KHz成分
• BeepをPWM(LEDC)で出している影響かと思っていたが違った。
(互換機では聞こえないレベル
)
4. M5Stackの音声ノイズ: DAC使用時のSPI通信ノイズ
• オーディオアンプの入力ではなく、出力にのっている。
(互換機で悪化)
• 3のノイズと合わせて電源・GND周りの設計見直しが必要
不満点を解消した
「俺の考える最強のM5Stack」
を作ってみたい
(あれ?それってCORE2...)
最近は本家が作らないようなちょっと変わった
M5Stack用のモジュールやアダプタを作っています
https://www.switch-science.com/catalog/list/1045/ https://thousandiy.booth.pm/
20210612_分解のススメ#9_M5Stack互換機

More Related Content

More from Masawo Yamazaki

M5 stickvand and_spresense_wi-fi add-on
M5 stickvand and_spresense_wi-fi add-onM5 stickvand and_spresense_wi-fi add-on
M5 stickvand and_spresense_wi-fi add-onMasawo Yamazaki
 
20191101 cnx40 case_and_pcba
20191101 cnx40 case_and_pcba20191101 cnx40 case_and_pcba
20191101 cnx40 case_and_pcbaMasawo Yamazaki
 
20190525 bto bbq_m5_stack_yamazaki
20190525 bto bbq_m5_stack_yamazaki20190525 bto bbq_m5_stack_yamazaki
20190525 bto bbq_m5_stack_yamazakiMasawo Yamazaki
 
20190415 m5stackugjp new_office
20190415 m5stackugjp new_office20190415 m5stackugjp new_office
20190415 m5stackugjp new_officeMasawo Yamazaki
 
札幌では梅澤無線が神
札幌では梅澤無線が神札幌では梅澤無線が神
札幌では梅澤無線が神Masawo Yamazaki
 
201812020707 festa2018 M5Stack おうちハックLT
201812020707 festa2018 M5Stack おうちハックLT201812020707 festa2018 M5Stack おうちハックLT
201812020707 festa2018 M5Stack おうちハックLTMasawo Yamazaki
 
M5Stackの拡張基板を作ってjimmyに届けた話
M5Stackの拡張基板を作ってjimmyに届けた話M5Stackの拡張基板を作ってjimmyに届けた話
M5Stackの拡張基板を作ってjimmyに届けた話Masawo Yamazaki
 
io tつくるよ! LT [m5stackの拡張基板をつくったよ!」
io tつくるよ! LT [m5stackの拡張基板をつくったよ!」io tつくるよ! LT [m5stackの拡張基板をつくったよ!」
io tつくるよ! LT [m5stackの拡張基板をつくったよ!」Masawo Yamazaki
 
Making a spresense Wi-Fi add-on board
Making a spresense Wi-Fi add-on boardMaking a spresense Wi-Fi add-on board
Making a spresense Wi-Fi add-on boardMasawo Yamazaki
 
I made some more expansion board for M5Stack
I made some more expansion  board for M5StackI made some more expansion  board for M5Stack
I made some more expansion board for M5StackMasawo Yamazaki
 
M5Stack互換機を作った話
M5Stack互換機を作った話M5Stack互換機を作った話
M5Stack互換機を作った話Masawo Yamazaki
 
M5Stackのシールドを作った話
M5Stackのシールドを作った話M5Stackのシールドを作った話
M5Stackのシールドを作った話Masawo Yamazaki
 
M5Stack meetup #1 2018/05/14
M5Stack meetup #1 2018/05/14M5Stack meetup #1 2018/05/14
M5Stack meetup #1 2018/05/14Masawo Yamazaki
 
Yahoo!hack day onepark_20171210
Yahoo!hack day onepark_20171210Yahoo!hack day onepark_20171210
Yahoo!hack day onepark_20171210Masawo Yamazaki
 

More from Masawo Yamazaki (14)

M5 stickvand and_spresense_wi-fi add-on
M5 stickvand and_spresense_wi-fi add-onM5 stickvand and_spresense_wi-fi add-on
M5 stickvand and_spresense_wi-fi add-on
 
20191101 cnx40 case_and_pcba
20191101 cnx40 case_and_pcba20191101 cnx40 case_and_pcba
20191101 cnx40 case_and_pcba
 
20190525 bto bbq_m5_stack_yamazaki
20190525 bto bbq_m5_stack_yamazaki20190525 bto bbq_m5_stack_yamazaki
20190525 bto bbq_m5_stack_yamazaki
 
20190415 m5stackugjp new_office
20190415 m5stackugjp new_office20190415 m5stackugjp new_office
20190415 m5stackugjp new_office
 
札幌では梅澤無線が神
札幌では梅澤無線が神札幌では梅澤無線が神
札幌では梅澤無線が神
 
201812020707 festa2018 M5Stack おうちハックLT
201812020707 festa2018 M5Stack おうちハックLT201812020707 festa2018 M5Stack おうちハックLT
201812020707 festa2018 M5Stack おうちハックLT
 
M5Stackの拡張基板を作ってjimmyに届けた話
M5Stackの拡張基板を作ってjimmyに届けた話M5Stackの拡張基板を作ってjimmyに届けた話
M5Stackの拡張基板を作ってjimmyに届けた話
 
io tつくるよ! LT [m5stackの拡張基板をつくったよ!」
io tつくるよ! LT [m5stackの拡張基板をつくったよ!」io tつくるよ! LT [m5stackの拡張基板をつくったよ!」
io tつくるよ! LT [m5stackの拡張基板をつくったよ!」
 
Making a spresense Wi-Fi add-on board
Making a spresense Wi-Fi add-on boardMaking a spresense Wi-Fi add-on board
Making a spresense Wi-Fi add-on board
 
I made some more expansion board for M5Stack
I made some more expansion  board for M5StackI made some more expansion  board for M5Stack
I made some more expansion board for M5Stack
 
M5Stack互換機を作った話
M5Stack互換機を作った話M5Stack互換機を作った話
M5Stack互換機を作った話
 
M5Stackのシールドを作った話
M5Stackのシールドを作った話M5Stackのシールドを作った話
M5Stackのシールドを作った話
 
M5Stack meetup #1 2018/05/14
M5Stack meetup #1 2018/05/14M5Stack meetup #1 2018/05/14
M5Stack meetup #1 2018/05/14
 
Yahoo!hack day onepark_20171210
Yahoo!hack day onepark_20171210Yahoo!hack day onepark_20171210
Yahoo!hack day onepark_20171210
 

20210612_分解のススメ#9_M5Stack互換機