「M5Stackの拡張基板をつくったよ!」
2018/11/24
@tomorrow56
Masawo Yamazaki
IoTつくるよ! IoT Conference & Exhibition 2018
自己紹介
Masawo Yamazaki (@tomorrow56)
- ハードウエアエンジニア(電子回路設計)
- 某電器メーカーでモニターやテレビ設計を担当
- 現在は、本業のかたわら同人ハードを設計・販売
Facebook: Masawo Yamazaki Twitter: @tomorrow56
こんなボードを作っています
↑
Uno shaped ESP32 breakout board
https://www.switch-
science.com/catalog/3456/
↑
IR & Servo shield for Arduino Pro Mini USB Host Shield for Arduino Pro Mini
Web: https://thousandiy.wordpress.com/
Facebook: https://www.facebook.com/thousandiy/
唐突ですが
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さん
沼です
本日は拡張ボードの話
このへんの話
実は以前Pro Mini用のUSB Host Shield
を設計して売ってました
これ →
あれ?なんかちょうどいいサイズ…
という事で気がついたら
M5Stack用のUSB Host Shield
を作ってました
という事で気がついたら
M5Stack用のUSB Host Shield
を作ってました
さらに沼です
やさしい拡張基板の作り方
まずオフィシャルサイトから回路図を入手
http://www.m5stack.com/
内部のデバイスで使用しているポートを確認
ESP32 IO No. Strapping(default) M5Stack_Internal M5Stack_IO USB_Host_Shield L293D PCA9685 direction Note
0 〇(PU) Mode IIS_MCLK 12EN I/O GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1, EMAC_TX_CLK
1 TXD0 TXD1 I/O GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2
2 〇(PD) G2 3A I/O GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP, HS2_DATA0, SD_DATA0
3 RXD0 RXD1 I/O GPIO3, U0RXD, CLK_OUT2
4 SD_SPI_CS I/O GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD, HS2_DATA1, SD_DATA1, EMAC_TX_ER
5 〇(PU) G5 SS I/O GPIO5, VSPICS0, HS1_DATA6, EMAC_RX_CLK
6 I/O GPIO6, SD_CLK, SPICLK, HS1_CLK, U1CTS
7 I/O GPIO7, SD_DATA0, SPIQ, HS1_DATA0, U2RTS
8 I/O GPIO8, SD_DATA1, SPID, HS1_DATA1, U2CTS
9 I/O GPIO9, SD_DATA2, SPIHD, HS1_DATA2, U1RXD
10 I/O GPIO10, SD_DATA3, SPIWP, HS1_DATA3, U1TXD
11 I/O GPIO11, SD_CMD, SPICS0, HS1_CMD, U1RTS
12 〇(PD) IIS_SCK 1A I/O GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ, HS2_DATA2, SD_DATA2, EMAC_TXD3
13 IIS_WS 2A I/O GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID, HS2_DATA3, SD_DATA3, EMAC_RX_ER
14 LCD_CS I/O GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK, HS2_CLK, SD_CLK, EMAC_TXD2
15 〇(PU) IIS_OUT 34EN I/O GPIO15, ADC2_CH3, TOUCH3, MTDO, HSPICS0, RTC_GPIO13, HS2_CMD, SD_CMD, EMAC_RXD3
16 RXD2 4A I/O GPIO16, HS1_DATA4, U2RXD, EMAC_CLK_OUT
17 TXD2 INT I/O GPIO17, HS1_DATA5, U2TXD, EMAC_CLK_OUT_180
18 LCD_SCK/SD_SPI_CLK SCK SCK I/O GPIO18, VSPICLK, HS1_DATA7
19 SD_SPI_SDDO MISO MISO I/O GPIO19, VSPIQ, U0CTS, EMAC_TXD0
20
21 MPU9250_SDA/GROVE_SDASDA SDA I/O GPIO21, VSPIHD, EMAC_TX_EN
22 MPU9250_SCL/GROVE_SCL SCL SCL I/O GPIO22, VSPIWP, U0RTS, EMAC_TXD1
23 LCD_MOSI/SD_SPI_SDDI MOSI MOSI I/O GPIO23, VSPID, HS1_STROBE
24
25 SPEAKER DAC0 I/O GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, _RXD0
26 DAC1 I/O GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1
27 LCD_R/S I/O GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV
28
29
30
31
32 LCD_BL I/O GPIO32, XTAL_32K_P (32.768 kHz crystal oscillator input), ADC1_CH4, TOUCH9, RTC_GPIO9
33 LCD_RST I/O GPIO33, XTAL_32K_N (32.768 kHz crystal oscillator output), ADC1_CH5, TOUCH8, RTC_GPIO8
34 IIS_IN I GPIO34, ADC1_CH6, RTC_GPIO4
35 AD I GPIO35, ADC1_CH7, RTC_GPIO5
36 AD I GPIO36, SENSOR_VP, ADC_H, ADC1_CH0, RTC_GPIO0
37 BUTTON_C I GPIO37, SENSOR_CAPP (270pF)
38 BUTTON_B I GPIO38, SENSOR_CAPN (270pF)
39 BUTTON_A I GPIO39, SENSOR_VN, ADC1_CH3, ADC_H, RTC_GPIO3
M5Stackの回路図からリストを作成し
コンフリクトをしないようにピンをアサイン
Pin Default 3.3V 1.8V
MTDI/GPIO12 Pull-down 0 1
Pin Default SPI Flash Boot Download Boot
GPIO0 Pull-up 1 0
GPIO2 Pull-down Don't-care 0
Pin Default U0TXD Toggling U0TXD Silent
MTDO/GPIO15 Pull-up 1 0
Falling-edge Input Falling-edge Input Rising-edge Input Rising-edge Input
Falling-edge Output Rising-edge Output Falling-edge Output Rising-edge Output
MTDO/GPIO15 Pull-up 0 0 1 1
GPIO5 Pull-up 0 1 0 1
Strapping Pins
Timing of SDIO Slave
Pin Default
Firmware can configure register bits to change the setting of "Voltage of Internal LDO (VDD_SDIO)"
and "Timing of SDIO Slave" after booting.
Note:
Voltage of Internal LDO (VDD_SDIO)
Booting Mode
Debugging Log on U0TXD During Booting
KiCadで回路図を作成して
部品を作成して基板レイアウト
M-Busコネクタの3Dデータは
とりあえず流用
外形寸法は現物を実測
(オフィシャルな資料が見つからなかった…)
KiCadの3Dビューはちょっと楽しい
Elecrowに発注し、入手した基板に部品を実装
発送方法で”ANA OCS”($13.66)を
選択すると約1週間で基板が到着
集めた部品をもくもくと実装
USH Host Shield for M5Stack
• USB Host Chip: MAX3421E (MAXIM Integrated)
LiPo Battery Connector
Power SW
USB STD-A connector
The revised board was finished and it was
confirmed that one operation was completed.
USB Host Shield Library : https://github.com/felis/USB_Host_Shield_2.0
スイッチサイエンスで販売してます
https://www.switch-science.com/catalog/3919/
すみません。
追加実装中です。
よければ入荷通知登録を!!
USB経由で色々つなげます
M5Stack_USB_Host_FTDI_Serial_Monitor
https://github.com/tomorrow56/M5Stack_USB_Host_FTDI_Serial_Monitor
ArduinoでFeliCaリーダー & ケータイにURLをプッシュ
http://neocat.hatenablog.com/entry/20101123/1290514516
そして新作を持ってきました
設計ターゲット
• Arduinoでよく使われているデバイスで簡単に使える
• できるだけ安く
• 3種類のシールドを同時にスタック可能
• USB Host Shield (SPI)
• Motor Driver Shield (6pin digital)
• Servo Shield (I2C)
ESP32 IO No. Strapping(default) M5Stack_Internal M5Stack_IO USB_Host_Shield L293D PCA9685 direction Note
0 〇(PU) Mode IIS_MCLK 12EN I/O GPIO0, ADC2_CH1, TOUCH1, RTC_GPIO11, CLK_OUT1, EMAC_TX_CLK
1 TXD0 TXD1 I/O GPIO1, U0TXD, CLK_OUT3, EMAC_RXD2
2 〇(PD) G2 3A I/O GPIO2, ADC2_CH2, TOUCH2, RTC_GPIO12, HSPIWP, HS2_DATA0, SD_DATA0
3 RXD0 RXD1 I/O GPIO3, U0RXD, CLK_OUT2
4 SD_SPI_CS I/O GPIO4, ADC2_CH0, TOUCH0, RTC_GPIO10, HSPIHD, HS2_DATA1, SD_DATA1, EMAC_TX_ER
5 〇(PU) G5 SS I/O GPIO5, VSPICS0, HS1_DATA6, EMAC_RX_CLK
6 I/O GPIO6, SD_CLK, SPICLK, HS1_CLK, U1CTS
7 I/O GPIO7, SD_DATA0, SPIQ, HS1_DATA0, U2RTS
8 I/O GPIO8, SD_DATA1, SPID, HS1_DATA1, U2CTS
9 I/O GPIO9, SD_DATA2, SPIHD, HS1_DATA2, U1RXD
10 I/O GPIO10, SD_DATA3, SPIWP, HS1_DATA3, U1TXD
11 I/O GPIO11, SD_CMD, SPICS0, HS1_CMD, U1RTS
12 〇(PD) IIS_SCK 1A I/O GPIO12, ADC2_CH5, TOUCH5, RTC_GPIO15, MTDI, HSPIQ, HS2_DATA2, SD_DATA2, EMAC_TXD3
13 IIS_WS 2A I/O GPIO13, ADC2_CH4, TOUCH4, RTC_GPIO14, MTCK, HSPID, HS2_DATA3, SD_DATA3, EMAC_RX_ER
14 LCD_CS I/O GPIO14, ADC2_CH6, TOUCH6, RTC_GPIO16, MTMS, HSPICLK, HS2_CLK, SD_CLK, EMAC_TXD2
15 〇(PU) IIS_OUT 34EN I/O GPIO15, ADC2_CH3, TOUCH3, MTDO, HSPICS0, RTC_GPIO13, HS2_CMD, SD_CMD, EMAC_RXD3
16 RXD2 4A I/O GPIO16, HS1_DATA4, U2RXD, EMAC_CLK_OUT
17 TXD2 INT I/O GPIO17, HS1_DATA5, U2TXD, EMAC_CLK_OUT_180
18 LCD_SCK/SD_SPI_CLK SCK SCK I/O GPIO18, VSPICLK, HS1_DATA7
19 SD_SPI_SDDO MISO MISO I/O GPIO19, VSPIQ, U0CTS, EMAC_TXD0
20
21 MPU9250_SDA/GROVE_SDASDA SDA I/O GPIO21, VSPIHD, EMAC_TX_EN
22 MPU9250_SCL/GROVE_SCL SCL SCL I/O GPIO22, VSPIWP, U0RTS, EMAC_TXD1
23 LCD_MOSI/SD_SPI_SDDI MOSI MOSI I/O GPIO23, VSPID, HS1_STROBE
24
25 SPEAKER DAC0 I/O GPIO25, DAC_1, ADC2_CH8, RTC_GPIO6, _RXD0
26 DAC1 I/O GPIO26, DAC_2, ADC2_CH9, RTC_GPIO7, EMAC_RXD1
27 LCD_R/S I/O GPIO27, ADC2_CH7, TOUCH7, RTC_GPIO17, EMAC_RX_DV
28
29
30
31
32 LCD_BL I/O GPIO32, XTAL_32K_P (32.768 kHz crystal oscillator input), ADC1_CH4, TOUCH9, RTC_GPIO9
33 LCD_RST I/O GPIO33, XTAL_32K_N (32.768 kHz crystal oscillator output), ADC1_CH5, TOUCH8, RTC_GPIO8
34 IIS_IN I GPIO34, ADC1_CH6, RTC_GPIO4
35 AD I GPIO35, ADC1_CH7, RTC_GPIO5
36 AD I GPIO36, SENSOR_VP, ADC_H, ADC1_CH0, RTC_GPIO0
37 BUTTON_C I GPIO37, SENSOR_CAPP (270pF)
38 BUTTON_B I GPIO38, SENSOR_CAPN (270pF)
39 BUTTON_A I GPIO39, SENSOR_VN, ADC1_CH3, ADC_H, RTC_GPIO3
M5Stackの回路図からリストを作成し
コンフリクトをしないようにピンをアサイン
Pin Default 3.3V 1.8V
MTDI/GPIO12 Pull-down 0 1
Pin Default SPI Flash Boot Download Boot
GPIO0 Pull-up 1 0
GPIO2 Pull-down Don't-care 0
Pin Default U0TXD Toggling U0TXD Silent
MTDO/GPIO15 Pull-up 1 0
Falling-edge Input Falling-edge Input Rising-edge Input Rising-edge Input
Falling-edge Output Rising-edge Output Falling-edge Output Rising-edge Output
MTDO/GPIO15 Pull-up 0 0 1 1
GPIO5 Pull-up 0 1 0 1
Strapping Pins
Timing of SDIO Slave
Pin Default
Firmware can configure register bits to change the setting of "Voltage of Internal LDO (VDD_SDIO)"
and "Timing of SDIO Slave" after booting.
Note:
Voltage of Internal LDO (VDD_SDIO)
Booting Mode
Debugging Log on U0TXD During Booting
We need to use strapping
pin for Enable…
2ch Motor Driver Shield for M5Stack
•H-Bridge Driver: L293D (TI compatible)
Motor Power Select
Internal or External
LiPo Battery
Connector
Power SW
External Battery
connector
Motor connector
2ch Motor Driver Shield for M5Stack
Use Strapping pin
for Enable
Demo: Spider Robot Line Tracer
10ch Servo Shield for M5Stack
•PWM Driver: PCA9685 (NXP compatible)
Motor Power Select
Internal or External
LiPo Battery
Connector
Power SW
External Battery
connector
10 Servo connectors
Adafruit-PWM-Servo-Driver: https://github.com/adafruit/Adafruit-PWM-Servo-Driver-Library
10ch Servo Shield for M5Stack
Demo: Plot Clock corrected with NTP
https://twitter.com/tomorrow56/status/1025086708210008064
PCA9685 Servo Library: https://github.com/adafruit/Adafruit-PWM-Servo-Driver-Library
そして本家と微妙にかぶりました
拡張基板を作ってわかった事
1. 基板の外形寸法とM-BUSコネクタ位置の正式な図面がない
• とりあえず、現物を実測して対応
2. M-BUSコネクタ(低背のSMD ピンヘッダ)が高い
• 純正は高い(オスメス4組セットで1300円)
• M-BUS部にスルーホールを追加すると秋月電子の7.7mm低背ピンヘッダが使える
3. M-BUSコネクタは抜き差しに弱い
• コネクタが配置されている側にドライバ等を入れて外さないと接触不良になる
← この面から外す
Have a good M5Stack life!
Jimmy, thank you for making M5Stack!

