103 人が閲覧(直近 30 日) Raspberry Pi

M5Stackとは?種類・選び方とできること|現行モデルの価格とArduinoコード【2026年10月】

M5Stackとは?種類・選び方とできること|現行モデルの価格とArduinoコード【2026年10月】

M5Stack(エムファイブスタック)は、EspressifのESP32系マイコンに液晶・ボタン・スピーカー・バッテリーなどを載せ、樹脂ケースに収めた開発キットです。配線やはんだ付けをせずにUSBでつなげばすぐプログラムを書き込めるため、試作・教育・小規模なIoT機器づくりで使われています。一方で製品数が多く、2026年に入ってからもM5StickC Plus2が在庫限りとなり後継のM5StickS3が出るなど、製品の入れ替わりが続いている状況です。この記事では、スイッチサイエンスの販売ページとM5Stack公式ドキュメントで2026年10月15日に確認した価格・仕様・ライブラリの版番号をもとに、シリーズの違い、最初の1台の選び方、できること(作りたいもの別の機種と価格)、Arduinoでの始め方とMQTTで値を送るコード、業務の試作に使うときの判断までを順に整理します。スタックちゃんの完成品やカラー電子ペーパーのM5Paper Colorといった2026年の新製品も、現行の販売状況と合わせて扱います。

まとめ:M5StackはESP32を画面・電池ごとケースに収めた開発キット

  • 正体:ESP32系マイコンを中心とする開発キットです。Coreシリーズなどは画面・入力・電源を備え、単体で表示・操作・無線通信を行えます。
  • 種類:国内総代理店のスイッチサイエンスは、Core(5.4cm角)・Stick(棒状)・Atom(2.4cm角)・Stamp(組み込み向け)・Chain(連結型)と、その他の特色あるモデルに分けています。その他には電子ペーパー端末のM5Paper ColorやLLMを動かすLLM630 Compute Kitも含まれます。
  • 最初の1台:画面付きで情報が多いCoreシリーズが無難です。価格重視ならBasic V2.7(7,315円)、タッチとマイクが要るならCore2 v1.3(8,129円)、カメラやESP32-S3が要るならCoreS3(10,989円)です。
  • 2026年の入れ替わり:M5StickC Plus2と初代Core2は在庫限りです。これから買うならM5StickS3(4,290円)とCore2 v1.3を選びます。
  • できること:温湿度の記録と見える化(Core2 v1.3+ENV III Unitで計9,449円)、学習リモコン(StickS3)、会話するロボット(M5StackChan・18,150円)、電子ペーパーの表示板、LoRaメッシュ通信端末、ローカルLLMの試作まで。拡張はGrove互換ポートのUnitと、本体に挟むModuleで行います。
  • 開発環境:ブロックで組めるUIFlow2、Arduino IDE、MicroPython、ESP-IDF、PlatformIOが使えます。Arduinoなら機種差を吸収するライブラリM5Unifiedから始めると、機種を替えてもコードを流用しやすくなります。
  • 業務の試作:数台から数十台の検証機には向きます。量産や長期運用に進む段階では、調達の継続性・通信の暗号化・台数増加時の構成・設置環境の4点を見直します。

M5Stackとは:ESP32を載せたケース入りマイコンの正体と開発元の関係

M5Stackは、2017年に中国・深圳で設立されたM5Stack社が開発・販売している開発キットのブランド名です。2024年4月22日には、ESP32の開発元であるEspressif SystemsがM5Stackの過半数株式の取得を発表しており、SoCの供給元と製品メーカーが同じグループになっています。中心にあるのは、Wi-FiとBluetoothを内蔵したESP32系SoCです。一般的なマイコンボードは基板むき出しで、画面や電池は自分で配線して足しますが、M5Stackは最初からケースに入っており、Coreシリーズなら2インチのカラー液晶、ボタン、スピーカー、リチウム電池まで揃っています。

名前の「Stack」は、本体の上下の間に拡張基板(Module)をM-Bus端子で積み重ねる構造から来ています。ケーブルでつなぐ外付け部品(Unit)も多数あり、センサーを足すのに回路図を描く必要がありません。

