Slide 1

Slide 1 text

M5Stackボードの選び方 たなかまさゆき 2024/9/23

Slide 2

Slide 2 text

タカヲ(Takao) @mongonta555

Slide 3

Slide 3 text

タカヲ(Takao) @mongonta555

Slide 4

Slide 4 text

タカヲ(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円

Slide 5

Slide 5 text

M5Stackボードの選び方 結論 好きなのを 選べばいい!

Slide 6

Slide 6 text

ESP32シリーズの選び方 ESP32 基本で無難、Bluetooth Classicが使える ESP32-S3 ESP32より少し速くて、USBが使える ESP32-S2 中途半端でおすすめしない ESP32-C2 廉価版でおすすめしない(プロ向け) ESP32-C3 安価にしたい場合 ESP32-C6 Zigbeeを使う場合 ESP32-C5 (未発売)5GHzのWi-Fiに対応 ゲーム機のコントローラー などで多い

Slide 7

Slide 7 text

開発環境の選び方 開発環境 言語 備考 ESP-IDF C/C++ プロ向け Arduino(公式) C/C++ NanoC6を開発する場合 Arduino(M5) C/C++ 全員におすすめ 少し古いが安定 PlatformIO C/C++ 中級者以上におすすめ UIFlow ブロック型 入門者におすすめ UIFlow2 ブロック型 中級者以上におすすめ これ以外にもたくさんあるよ!

Slide 8

Slide 8 text

ESP-IDF • ESP32シリーズの公式開発環境 • 各開発環境はESP-IDF上で動いている • 業務用の安定稼働しているボードは基本はESP-IDFを使う • 新しいチップや新機能は新しいバージョンでのみサポート • バージョンによる機能差が比較的ある (Arduinoはラッピングされて影響が少なくなっている) • ホビーユースではArduino環境がおすすめ

Slide 9

Slide 9 text

Arduino 公式環境 • Arduino IDEを利用してC/C++言語での開発 • ボードマネージャーURL https://espressif.github.io/arduino-esp32/package_esp32_index.json • ESP32シリーズ公式開発環境で新しいバージョンで開発が可能 • nanoC6などはESP-IDFか公式環境でないと開発不可 • 2系から3系にバージョンアップしたときに大幅変更が発生 →M5Unifiedがまだ3系に正式対応していない(対応中)

Slide 10

Slide 10 text

Arduino M5Stack環境 • Arduino IDEを利用してC/C++言語での開発 • ボードマネージャーURL https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json • 少し古いArduino公式バージョンをベースにM5Stackのボードの みに限定した開発環境 • nanoC6の開発には対応していない • M5Unifiedでの開発をするのであればこの環境がおすすめ

Slide 11

Slide 11 text

PlatformIO • VSCodeなどのエディタとPlatformIO環境を組み合わせて C/C++言語での開発 • ESP-IDFやArduinoなど複数の環境から選択して開発可能 • defineなどのビルドオプションを指定することが可能 • ライブラリなどのバージョン指定が可能 • ビルドがArduino IDEより早い • arduino-esp32は2系までのサポート(3系はサポート外) →今はいいけれど、バージョンアップに追従できない! 技術的な問題ではなく、契約的な問題で3に対応しないらしい。 非公式なボードマネージャーでは3系を利用可能ですが、複数種類ありどれが主流になるかわからない

Slide 12

Slide 12 text

UIFlow • https://flow.m5stack.com/ • ブラウザ上でブロックを組み合わせてプログラミング • 内部はMicroPython環境で動作 • まずユニットを動かしてみるときに使いやすい • 無印ESP32のみの対応(ESP32-S3、C3、C6などには非対応) • ボードごとに微妙に違う機能で特に電源周りがカオス

Slide 13

Slide 13 text

UIFlow2 • 新しいバージョンのMicroPythonで構築しなおしている • ESP32、ESP32-S3が対応(ESP32-C3, C6は非対応) • ボードごとに異なっていた処理を統合して再構築 • 初期化なども適切に分解されており、高度なプログラムが可能 (初心者には複雑に見えるかも?) • ログインが必要になりボード管理が簡単になった (アカウントを作る必要があり、メールアドレスが必要)