こんにちは!Matsuです。
過去、社内備品管理システムを作ったり、その他の業務などでM5Stackを使ってみたところ、簡単にIoT機器を開発できる便利なものでしたので、ご紹介したいと思います。
M5Stackってなに?
M5Stack(エムファイブスタック)は、ESP32という人気マイコンをベースにした小型コンピュータです。
「マイコン」と聞くと難しそうに思うかもしれませんが、要は「小さな頭脳」。
この頭脳にプログラムを書き込むことで、いろんなモノを動かすことができます。
例えば、マイコン開発ではこんなことができます。
- 温度センサーをつないで部屋の気温を測ってスマホに送信
- LEDを好きな色で光らせてインテリアライトにする
- ボタンを押して家電を操作
- モーターを制御してミニロボットを走らせる
- Wi-Fi経由でクラウドにデータを送る
M5Stackは、こういった「マイコン遊び」をめちゃくちゃ手軽にしてくれる頼れる存在です。
M5Stackの種類
M5Stackにはいろいろなモデルがありますが、そのうち一部のモデルを紹介します。
- CoreS3 モニター、ボタン、各種センサがたっぷり入った上位版
- Core2 v1.1 タッチ液晶つきの定番モデル
- Tab5 5型の大型モニタを搭載したモデル
- StickC-Plus2 コンパクトなスティック型
多くのモデルに液晶画面やボタン、スピーカー、Wi-Fi機能などが最初から入っています。さらに、多機能なモデルでは、加速度センサや照度センサ等いろいろなセンサが標準で付いていたりします。
まずは Core2 か StickC Plus あたりが入門にはおすすめです。
M5Stackの豊富なオプション
M5Stackには、いろいろな拡張モジュールが用意されています。M5Stack用の拡張モジュールには、温度センサや光センサ、外部ディスプレイやキー、ダイヤル、GPSやカメラ、4G通信などなど、さまざまなものが用意され、それがGrove端子というもので簡単に接続できます。
これらを組み合わせることで「小さなIoT家電」を作ることができます。
拡張モジュールはとてもたくさんありますが、一例を紹介します。

M5Stackの開発環境
M5Stackの開発環境は代表的には以下のようなものがあります。
- Arduino IDE:基本。C/C++言語をベースとした”Arduino言語”で書く。サンプル豊富。大規模開発は苦手だけどまずはこれから始めるとよい。
- UIFlow:M5Stack社が開発している、ブロックタイプのビジュアル開発環境。ブロックをつなぐだけでOK。
- MicroPython:Pythonで書ける。簡単で試作に向く。
- PlatformIO:VSCode統合の開発環境。豊富なコード補完などが使えるモダンで便利な環境。
最初に触ってみるものとしては、プログラミング経験者は Arduino IDE 、プログラミング未経験者はUIFlowがいいかなと思います。
M5Stackを動かす流れ(超ざっくり)
ここではArduino IDEを例にM5Stackを動かすまでの流れをざっくり紹介します。
- Arduino IDEをPCにインストール
- ESP32ボード定義を追加
- M5Stack用ライブラリを入れる
- USBケーブルでPCにM5Stackを接続
- サンプルプログラム(Hello World)を書き込む
- 液晶に文字が出たら成功!
簡単ですね! これだけで「自分でIoTガジェットを動かせた!」という体験ができます。

まとめ
M5Stackは、「買ってすぐに動かせる小さなIoT開発ボード」です。
マイコンに興味はあるけど難しそう…と思っていた人でも、M5Stackなら始めやすいはず。
- オールインワンで完成度高い
- 開発方法を自由に選べる
- いろんな機能がかんたんに試せる
- すぐにIoT作品づくりを体験できる
気になったら、まずはM5StickC Plusなど小さいモデルを手にとって遊んでみるのがおすすめです。
関連記事
-
第1回 Visual C++で作成したDLL内のクラスをC#で利用する方法
こんにちは、ILCです。 Visual C++ (以下 VC++)で作成されたDynamic...
公開日:2024.01.19 更新日:2024.01.19
tag : Windows
-
-
-
第1回 ラズパイを使用したBLE通信 ~ ディスプレイ、キーボード、マウスを接続しないで設定 前編 ~
こんにちは、GTです。よろしくお願いします。 最近業務でラズパイのBluetooth機能を使...
公開日:2021.12.24 更新日:2021.12.24
tag : Bluetooth Raspberry Pi
-
【新機能探訪】Android 13から導入された『アプリごとの言語設定』
こんにちは、KNSKです。よろしくお願いします。 今回は Android13の新機能である『...
公開日:2022.12.09 更新日:2022.12.09
tag : スマートデバイス
-
こんにちは。WwWです。 システム系の開発をしていると様々な問題が起こります。 そこで今回は...
公開日:2023.04.28 更新日:2023.04.28