ESP32系の機種は通常、Linuxではなく専用のファームウェアで動作します。ESP-IDFはFreeRTOSというリアルタイムOS(RTOS)を組み込んでおり、電源投入後すぐに書き込んだプログラムが走るため、ミリ秒単位で入出力を制御する用途に向きます。Linuxを動かして複数のアプリを並行させる用途なら、Raspberry Piのようなシングルボードコンピューターの領域です。両者の違いは後半の比較章で整理しました。モノをネットにつなぐ仕組みそのものから押さえたい場合は、IoTの仕組みと身近な例の解説を先に読むと、M5Stackがどの層を担う部品なのかがつかみやすくなります。

M5Stackの種類:6区分の代表モデル・価格・SoC比較

スイッチサイエンスの6区分に沿って、代表機種の価格とSoCを並べます。価格はスイッチサイエンスの税込販売価格(2026年10月15日確認)で、在庫や改定で変わります。

シリーズ 代表機種 SoC 画面 電池 価格
Core Basic V2.7 ESP32 2インチ 110mAh 7,315円
Core Core2 v1.3 ESP32 2インチ・タッチ 500mAh 8,129円
Core CoreS3 ESP32-S3 2インチ・タッチ 500mAh 10,989円
Stick M5StickS3 ESP32-S3 1.14インチ 250mAh 4,290円
Atom ATOMS3R ESP32-S3 0.85インチ なし 3,531円
Atom ATOM Lite ESP32 なし(LED) なし 1,793円
Stamp M5StampS3A ESP32-S3 なし なし 1,782円
その他 NanoC6 ESP32-C6 なし なし 1,342円
その他 Cardputer Adv ESP32-S3 1.14インチ 1,750mAh 6,061円
その他 Tab5 ESP32-P4 5インチ・タッチ 別売 10,879円
その他 M5Paper Color ESP32-S3 4インチ・カラー電子ペーパー 1,250mAh 15,818円
その他 LLM630 Compute Kit AX630C なし なし 13,376円

Coreシリーズ:2インチ液晶と電池を備えたM5Stackの標準機

54×54mmの筐体に2インチ・320×240の液晶を載せた、M5Stackの顔となるシリーズです。現行はBasic V2.7、Core2 v1.3、CoreS3(廉価版のCoreS3 SE・CoreS3 Liteあり)、防水ケースのTough、教育向けセットのM5GO・FIREなどが揃っています。Arm Cortex-A7のSTM32MP135Dを載せ、Debian 12で動くCoreMP135(22,440円)もこのシリーズに入りますが、Wi-Fiを持たない例外的な機種です。

Stickシリーズ:StickC Plus2の後継として出たM5StickS3

48×24mmの棒状で、手に持つリモコンや身につける端末に向きます。長く定番だったM5StickC Plus2はスイッチサイエンスで「最終生産を終了」と表示され、後継として2026年1月23日にM5StickS3が発売されました。M5StickS3の公式ドキュメントにある仕様では、SoCがESP32-S3に変わり、PSRAMが2MBから8MBへ、スピーカーがブザーから1Wスピーカーへ、赤外線が送信のみから送受信へ強化されています。一方でRTC(時計チップ)は無くなりました。時刻を電源断後も保持したい用途では、この差を確認してから選びます。

Atomシリーズ:24mm角に無線とセンサーを詰めた超小型モデル

24×24mmの基板にボタンとLED(または小型液晶)を載せたシリーズです。電池は内蔵しておらず、給電にはUSBかGrove端子を使う構成です。現行の主力はATOMS3Rで、ESP32-S3-PICO-1-N8R8(8MBフラッシュ・8MB PSRAM)と0.85インチ・128×128の液晶、BMI270の6軸IMU、BMM150の3軸地磁気センサー、赤外線を重さ6.8gに収めています。ATOM Liteは液晶の代わりにRGB LED(WS2812B)と赤外線LEDを1個ずつ持つ最安クラスの機種で、センサーを読んでWi-Fiで送るだけの常設ノードに使われます。

StampとNano:自作基板や製品への組み込み向け小型モジュール

Stampは切手大の基板で、自作の基板にはんだ付けして製品の頭脳にする前提のモジュールです。M5StampS3Aは1,782円で、ピンヘッダ実装済みの版もあります。NanoC6は23.5×12.0×9.5mm・2.7gの小指サイズで、ESP32-C6FH4によりWi-Fi 6、Zigbee 3.0、Thread 1.3、Matterに対応します。スマートホーム規格のMatter機器を試作したいなら、ESP32-C6系を選ぶのが近道です。

Chainとその他:連結型の入力部品・キーボード端末・5インチ端末

