M5Stack(エムファイブスタック)でHello World


はじめに

Raspberry PiやArduino UNOなどは電子工作など様々な用途で使用されているマイコンとして、非常に有名ですが、これらよりもはるかに使いやすいM5Stackというマイコン端末があることを知り、触れてみることにしました。

M5Stackとは

M5Stack(エムファイブスタック)とは、マイコン(ESP32)と、SDカードスロット、ボタン、USBやGroveのコネクタを5cm四方の基板に搭載し、ディスプレイや電源までを樹脂のケースに詰め込んであるマイコン端末です。
ESP32だけで、Wi-FiとBluetoothをつかった無線通信ができるので、IoTデバイスとしても人気です。

スペック・内容物

私が購入した以下のサイトにM5Stackの詳細なスペックが記載されています。
https://www.switch-science.com/catalog/3647/

処理能力だとRaspberry Pi > M5Stack >Arduino UNOといった感じです。

内容物はこんな感じで、梱包されていた箱に一言メッセージが入っていました!

本体+専用の樹脂ケースに、USBケーブルやジャンパワイヤ(オス~メス)、ステッカー、説明書が同梱されています。
本体

ディスプレイにHello Worldを表示させる。

Hello Worldを表示するまでの手順

1.Arduino IDEをPCにインストール
2.USBシリアルドライバのインストール
3.ESP32ボードマネージャのインストール
4.ボードの設定
5.M5Stackライブラリのインストール
6.「Hello World」のスケッチ(プログラム)を記述
7.ビルド&マイコンボードへの書き込み処理

以上の手順でM5Stackの画面に任意の文字を表示することができます。

1.Arduino IDEをPCにインストール

Arduino IDEでは効率よく開発できるよう、マイコン用のコンパイラ、アップローダ、ライブラリマネージャー、ボードマネージャなどの機能が入っているのでこちらを使用します。

まずは、Arduino公式サイトよりIDEをダウロードします。
https://www.arduino.cc/en/Main/Software
自分の環境にあったOSのリンクをクリックし、ダウンロード。今回はWindowd10で行います。(自宅PC)

auduino-1.8.33-Windows.exeをダウンロードし、インストールします。
※インストールは初期値のままで画面に従い、インストール。

インストールできたら、デスクトップに表示されるArudino IDEデスクトップアイコンをクリックしてIDEを起動。

2.USBシリアルドライバのインストール

以下にアクセス
https://docs.m5stack.com/#/en/related_documents/Arduino_IDE

「4.Install USB Driver」をクリックし、Windows、Mac、Linuxいずれかのドライバをダウンロードし、PCにインストール。(私の場合はCP210x_VCP_Windows.zip)

これでUSBシリアルドライバのインストールは完了。

3.ESP32ボードマネージャのインストール

IDEのファイルメニュー → 環境変数を開き以下のURLを設定。
https://dl.espressif.com/dl/package_esp32_index.json

OKをクリックし、次にツール → ボード:Arduino/Genuino UNO → ボードマネージャに表示されたESP32 by Espressif Systems をインストール。

ボードマネージャは閉じておきます。

4.ボードの設定

ツールに以下が表示されていることを確認。(なければ選択)
・ボード:M5Stack-Core-ESP32
・Upload Speed:921600
・シリアルポート:COM7

5.M5Stackライブラリのインストール

ツール → ライブラリをインクルード → ライブラリマネージャー
検索窓に「M5Stack」と入力し、検索 → M5Stack by M5Stackをインストール

これでM5Stackを使う準備は完了になります。

6.「Hello World」のスケッチ(プログラム)を記述

ファイル → スケッチ例 → M5Stack → Basics → HelloWorld
または、以下をエディタに貼り付け。

HelloWorld.ino
#include <M5Stack.h>

// the setup routine runs once when M5Stack starts up
void setup(){

  // Initialize the M5Stack object
  M5.begin();

  M5.Power.begin();

  // LCD display
  M5.Lcd.print("Hello World");
}

// the loop routine runs over and over again forever
void loop() {
}

7.ビルド&マイコンボードへの書き込み処理

コードがかけたら、M5StackとPCをケーブルで接続し、
画面左上の「→」ボタンをクリックすれば、ビルドされた実行形式のファイルが、マイコンボードに書き込まれ、PGが実行される。
実行後

まとめ

初期設定は意外とやることが多く、Raspberry Piなどと作業量は変わらないが、設定さえすれば、ハードケース、内蔵バッテリー、液晶やスピーカー、ボタンなどが既についているため、付属の部品を買わなくてもある程度遊ぶことができる。IoTや、電子工作で扱いやすいのがわかる気がしました。
個人的にはビルドに数分かかるので、設定を見直し、改善していきたいのと、他にも様々なライブラリがあるので色々触ってみようと思う。