最近IoT(Internet of Things / モノのインターネット)やDX(デジタルトランスフォーメーション)という言葉をよく耳にする機会が増えてきました。
例えばスマートファクトリーと呼ばれるように、工場のデジタル化が進むなど、私たちの身の回りのあらゆるものがインターネットにつながる時代が到来しています。
とはいえ、「IoTやDXって難しいそう」「プログラミングなんてやったことがないから無理かも・・・」と思っている方も多いのではないでしょうか?
そんな初心者の方にこそおすすめしたいのが、手のひらサイズの高性能マイコン開発キット「M5Stack」です。
今回は「M5Stackとは何か?」をやさしく、わかりやすくご紹介します。
M5Stackとは?

M5Stack(エムファイブ・スタック)は、中国・深圳にあるM5Stack社が開発した、小型のマイコン搭載デバイスです。
マイコンとは、小さなコンピュータのようなもの。
Arduino(アルドゥイーノ)やRaspberry Pi (ラズベリーパイ)のような、電子工作向けの開発ボードの一種といえば、聞いたことがある方もいるかもしれません。
M5Stackの最大の特徴は、以下のような「全部入り」のハードウェア構成にあります。
- カラー液晶ディスプレイ
- ボタン
- USB-C端子(電源&データ転送)
- Wi-Fi / Bluetooth 対応
- ケースに入っていてデザインもスタイリッシュ
つまり「買ってすぐに使える、初心者にやさしいIoTデバイス」です。
M5Stackの特徴

コンパクトでスマートなデザイン
M5Stackは、非常にコンパクトで洗練されたデザインが特徴です。
たとえば写真左にあるM5 AtomS3は、100円玉とほぼ同じ大きさの超小型マイコンです。
また、小さいながらも高性能なので、机の上や制御盤内など限られたスペースにも設置しやすく、実験やプロトタイピングにも最適です。
用途に応じて選べる!豊富なシリーズ展開

M5Stackには、用途やレベルに応じた多彩なラインナップが用意されています。
Coreシリーズ
液晶付きで、ボタンが3つあるオールインワンモデル
Atomシリーズ
超小型でシンプル。小規模IoT用途や量産テストなどに利用可能
Stickシリーズ
バッテリー内蔵かつ細長い形状で、リモコンなどの用途に便利
そのほかにもカメラ付きのモデルなどがあり、用途に合わせて最適な1台がみつかるのが、M5Stackの大きな魅力です。
純正センサーの種類が豊富で拡張が簡単

M5Stackには、コントローラ本体と接続可能なセンサが豊富に準備されています。
例えば、工場IoTでよく使われるセンサとして次のようなものが準備されています。
- 温度・湿度センサ
- 距離センサ
- 電圧・電流センサ
- 振動センサ
- 光センサ
- RFID
Wi-FiとBluetooth内蔵
M5StackはESP32という汎用マイコンをベースとして開発されています。
ESP32はWi-FiとBluetoothが標準搭載。
インターネットやスマホと簡単に接続できるため、IoTデバイスとしてすぐに活用することが可能です。
コントローラもセンサも低価格
M5Stackは、価格が非常に安い点も大きな特徴です。
主要なコントローラとセンサの価格は次の通り
M5Stackの参考価格
Switch Scienceでの参考価格
コントローラの価格
| 型式 | 金額 |
| M5 StampS3 | 1,606円 |
| M5 AtomS3 | 3,036円 |
| M5 StickC Plus | 4,664円 |
| M5 Core2 | 9,105円 |
| M5 Fire | 9,075円 |
センサの価格
| センサ種類 | 金額 |
| 温湿度 | 1,111円 |
| M5 AtomS3 | 3,036円 |
| M5 StickC Plus | 4,664円 |
| M5 Core2 | 9,105円 |
| M5 Fire | 9,075円 |
コントローラもセンサもすごく安いです。
安くても、コントローラは全てWiFi、Bluetooth搭載です。
温度や湿度の測定が数千円でできてしまいます。
生産現場のIoT化を成功されるカギは、スモールスタートです。
安価で手軽に使えるM5Stackは、生産現場のIoT化に向けてスタートするにはピッタリのツールです。
初心者でもブロックでプログラミングできる
M5StackにはUIFlowという専用の開発環境があります。
UIFlowを使えば、ブロックプログラミングで直感的に開発を進めることができます。
初心者でもコードを書かずに動かせるのが、M5Stackの大きなメリットです。
上級者向けの開発環境も充実している
先ほどはUIFlowを使えば初心者でもプログラミングできることを紹介しました。
ただし、ブロックプログラミングは理解しやすい反面、複雑な処理には向いていません。
M5StackはPlatformIO やArduinoというC++言語をベースとした開発環境も充実しています。
PlatformIOを使えば、M5Stackが持っているハードウェア性能を存分に使いこなすことが可能です。
M5Stackの注意すべき点
M5Stackは初心者にも扱いやすい素晴らしいIoTデバイスです。
しかし、使う上でいくつかデメリットや注意点もあります。
バッテリー駆動がやや弱い
M5Stackの一部モデルにはバッテリーが内蔵されていますので、充電さえしていれば電源に接続せずに使用することも可能です。
ただし、内蔵バッテリーの容量は非常に小さいため長時間の使用には耐えることができません。
別途モバイルバッテリーなど外付けのバッテリーを利用することも可能ですが、M5Stackは消費電力もやや多めなので、電源なしで使用する場合には注意が必要です。
液晶画面が小さい&操作性に制限あり
M5Stackの特徴である小型ボディは、表示器としてはデメリットに感じることもあります。
代表的な機種であるM5 Fire の場合、液晶画面は2インチ程度。操作用のボタンも3つのみで、ユーザーインターフェイスには限界があります。
この点を考慮して、用途に応じて使い方を工夫する必要があります。
日本語ドキュメントが不十分な場合がある
M5Stackは中国の企業が開発して、グローバルに展開しているIoTコントローラーです。
ただし公式ドキュメントやUIFlowの日本語対応は充実しているとは言えません。
M5Stackを利用してIoT機器の開発を進めていくためには、YouTubeやBlogなど日本のユーザーが投稿した情報を活用することが必要となってきます。
本ブログもその情報源の一つとなるよう、初心者の方にもわかりやすい解説を心がけていきたいと思います。
M5Stackはアイデアを形にできるIoTデバイス
先に述べたように、M5Stackにはいくつかのデメリットがありますが、アイデア次第ではとても有用なIoTデバイスです。
実際にM5Stackを活用して、製造現場の管理や生産性向上に役立てている事例も数多くあります。