Chainは、エンコーダーやジョイスティック、キーパッドなどの入力部品を数珠つなぎに連結するシリーズです。その他の区分には、56キーのキーボードを持つカード型端末Cardputer Adv、ESP32-P4と5インチ・1280×720のタッチ液晶を積んだTab5、回転ノブ型のDialなどがあります。Tab5はRS485端子(6〜24V入力)とUSB-Aホストも備え、電池はNP-F550互換の2セル品(7.4V・2,000mAh)を別途用意する設計で、工場設備の簡易な操作パネルの試作にも使える構成です。

電子ペーパーとLinux・AI機:M5Paper ColorはE Ink Spectra 6で6色表示

電子ペーパーの系統は、表示を書き換えたあとは電力をほぼ使わずに画面を保てるのが特徴です。これまでのM5PaperS3は4.7インチ・540×960の16階調グレースケール表示で、スイッチサイエンスでは在庫限りの扱いになりました。カラーが要るなら、2026年7月にスイッチサイエンスで販売が始まったM5Paper Colorです。E Ink Spectra 6の4インチ・400×600画面で、赤・黄・青・白の顔料粒子を使って6色を表示します。ESP32-S3R8(16MBフラッシュ・8MB PSRAM)、1,250mAhの電池、SHT40温湿度センサー、RTC、マイクとスピーカーを備え、スイッチサイエンスの価格は15,818円です。ただし10月15日時点では品切れでした。

ESP32ではなくLinux系のプロセッサを積む機種もあります。前述のCoreMP135に加え、Axera AX630C(デュアルCortex-A53と3.2TOPSのNPU)と4GBメモリを載せたLLM630 Compute Kit(13,376円)は、Qwen2.5-0.5B/1.5BやLlama3.2-1Bといった小型のLLM、Whisperによる音声認識を端末内で動かす用途に向けた製品です。スイッチサイエンスによると、無線の認証を取得していない版は国内では売られなくなり、2025年7月から認証取得済みのモデルが販売されています。

Basic V2.7・Core2 v1.3・CoreS3の仕様比較と選定基準

「M5Stack 種類」で迷うのは、たいていCoreシリーズの3機種です。スイッチサイエンスのM5Stack特設ページにあるスペック比較表から、選択に効く行を抜き出しました。CoreS3のカメラ・マイク・ポート配置はCoreS3の公式ドキュメントでも確かめられます。

項目 Basic V2.7 Core2 v1.3 CoreS3
SoC ESP32 ESP32 ESP32-S3
PSRAM なし 8MB 8MB
タッチパネル なし あり あり
ボタン 物理3個 静電容量3個 なし(電源・リセットのみ)
電池 110mAh 500mAh 500mAh
マイク なし あり(※) デュアルマイク
IMU なし 6軸(※) 6軸+地磁気
カメラ なし なし 30万画素
RTC なし あり あり
拡張ポート PORT A PORT A PORT A・B・C
重量 47.2g 58.8g 73.3g

※Core2 v1.3でModuleを積むために標準の底面を外すと、そこに載るマイクとIMUは使えなくなります。これらの機能を残す構成には、底面パーツのM5GO Bottom2が候補です。2026年9月28日に後継のM5GO Bottom2 V1.3(1,892円)が出ており、IMUがBMI270、マイクがLMD4020に変わり、Core2 v1.3の標準底面と同じIMUに揃いました。CoreS3のPORT B・Cは付属のDINベース側にあります。

  • Basic V2.7を選ぶ場面:画面と押しボタンがあれば足りる学習用・表示用。電池は110mAhと小さく、据え置きでUSB給電する前提です。
  • Core2 v1.3を選ぶ場面:タッチ操作の画面を作りたい、電池で持ち運びたい、振動で通知したい場合。電池の持続時間は画面輝度や無線通信などの使用条件によって変わります。電源まわりの仕様はM5Stack Core2の仕様とバッテリー・電源の解説で版ごとに整理しています。
  • CoreS3を選ぶ場面:カメラで画像を撮る、2本のマイクで音声を拾う、ESP32-S3のAI向け命令やUSB OTGを使う場合。前面に押しボタンが無いため、操作はタッチ画面で作ります。

最初の1台の選び方:用途から逆算する4つの候補と避けたい買い方

