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
610
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
M5Stackボードの選び方
TANAKA Masayuki
September 23, 2024
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.3k
Other Decks in Programming
See All in Programming
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
8.7k
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
430
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
210
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
14
6.7k
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
300
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
570
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
130
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
360
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.7k
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
620
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
830
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
270
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Building AI with AI
inesmontani
PRO
1
1.1k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
The Language of Interfaces
destraynor
162
27k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
670
Context Engineering - Making Every Token Count
addyosmani
9
1k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
270
sira's awesome portfolio website redesign presentation
elsirapls
0
300
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は非対応) • ボードごとに異なっていた処理を統合して再構築 • 初期化なども適切に分解されており、高度なプログラムが可能
(初心者には複雑に見えるかも?) • ログインが必要になりボード管理が簡単になった (アカウントを作る必要があり、メールアドレスが必要)