M5StackでBluetooth® LE(BLE)通信を実現するまでの手順メモ①開発環境の構築編

こんにちは、ムセンコネクトCCOの伊藤です。(プロフィール紹介はこちら)
M5Stack (https://m5stack.com/ ) を利用した最終製品のBluetooth認証取得に関するご相談が最近増えています。
以前よりM5Stackが手軽に開発できるという話は耳にしていましたが、なかなか触れる機会がありませんでした。そこで今回、M5Stackを用いたBluetooth LE(BLE)通信の実装を試みることで得られた体験の結果と、その過程で気づいた注意点をレポートします。
なお、M5Stack自体はBluetooth認証を取得していないため、M5Stackで開発した最終製品のBluetooth認証取得は困難な場合があります。M5Stackを用いた製品化をご検討の際は、この点に十分ご注意ください。

M5Stackとは
まず、「M5Stackとは何か」を正しく理解していなかったので、少し調べてみました。
M5Stackは、ESP32(https://www.espressif.com/en/products/socs/esp32 )を搭載した小型のマイコンモジュールです。
ディスプレイ、ボタン、Wi-Fi、Bluetooth、スピーカー、バッテリーなど多機能を備え、様々なセンサーやアクチュエーターを容易に接続できる高い拡張性を持っています。名前の通り、モジュールを積み重ねて拡張できる点も特徴です。
開発環境としてはArduino IDE、UIFlowなど様々に対応しており、IoTデバイス開発、プロトタイピング、教育現場でのプログラミング学習など幅広い用途で活用されています。
個人の趣味のものづくりから、企業の研究開発における原理試作まで、幅広い層に利用されているようです。
M5Stackの準備
現行で販売されている「M5Stack CoreS3 SE」(https://docs.m5stack.com/ja/core/M5CoreS3%20SE )を購入しました。

また、古いですが、2018年発売の「M5Stack Gray Core IoT Development Kit V1.0」(https://docs.m5stack.com/ja/core/gray )が社内にありましたので、活用します。

この2台を使ってBluetooth LE通信を試してみようと思います。


開発環境の選定
今回は、開発環境としてArduino IDEを選びました。
この選定には主に2つの理由があります。
- インターネット上の情報が最も豊富で、問題解決がしやすいと判断したこと
- 今回はAIによるコーディング支援を最大限に活用したいため、C/C++言語の開発が適していると判断したこと
なお、Arduino IDE以外にも、PlatformIO(VSCodeの拡張機能)、ブラウザベースのブロック型ビジュアルプログラミングであるUIFlow(https://uiflow2.m5stack.com/ )、MicroPython(https://micropython.org/ )などでも開発が可能です。
開発環境の構築
M5StackはArduino IDE用の開発環境セットアップ手順を提供しており、それに従って進めることでスムーズに環境構築ができました。

利用するAI
今回は Gemini 2.5 Proを利用してコーディング支援をしてもらいます。推論、数学、コーディングに長けたモデルを選択しました。

開発環境は整いましたので、次回からBluetooth LE通信を簡単に実現できるのか、実際に体験していきたいと思います!お楽しみに!