用途から逆算すると、候補はほぼ次の4つに絞れます。

  • とにかく試したい・教材にしたい:Core2 v1.3。タッチ・電池・マイク・振動が1台に揃います。旧Core2向けの作例は、v1.3のBMI270に対応したライブラリを使っているか確認してから試します。
  • 家電リモコンや身につける端末:M5StickS3。赤外線の送受信があり、学習リモコンを1台で作れます。
  • センサーを置きっぱなしで測る:ATOM LiteかATOMS3R。電池が無いぶん小さく安く、常時USB給電の場所に向きます。
  • Matter・Zigbee機器の試作:NanoC6。ESP32-C6の無線をそのまま使えます。

逆に、次の買い方は後で困ります。

  • 在庫限りの旧機種を新規設計に使う:初代Core2やM5StickC Plus2は安く出回っていても、追加購入ができなくなります。台数を揃える計画があるなら現行機で設計します。
  • M5StickS3に旧HATを流用する:スイッチサイエンスは、StickS3がジョイスティックHAT・ロータリーエンコーダHAT・Hat 18650Cと構造上互換がないと明記しています。
  • StickS3で赤外線受信とスピーカーを同時に使う:赤外線を受信するときはスピーカーアンプを無効にする必要があり、有効のままでは正しく受信できないと注意書きがあります。
  • 電池駆動が前提なのにAtomやStampを選ぶ:どちらも電池を内蔵しません。持ち歩くならStickかCoreを選ぶか、電池ベースを別途用意します。

M5Stackでできること:作りたいもの別の機種・部品・価格と作例

よく作られるものを、向く機種と追加で要る部品、本体価格(スイッチサイエンス税込・2026年10月15日確認)で一覧にしました。下の各節で中身を説明します。

作りたいもの 向く機種 追加で要るもの 本体価格
温湿度の記録・見える化 Core2 v1.3 ENV III Unit(1,320円) 8,129円
学習リモコン M5StickS3 なし 4,290円
Matter・Zigbee機器 NanoC6 なし 1,342円
会話するロボット M5StackChan なし(完成品) 18,150円
LoRaメッシュ通信端末 Cardputer Meshtasticキット なし(アンテナ付属) 10,483円
電子ペーパーの表示板 M5Paper Color なし 15,818円
工場設備の操作パネル Tab5 NP-F550互換電池(電池駆動時) 10,879円

ENV III Unitによる温湿度・気圧計測とクラウドへの記録

温湿度気圧センサーのENV III Unit(1,320円・PORT Aに挿すI2C接続)をCoreにつなぎ、値を画面に出しながらWi-Fiで送るのが定番の入門作です。ENV III Unitの公式ドキュメントによると、温湿度はSHT30、気圧はQMP6988が測る構成です。送り先には、無料でグラフ化できるAmbient(IoTデータを無料でグラフ化するサービス)や、自前のサーバーへ送るならMQTT(Pub/Subの仕組みとQoS)が使われます。ToF測距や人感センサーに差し替えれば、在室検知や水位監視にも応用できます。MQTTで送る具体的なコードは後半の章に載せました。

赤外線リモコンとスマートホーム:StickS3とNanoC6の使い分け

赤外線を送受信できるM5StickS3なら、テレビやエアコンのリモコン信号を受信して記録し、ボタンやスマートフォンから再送する学習リモコンが1台で作れます。照明や家電をMatterでつなぎたい場合は、NanoC6のようなESP32-C6機を使います。

音声・カメラを使うAI端末:CoreS3とスタックちゃんの例

CoreS3はカメラと2本のマイクを持つため、画像認識や音声対話の端末として使える機種です。M5Stack自身も、ATOMS3RをベースにしたAI Chatbotキット(4,268円)を販売しています。Coreに積んでLLMを動かすLLMモジュールは単体が販売終了、キットも10月15日時点で品切れのため、端末内でLLMを動かす試作は前述のLLM630 Compute Kitが現行の選択肢です。

コミュニティ発のロボット「スタックチャン(Stack-chan)」は、2026年5月にスイッチサイエンスで販売が始まった公式製品M5StackChan AIデスクトップロボットとして買えるようになりました。CoreS3をメインに、360°回転と90°上下の2基のサーボ、550mAh電池、赤外線送受信、NFC、12個のRGB LEDを載せ、AIエージェントや表情アニメーションのファームウェアが最初から入っています。プログラムはUIFlow2・Arduino IDE・PlatformIO・ESP-IDFで書き換えられます。

LoRaメッシュ通信端末:Cardputer Meshtasticキット

