Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
M5Stackボードの選び方
Search
TANAKA Masayuki
September 23, 2024
Programming
0
450
M5Stackボードの選び方
TANAKA Masayuki
September 23, 2024
Tweet
Share
More Decks by TANAKA Masayuki
See All by TANAKA Masayuki
一夜漬けULP -アセンブラでM5StickCをLチカ- / LED Blink on M5StickC(ESP32) using Arduino IDE and ULP Debugger
tanakamasayuki
0
3.2k
Other Decks in Programming
See All in Programming
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
570
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
260
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
520
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
170
関数型まつりレポート for JuliaTokai #22
antimon2
0
160
Is Xcode slowly dying out in 2025?
uetyo
1
210
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
690
エラーって何種類あるの?
kajitack
5
310
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
540
GoのGenericsによるslice操作との付き合い方
syumai
3
690
Create a website using Spatial Web
akkeylab
0
310
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Raft: Consensus for Rubyists
vanstee
140
7k
YesSQL, Process and Tooling at Scale
rocio
173
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Agile that works and the tools we love
rasmusluckow
329
21k
Statistics for Hackers
jakevdp
799
220k
A better future with KSS
kneath
239
17k
Automating Front-end Workflow
addyosmani
1370
200k
Music & Morning Musume
bryan
46
6.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
800
Transcript
M5Stackボードの選び方 たなかまさゆき 2024/9/23
タカヲ(Takao) @mongonta555
タカヲ(Takao) @mongonta555
タカヲ(Takao) @mongonta555 ①安い・シンプル 1,573円 ②S3+PSRAM+画面 安価な万能機 3,113円 ③バッテリー搭載 バランス型 4,147円
④スタックチャン 8,536円 10,120円 15,565円 15,345円 2,783円 6,743円 1,155円 1,144円
M5Stackボードの選び方 結論 好きなのを 選べばいい!
ESP32シリーズの選び方 ESP32 基本で無難、Bluetooth Classicが使える ESP32-S3 ESP32より少し速くて、USBが使える ESP32-S2 中途半端でおすすめしない ESP32-C2 廉価版でおすすめしない(プロ向け)
ESP32-C3 安価にしたい場合 ESP32-C6 Zigbeeを使う場合 ESP32-C5 (未発売)5GHzのWi-Fiに対応 ゲーム機のコントローラー などで多い
開発環境の選び方 開発環境 言語 備考 ESP-IDF C/C++ プロ向け Arduino(公式) C/C++ NanoC6を開発する場合
Arduino(M5) C/C++ 全員におすすめ 少し古いが安定 PlatformIO C/C++ 中級者以上におすすめ UIFlow ブロック型 入門者におすすめ UIFlow2 ブロック型 中級者以上におすすめ これ以外にもたくさんあるよ!
ESP-IDF • ESP32シリーズの公式開発環境 • 各開発環境はESP-IDF上で動いている • 業務用の安定稼働しているボードは基本はESP-IDFを使う • 新しいチップや新機能は新しいバージョンでのみサポート •
バージョンによる機能差が比較的ある (Arduinoはラッピングされて影響が少なくなっている) • ホビーユースではArduino環境がおすすめ
Arduino 公式環境 • Arduino IDEを利用してC/C++言語での開発 • ボードマネージャーURL https://espressif.github.io/arduino-esp32/package_esp32_index.json • ESP32シリーズ公式開発環境で新しいバージョンで開発が可能
• nanoC6などはESP-IDFか公式環境でないと開発不可 • 2系から3系にバージョンアップしたときに大幅変更が発生 →M5Unifiedがまだ3系に正式対応していない(対応中)
Arduino M5Stack環境 • Arduino IDEを利用してC/C++言語での開発 • ボードマネージャーURL https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json • 少し古いArduino公式バージョンをベースにM5Stackのボードの
みに限定した開発環境 • nanoC6の開発には対応していない • M5Unifiedでの開発をするのであればこの環境がおすすめ
PlatformIO • VSCodeなどのエディタとPlatformIO環境を組み合わせて C/C++言語での開発 • ESP-IDFやArduinoなど複数の環境から選択して開発可能 • defineなどのビルドオプションを指定することが可能 • ライブラリなどのバージョン指定が可能
• ビルドがArduino IDEより早い • arduino-esp32は2系までのサポート(3系はサポート外) →今はいいけれど、バージョンアップに追従できない! 技術的な問題ではなく、契約的な問題で3に対応しないらしい。 非公式なボードマネージャーでは3系を利用可能ですが、複数種類ありどれが主流になるかわからない
UIFlow • https://flow.m5stack.com/ • ブラウザ上でブロックを組み合わせてプログラミング • 内部はMicroPython環境で動作 • まずユニットを動かしてみるときに使いやすい •
無印ESP32のみの対応(ESP32-S3、C3、C6などには非対応) • ボードごとに微妙に違う機能で特に電源周りがカオス
UIFlow2 • 新しいバージョンのMicroPythonで構築しなおしている • ESP32、ESP32-S3が対応(ESP32-C3, C6は非対応) • ボードごとに異なっていた処理を統合して再構築 • 初期化なども適切に分解されており、高度なプログラムが可能
(初心者には複雑に見えるかも?) • ログインが必要になりボード管理が簡単になった (アカウントを作る必要があり、メールアドレスが必要)