---
title: "M5Stackとは？種類・選び方とできること｜現行モデルの価格とArduinoコード【2026年10月】"
url: "https://www.issoh.co.jp/tech/details/5079/"
published: 2025-01-29
updated: 2026-10-12
categories: ["アーキテクチャ"]
publisher: "株式会社一創"
---

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

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

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

- **正体**：ESP32系マイコンを中心とする開発キットです。Coreシリーズなどは画面・入力・電源を備え、単体で表示・操作・無線通信を行えます。
- **種類**：国内総代理店のスイッチサイエンスは、Core（5.4cm角）・Stick（棒状）・Atom（2.4cm角）・Stamp（組み込み向け）・Chain（連結型）と、その他の特色あるモデルに分けています。
- **最初の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を選びます。
- **できること**：センサー計測とクラウド送信、赤外線での家電操作、音声・カメラを使うAI端末、キーボード付き端末など。拡張は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の過半数株式の取得を発表](https://www.espressif.com/en/news/Espressif%5FAcquires%5FM5Stack)しており、SoCの供給元と製品メーカーが同じグループになっています。中心にあるのは、Wi-FiとBluetoothを内蔵したESP32系SoCです。一般的なマイコンボードは基板むき出しで、画面や電池は自分で配線して足しますが、M5Stackは最初からケースに入っており、Coreシリーズなら2インチのカラー液晶、ボタン、スピーカー、リチウム電池まで揃っています。

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

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

## M5Stackの種類：6シリーズの現行モデルと価格・SoCを一覧で比べる

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

| シリーズ  | 代表機種          | 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円 |

### 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の公式ドキュメント](https://docs.m5stack.com/en/core/StickS3)にある仕様では、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）を別途用意する設計で、工場設備の簡易な操作パネルの試作にも使える構成です。

## Basic V2.7・Core2 v1.3・CoreS3の違いを仕様表で比べて選ぶ

「M5Stack 種類」で迷うのは、たいていCoreシリーズの3機種です。[スイッチサイエンスのM5Stack特設ページ](https://www.switch-science.com/pages/m5stack)にあるスペック比較表から、選択に効く行を抜き出しました。CoreS3のカメラ・マイク・ポート配置は[CoreS3の公式ドキュメント](https://docs.m5stack.com/en/core/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が検討候補です。CoreS3のPORT B・Cは付属のDINベース側にあります。

- **Basic V2.7を選ぶ場面**：画面と押しボタンがあれば足りる学習用・表示用。電池は110mAhと小さく、据え置きでUSB給電する前提です。
- **Core2 v1.3を選ぶ場面**：タッチ操作の画面を作りたい、電池で持ち運びたい、振動で通知したい場合。電池の持続時間は画面輝度や無線通信などの使用条件によって変わります。電源まわりの仕様は[M5Stack Core2の仕様とバッテリー・電源の解説](/tech/details/4470/)で版ごとに整理しています。
- **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でできること：センサー計測・リモコン・AI端末の作例と部品

よく作られるものを、必要な部品と一緒に挙げます。

### センサー計測とクラウドへの記録：ENV III Unitで温湿度を送る

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

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

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

### 音声・カメラを使うAI端末：CoreS3とStack-chanロボットの例

CoreS3はカメラと2本のマイクを持つため、画像認識や音声対話の端末として使える機種です。M5Stack自身も、ATOMS3RをベースにしたAI Chatbotキットや、Core本体に積んでLLMを動かすLLMモジュールキットを販売しています。コミュニティ発のロボット「ｽﾀｯｸﾁｬﾝ（Stack-chan）」は、CoreS3をメインにサーボ2基・550mAh電池・NFCなどを載せた公式製品「M5StackChan AIデスクトップロボット」（18,150円）として販売されています。

### キーボード端末や操作パネル：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](https://uiflow2.m5stack.com/)はブラウザ上でブロックを並べると裏でMicroPythonのコードが生成される環境で、Web IDEの表示バージョンは2026年9月26日時点でV2.5.3でした。ブロックからコードへ段階的に移れるので、授業で使いやすい構成です。旧版のUIFlow1とはプロジェクトの互換性がないと公式に注意書きがあるため、古い教材のプロジェクトはそのまま開けません。

Arduino IDEで書く場合は、機種ごとの画面・ボタン・電源管理の違いを吸収するライブラリ[M5Unified](https://github.com/m5stack/M5Unified)を使います。[M5UnifiedのReleases](https://github.com/m5stack/M5Unified/releases)を2026年10月12日に確認した時点では、2026年10月2日公開の0.2.25系が最新でした。旧来の機種別ライブラリ（M5Stack.h、M5Core2.hなど）で書いたコードは機種を替えると書き直しになりますが、M5Unifiedなら同じコードが多くの機種で動きます。コマンドラインでビルドや書き込みを自動化したいときは[arduino-cliの使い方](/tech/details/12383/)も参考になります。

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

手順は[M5Stack公式のArduino IDE環境構築ページ](https://docs.m5stack.com/en/arduino/arduino%5Fide)に沿っています。

1. Arduino IDEの「基本設定」にある追加のボードマネージャのURLに、[M5Stackのボード索引JSON](https://static-cdn.m5stack.com/resource/arduino/package%5Fm5stack%5Findex.json)（`https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json`）を登録します。
2. ボードマネージャで「M5Stack」を検索してインストールします。索引JSONを2026年10月12日に確認した時点の最新は3.3.9系で、M5CoreS3・M5StickS3・M5Tab5など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](https://github.com/knolleary/pubsubclient)を使い、ライブラリマネージャで「PubSubClient」を検索して入れておきます。ブローカーは社内LANに立てたMosquittoなどを想定し、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()) {
    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);
    mqtt.publish(TOPIC, payload);
    M5.Display.println(payload);
  }
}
```

受信側は、ブローカーと同じLAN上のPCで次のコマンドを実行します。Mosquittoに付属するサブスクライブ用のクライアントで、トピックの末尾をワイルドカードにして待ち受けます。

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

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

## 拡張の仕組み：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の違い](/tech/details/8373/)で比較しています。マイコン側で他の選択肢も比べたいなら、[Raspberry Pi Pico W](/tech/details/11676/)や[LilyGoのESP32ボード](/tech/details/5319/)も比較候補となる製品です。

## 業務の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接続方法の解説）](/tech/details/2991/)はX.509証明書による相互認証を前提とし、8883番ポートでMQTTを受け付けます。証明書を本体へどう書き込むか、失効させるときにどう入れ替えるかは、台数が増えてから決めると手戻りが大きくなる部分です。

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

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

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

Coreシリーズの樹脂ケースは屋内の机上での利用を想定した作りで、粉じんや水滴がかかる場所では防水ケースのToughや外装の追加を検討します。電池を内蔵する機種を高温の場所に常設するときは、USB給電に切り替えるか電池の扱いを確認します。電波を出す機器を国内で使う場合は、技術基準適合証明（技適）の表示を製品ページと本体で確かめてから導入台数を決めるのが安全です。

この4点を試作の段階で詰めておくと、検証機をそのまま本番構成へ育てやすくなります。センサーの選定からクラウド側のデータ蓄積、画面での見える化までを一続きで設計したい場合は、一創の[AI/IoTソリューション](https://www.issoh.co.jp/service/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の在庫を検討します。

### M5Stack Core2でできることは何ですか？

タッチ画面の操作パネル、振動で知らせる通知端末、マイクを使う音量計、IMUを使う傾き検知などです。電池とマイクを内蔵しているぶん、Basicより持ち歩く用途に向きます。Wi-Fiでセンサー値をMQTTブローカーへ送る計測端末にも使えます。

## 関連記事

- [M5Stack Core2とは｜ESP32仕様・バッテリー/電源・できることを解説](/tech/details/4470/)
- [Raspberry Pi Pico Wとは？基本仕様・モデルの違い・できることを総まとめ](/tech/details/11676/)
- [LilyGoとは？ESP32搭載開発ボードの特徴と製品ラインナップ・使い方](/tech/details/5319/)
- [arduino-cliとは？インストールからコンパイル・書き込み・CI自動化まで実践ガイド](/tech/details/12383/)
- [Ambient（アンビエント）とは？IoTデータを無料でグラフ化する使い方・ログイン・送信制限](/tech/details/8687/)
- [MQTTとは？Pub/Subの仕組みとQoSの解説](/tech/details/15819/)
- [AWS IoT Coreとは？機能・料金・MQTT接続方法をまとめて解説](/tech/details/2991/)
- [IoTゲートウェイとは？プロトコル変換の役割とクラウド直結との使い分け](/column/details/16902/)
- [IoTとは？仕組み・身近な例・AIとの組み合わせを簡単にわかりやすく解説](/column/details/12931/)

---

出典: [M5Stackとは？種類・選び方とできること｜現行モデルの価格とArduinoコード【2026年10月】](<https://www.issoh.co.jp/tech/details/5079/>)（株式会社一創）