携帯電話の電波が届かない山間部やイベント会場で、端末どうしが中継し合って文字を送る用途には、Cardputer Meshtasticキット(10,483円)があります。Cardputer AdvにSX1262のLoRa通信とGNSS測位を載せた拡張モジュールCap LoRa 1262を組み合わせ、オープンソースのメッシュ通信ファームウェアMeshtasticが書き込まれた状態で届くため、開発作業なしで使い始められます。対応周波数は868〜923MHzで、国内で使う前に技適表示を確認します。

キーボード端末や操作パネル:Cardputer AdvとTab5の用途

Cardputer Advは56キーのキーボード、1.14インチ液晶、1,750mAhの電池、赤外線送信を持つカード型の端末です。メモ端末、シリアル通信の簡易ターミナル、ゲーム機のような使い方が見られます。画面の大きい操作パネルならTab5で、5インチのタッチ液晶と2MPカメラ、RS485を使えます。

開発言語と開発環境の選び方:UIFlow2・Arduino・ESP-IDFの比較

M5Stackで使える主な開発環境は5つです。

環境 言語 向いている人
UIFlow2 ブロック・MicroPython 初めての人・授業
Arduino IDE C++ 作例を真似して始めたい人
MicroPython Python Pythonに慣れている人
PlatformIO C++ VS Codeで複数プロジェクトを管理する人
ESP-IDF C・C++ 製品化・細かな電力制御まで詰める人

UIFlow2はブラウザ上でブロックを並べると裏でMicroPythonのコードが生成される環境で、Web IDEの表示バージョンは2026年9月26日時点でV2.5.3で、10月15日に確認したUIFlow2ファームウェアのReleasesでも2026年9月11日公開の2.5.3が最新でした。ブロックからコードへ段階的に移れるので、授業で使いやすい構成です。Web IDEには「UIFlow2.0 and UIFlow1.0 are incompatible」と旧版のUIFlow1との非互換が注意書きされており、UIFlow1で作られた古い教材のプロジェクトはそのまま開けません。

Arduino IDEで書く場合は、機種ごとの画面・ボタン・電源管理の違いを吸収するライブラリM5Unifiedを使います。M5UnifiedのReleasesを2026年10月15日に確認した時点では、2026年10月13日公開の0.2.26が最新でした。9月下旬から0.2.23〜0.2.26と短い間隔で更新が続いているため、作例を試すときは版番号も合わせて控えておくと再現しやすくなります。旧来の機種別ライブラリ(M5Stack.h、M5Core2.hなど)で書いたコードは機種を替えると書き直しになりますが、M5Unifiedなら同じコードが多くの機種で動きます。コマンドラインでビルドや書き込みを自動化したいときはarduino-cliの使い方も参考になります。

Arduino IDEで始める手順:ボード登録からHello M5Stackの表示まで

手順はM5Stack公式のArduino IDE環境構築ページに沿っています。

  1. Arduino IDEの「基本設定」にある追加のボードマネージャのURLに、M5Stackのボード索引JSON(https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json)を登録します。
  2. ボードマネージャで「M5Stack」を検索してインストールします。索引JSONを2026年10月15日に確認した時点の最新は3.3.9で、M5CoreS3・M5StickS3・M5Tab5・M5PaperColorなど44ボードを収録していました。
  3. ライブラリマネージャで「M5Unified」をインストールします。依存ライブラリのM5GFXも一緒に入ります。
  4. 本体をUSB-Cでつなぎ、ツールメニューで機種(例:M5Core2)とポートを選びます。Basic V2.7はUSBシリアル変換チップにCH9102Fを使っているため、ポートが出ない場合はドライバを入れます。
  5. 次のスケッチを書き込みます。
#include <M5Unified.h>

int count = 0;

void setup() {
  auto cfg = M5.config();
  M5.begin(cfg);              // 機種を自動判別して画面・ボタン・電源を初期化
  M5.Display.setTextSize(2);
  M5.Display.println("Hello M5Stack");
}

void loop() {
  M5.update();                // ボタン状態を更新(毎ループ呼ぶ)
  if (M5.BtnA.wasPressed()) {
    count++;
    M5.Display.printf("BtnA: %d\n", count);
  }
  M5.delay(10);
}