More Related Content

PPTX
M5Stack互換機を作った話
PPTX
M5Stackの拡張基板を作ってjimmyに届けた話
PDF
201812020707 festa2018 M5Stack おうちハックLT
PPTX
M5Stackのシールドを作った話
PDF
Making a spresense Wi-Fi add-on board
PPTX
20190525 bto bbq_m5_stack_yamazaki
PPT
スタートアップ機能の等価回路モデル
PDF
Arduino 習作工坊 - Lesson 5 機械之夜
M5Stack互換機を作った話
M5Stackの拡張基板を作ってjimmyに届けた話
201812020707 festa2018 M5Stack おうちハックLT
M5Stackのシールドを作った話
Making a spresense Wi-Fi add-on board
20190525 bto bbq_m5_stack_yamazaki
スタートアップ機能の等価回路モデル
Arduino 習作工坊 - Lesson 5 機械之夜

What's hot (9)

PPT
RSQB Flip Flopの等価回路モデル
PDF
SRQ Flip Flopの等価回路モデル
PPTX
Smart Relay(仮称)の商品説明
PDF
Output Driveの等価回路モデル
PPT
UVLOの等価回路モデル作成方法
PPT
ULVOの等価回路モデル
PPTX
Maruduino UNO R3
PDF
micro:bit入門
PPT
OVPの等価回路モデリング(PPT)
RSQB Flip Flopの等価回路モデル
SRQ Flip Flopの等価回路モデル
Smart Relay(仮称)の商品説明
Output Driveの等価回路モデル
UVLOの等価回路モデル作成方法
ULVOの等価回路モデル
Maruduino UNO R3
micro:bit入門
OVPの等価回路モデリング(PPT)
Ad