Core2など画面とBtnAを備えた機種では、「Hello M5Stack」の表示と、Aボタンを押すたびに回数が増えることを確認してください。M5Unifiedのソースに書かれたボタン一覧では、BtnAはBasic・Core2・Stick・ATOMなどが持つ一方、CoreS3やToughのように前面ボタンの無い機種では反応しません。その場合はM5.Touchでタッチ座標を読みます。書き込みが始まらないときはダウンロードモードに入れます。公式ドキュメントでは、CoreS3はリセットボタンを3秒、ATOMS3Rは約2秒長押しして緑のLEDが点いたら離す手順です。

M5StackからMQTTで値を送るArduinoコードと受信側の確認手順

画面に文字が出たら、次はネットワークに値を送ってみます。ここで紹介するのは、M5Unifiedで取れる電池残量と起動からの秒数を、MQTTブローカーへ10秒ごとに送るスケッチです。MQTTクライアントには、Arduino向けで実績の長いPubSubClientを使い、ライブラリマネージャで「PubSubClient」を検索して入れておきます。このコードは、隔離した検証用LANで、端末から到達できる1883番のリスナーと認証なしの接続を設定済みのブローカーを想定しています。Mosquittoは2.0以降、設定ファイルにリスナーを書かないとローカルからの接続しか受け付けません。検証用なら、mosquitto.confにlistener 1883とallow_anonymous trueを書いてから起動します。SSIDとパスワード、ブローカーのIPアドレスは自分の環境に書き換えてください。

#include <M5Unified.h>
#include <WiFi.h>
#include <PubSubClient.h>

const char* WIFI_SSID = "your-ssid";
const char* WIFI_PASS = "your-password";
const char* MQTT_HOST = "192.168.1.10";        // ブローカーのIPアドレス
const char* TOPIC     = "m5stack/core2/status";

WiFiClient net;
PubSubClient mqtt(net);
unsigned long lastSend = 0;

void connectMqtt() {
  while (!mqtt.connected()) {
    M5.update();
    if (mqtt.connect("m5stack-core2")) {        // クライアントIDは機器ごとに変える
      M5.Display.println("MQTT connected");
    } else {
      M5.Display.println("MQTT retry...");
      M5.delay(2000);
    }
  }
}

void setup() {
  auto cfg = M5.config();
  M5.begin(cfg);
  M5.Display.setTextSize(2);
  WiFi.begin(WIFI_SSID, WIFI_PASS);
  while (WiFi.status() != WL_CONNECTED) {
    M5.delay(500);
  }
  M5.Display.println(WiFi.localIP());
  mqtt.setServer(MQTT_HOST, 1883);
}

void loop() {
  M5.update();
  if (!mqtt.connected()) {
    connectMqtt();
  }
  mqtt.loop();                                  // 受信処理と接続維持のため毎ループ呼ぶ

  if (millis() - lastSend > 10000) {
    lastSend = millis();
    char payload[64];
    snprintf(payload, sizeof(payload), "{\"battery\":%d,\"uptime\":%lu}",
             M5.Power.getBatteryLevel(), millis() / 1000);
    if (mqtt.publish(TOPIC, payload)) {
      M5.Display.println(payload);
    } else {
      M5.Display.println("MQTT publish failed");
    }
  }
}

受信側は、ブローカーと同じLAN上のPCで次のコマンドを実行します。Mosquittoに付属するサブスクライブ用のクライアントで、トピックの末尾をワイルドカードにして待ち受けます。ブローカーに認証を設定している場合は、スケッチのmqtt.connect()にユーザー名とパスワードを渡し、受信コマンドにも-uと-Pを付けます。

mosquitto_sub -h 192.168.1.10 -t "m5stack/#" -v

10秒ごとに、トピック名と電池残量・起動秒数のJSONが1行ずつ表示されれば送信できています。何も届かない場合は、本体画面に出たIPアドレスでWi-Fi接続を、「MQTT retry…」が続くかどうかでブローカー到達を、「MQTT publish failed」が出るかどうかで送信の失敗を切り分けます。ESP32系のWi-Fiは2.4GHz帯のみの機種が多いため、5GHz帯だけのSSIDにはつながりません。電池を内蔵しないATOMやStampでは電池残量に意味が無いため、送る項目をセンサー値に差し替えて使います。このスケッチはブローカーとの間を暗号化しない平文の通信で、検証用LANでの動作確認用です。インターネット越しにクラウドへ送る段階の注意点は、次の判断章で扱います。

この章と前章の2本のスケッチは、arduino-esp32 3.3.12のM5Core2向けボード定義、M5Unified 0.2.26、M5GFX 0.2.33、PubSubClient 2.8.0の組み合わせでビルドが通ることを2026年10月15日に確認しました。確認したのはコンパイルまでで、実機への書き込みと通信の動作は各自の環境で確かめてください。

拡張の仕組み:Unit・Module・HATの違いとPORT A・B・Cの役割

M5Stackの拡張部品は、つなぎ方で呼び名が分かれます。

  • Unit(コネクタ式):本体の拡張ポートにケーブルで挿す外付け部品です。センサー・ボタン・リレーなどがあります。
  • Module(スタック式):Coreシリーズの上部と底部の間に挟み込む基板です。GNSS、USBホスト、電池増設などがあります。
  • HAT:Stickシリーズの上端に挿す拡張です。StickS3は新しいHAT2バスに変わったため、旧HATが全部そのまま使えるわけではありません。
  • Base:本体の底部に取り付ける拡張部品です。Core向けとAtom向けなどがあり、対応機種を確認して選びます。

Unitをつなぐポートは役割で分かれ、PORT AがI2C、PORT BがGPIO、PORT CがUARTです。コネクタ形状はSeeedのGrove規格と互換のHY2.0-4Pなので、Grove用センサーの多くも物理的には挿さります。ただし信号の種類がポートと合っていないと動かないため、I2CのセンサーはPORT Aに、という対応を確認してから挿してください。I2Cセンサーを複数つなぐときは、アドレスが重ならないかも確認します。

ArduinoやRaspberry Piとの違い:OS・画面・電池・向く用途で比較

観点 M5Stack Arduino(UNO系) Raspberry Pi
分類 マイコン開発キット マイコンボード シングルボードPC
OSの例 FreeRTOS(ESP-IDF使用時) 通常なし Linux
画面・電池 内蔵(機種による) なし なし
ケース あり なし 別売
Wi-Fi ほぼ全機種 一部の機種 多くの機種
向く用途 画面付き端末の試作 回路から組む学習 画像処理・サーバー

Arduinoとの違いは、部品を自分で配線するか、揃った状態から始めるかです。回路の仕組みから学びたいならArduino、表示や通信を含む「動く試作品」を早く作りたいならM5Stackが向きます。M5StackもArduino IDEで開発できるため、コードの書き方はほぼ共通です。

主な違いは、ESP32系M5Stackが専用ファームウェアで入出力を制御するのに対し、Raspberry Piの代表的なSBCはLinux上でアプリケーションを動かす点です。Linux上で画像処理ライブラリやWebサーバーを動かすならRaspberry Pi、電源を入れた瞬間から決まった処理を低消費電力で回し続けるならM5Stackです。M5Stackでセンサーを読んでRaspberry Piへ送る、という分担を組むこともできます。Raspberry Pi側の世代差はRaspberry Pi 5とPi 4の違いで比較しています。マイコン側で他の選択肢も比べたいなら、Raspberry Pi Pico WやLilyGoのESP32ボードも比較候補となる製品です。

業務のIoT試作にM5Stackを使う条件と量産前に見直す4つの点

M5Stackは画面・電池・ケースが揃っているため、業務の現場で「測って見せる」試作機の筐体や表示回路を一から設計する手間を減らせます。工場の設備に後付けして稼働状況を表示する、倉庫の温湿度を記録する、といった検証には向く道具です。この記事で試作用途として勧めるのは、数台から数十台で検証期間を区切り、Wi-Fiが届く屋内に置く構成です。逆に、数百台規模の量産や数年単位の連続稼働を前提にするなら、M5Stackのまま進めず、次の4点を見直してから設計を固めます。

調達の継続性:現行機種の選定と同一SoC系での移行計画

M5Stackは型番の入れ替わりが早く、2026年もM5StickC Plus2や初代Core2が在庫限りになりました。試作に使った機種が追加購入できなくなると、同じ動作を別機種で取り直す作業が必要です。試作の段階から現行機を選び、M5Unifiedで機種差を吸収しておけば、後継機への載せ替えは設定の差し替えで済む範囲が広がります。量産を見込むなら、同じESP32-S3系のStampモジュールを自社基板に載せる道も最初から残しておきます。

通信の安全性:平文MQTTからTLSと証明書認証へ切り替える準備