Similar to io tつくるよ! LT [m5stackの拡張基板をつくったよ!」 (20)

PDF
Androidの入力システム
PDF
20210612_分解のススメ#9_M5Stack互換機
PDF
ものづくりプロジェクトII 一日でわかるArduino入門
PDF
女子美術大学メディアアート演習ⅡB 2012 Fall 第2回 2/2
PDF
PPTX
Androidとfpgaを高速fifo通信させちゃう
PDF
SFC デザイン言語WS(電子工作)第3回「電子工作の作法」
PPTX
自作RISC-VチップでLチカをやってみた
PDF
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
KEY
Androidロボットサミットin愛媛
KEY
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
PDF
Japanino Workshop #2
PPTX
イチからはじめるUSB Host API
ODP
ふぃじかるこんぴゅ〜てぃんぐしてみた
PDF
SFC デザイン言語WS(電子工作)第4回「センサーを使う」
PDF
Japanino Workshop #3
PDF
平成25年社会人講座 Arduinoによるマイコン入門講座
PDF
分解のススメ 第14回 ローエンド中BT Audio SoC華BT Audio SoCLowEndChineseBTAudioSoC.pdf
PDF
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
PDF
Arduino用3gシールドへの期待(クアルコムジャパン 特別顧問 山田純様)
Androidの入力システム
20210612_分解のススメ#9_M5Stack互換機
ものづくりプロジェクトII 一日でわかるArduino入門
女子美術大学メディアアート演習ⅡB 2012 Fall 第2回 2/2
Androidとfpgaを高速fifo通信させちゃう
SFC デザイン言語WS(電子工作)第3回「電子工作の作法」
自作RISC-VチップでLチカをやってみた
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
Androidロボットサミットin愛媛
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
Japanino Workshop #2
イチからはじめるUSB Host API
ふぃじかるこんぴゅ〜てぃんぐしてみた
SFC デザイン言語WS(電子工作)第4回「センサーを使う」
Japanino Workshop #3
平成25年社会人講座 Arduinoによるマイコン入門講座
分解のススメ 第14回 ローエンド中BT Audio SoC華BT Audio SoCLowEndChineseBTAudioSoC.pdf
2017年01月21日 AITCシニア技術者勉強会 第3回「各種センサーを使ってみよう!~温湿度と加速度~」
Arduino用3gシールドへの期待(クアルコムジャパン 特別顧問 山田純様)
Ad

More from Masawo Yamazaki (14)

PDF
20220129 100均分解のススメ Part3
PPTX
M5Stack User Meeting#5 -pcb design for cheap 3d printer-
PDF
20210718 分解のススメ #11 ADP3338
PDF
20210130 recommendations for_teardown#6
PDF
20201226 NT札幌 何か作ってみたLT
PDF
みんなのM5Stack自慢大会_山崎
PDF
20200521 100均ガジェット分解のススメ
PDF
M5 stickvand and_spresense_wi-fi add-on
PPTX
20191101 cnx40 case_and_pcba
PDF
20190415 m5stackugjp new_office
PDF
札幌では梅澤無線が神
PDF
I made some more expansion board for M5Stack
PDF
M5Stack meetup #1 2018/05/14
PDF
Yahoo!hack day onepark_20171210
20220129 100均分解のススメ Part3
M5Stack User Meeting#5 -pcb design for cheap 3d printer-
20210718 分解のススメ #11 ADP3338
20210130 recommendations for_teardown#6
20201226 NT札幌 何か作ってみたLT
みんなのM5Stack自慢大会_山崎
20200521 100均ガジェット分解のススメ
M5 stickvand and_spresense_wi-fi add-on
20191101 cnx40 case_and_pcba
20190415 m5stackugjp new_office
札幌では梅澤無線が神
I made some more expansion board for M5Stack
M5Stack meetup #1 2018/05/14
Yahoo!hack day onepark_20171210

io tつくるよ! LT [m5stackの拡張基板をつくったよ!」