前章のスケッチはLAN内で確認するための平文通信です。インターネットを経由してクラウドへ送るなら、TLSで暗号化し、機器ごとの証明書で接続元を認証する構成に切り替えます。たとえばAWS IoT Core(機能・料金・MQTT接続方法の解説)では、X.509クライアント証明書を使い、8883番ポートでMQTT接続する構成を選べます。証明書を本体へどう書き込むか、失効させるときにどう入れ替えるかは、台数が増えてから決めると手戻りが大きくなる部分です。

台数が増えたら:ゲートウェイ集約かクラウド直結かと自社基板への移行

機器が数十台を超えると、各端末がクラウドへ直接つなぐか、現場に置いた中継機でまとめてから送るかの判断が要ります。Wi-Fiが届かない場所の機器や、Modbus・RS485など別の通信方式の設備が混ざる現場では中継機が効く構成です。両者の使い分けはIoTゲートウェイの役割とクラウド直結との使い分けで整理しています。端末側も、ケースと画面が不要になった段階でStampやATOMの基板を組み込む形へ移すと、1台あたりの部品代を抑えられます。

設置環境と法規:電源・防水・動作温度と国内で使う無線機器の技適表示

Coreシリーズの樹脂ケースは屋内の机上での利用を想定した作りで、粉じんや水滴がかかる場所では防水ケースのToughや外装の追加を検討します。高温の場所への常設では、本体の動作温度範囲と電池の充放電条件を確認します。USB給電でも電池が接続・充電される構成では、電池の温度条件を別途確認してください。電波を出す機器を国内で使う場合は、技術基準適合証明(技適)の表示を製品ページと本体で確かめてから導入台数を決めるのが安全です。

この4点を試作の段階で詰めておくと、検証機をそのまま本番構成へ育てやすくなります。センサーの選定からクラウド側のデータ蓄積、画面での見える化までを一続きで設計したい場合は、一創のAI/IoTソリューションで、試作機の評価から量産構成への移行までを相談いただけます。

よくある質問

M5Stackはどこの会社の製品ですか?

2017年に中国・深圳で設立されたM5Stack社の製品です。2024年4月にESP32の開発元Espressif Systemsが過半数株式の取得を発表しています。日本ではスイッチサイエンスが総代理店として販売しています。

M5Stackは初心者でも使えますか?

初心者でも使える開発キットです。Core2 v1.3なら画面・タッチ入力・電池を内蔵しているため、基本的な表示や操作を試す際に追加の配線が要らず、UIFlow2ならブロックを並べるだけでプログラムを作れます。Arduino IDEで書く場合も、M5Unifiedを使えば画面表示とボタン入力が十数行で動きます。

M5Stackで使えるプログラミング言語は何ですか?

C++(Arduino IDE・PlatformIO)、C・C++(ESP-IDF)、MicroPython、そしてUIFlow2のブロックです。UIFlow2のブロックは裏でMicroPythonのコードに変換されます。

M5StickC Plus2とM5StickS3のどちらを買えばよいですか?

これから買うならM5StickS3です。StickC Plus2は最終生産を終えて在庫限りの扱いです。ただしStickS3にはRTCが無く、一部の旧HATとも互換がないため、それらを使う予定がある場合だけStickC Plus2の在庫を検討します。

スタックちゃんの値段はいくらですか?

公式完成品のM5StackChan AIデスクトップロボットは、スイッチサイエンスで18,150円(税込)です。2026年10月15日の販売ページでは通常版は在庫ありと表示され、ジョイスティックコントローラ付きの版(22,990円)は品切れでした。修理用に頭部のM5StackChan Core(8,536円)と胴体のM5StackChan Body(10,428円)も別売りされています。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.27 テックブログ Brotli 脆弱性:CVE-2026-111497の影響確認とNode.js・Python・.NETの更新手順
  2. 2025.02.27 コラム トラッキングビーコン(Webビーコン)とは?仕組み・用途・確認と対策を徹底解説
  3. 2026.10.27 テックブログ Joshin(ジョーシン)不正アクセス:最大600万件の対象とサブスク初期パスワードの対処
  4. 2026.10.23 テックブログ Renta!はいつ再開?不正アクセスでメールアドレス等が流出したおそれ・再開時のパスワード再設定と運営側の対応
  5. 2026.07.09 テックブログ Muse Imageとは?Metaの画像生成AIの使い方・API料金(1枚0.01ドル)と日本での提供状況【2026年10月】

RELATED POSTS 関連記事

目次