M5Stickにプログラムを書き込んでみる

2022.01.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、コンサル部@大阪オフィスのTodaです。

ここ最近M5StickCPlusを利用して便利なモノができないか?といろいろ試しています。
今回は、M5Stack, M5Stickにて作成したプログラムを書込してみます。

やりたいこと

Arduino IDEを利用してM5Stack, M5StickにHello Worldの表示とFactory Testをしてみます。

M5Stick CPlusとは?

M5StickCPlusはM5Stack社が開発、販売をしているIoTデバイス開発ツールキットです。
別機器でM5StickCがありWi-FiとBluetooth機能が追加された物になります。
プログラムはArduino言語を利用して開発します。
Arduino言語はC/C++をベースにして開発されたプログラミング言語です。

・M5Stack 公式サイト
https://m5stack.com/

・M5Stick CPlus Docs
https://docs.m5stack.com/#/en/core/m5stickc_plus

事前の準備

操作はArduino IDEを利用しておこないます。
事前の準備は下記記事を参照ください。

Hello Worldの表示

プログラムの準備

Arduino IDEを開き、[ファイル] > [スケッチ例]からご利用端末に合わせたスケッチ例を取得します。
今回はM5StickCPlusを利用していますので[M5StickCPlus] > [Basics] > [HelloWorld]を開きます。

プログラムの準備1

開くとプログラムが生成されますので上記をそのまま筐体に書き込みするようにします。

プログラムの準備2

書き込みの設定

筐体に書き込みをおこなう場合、ツールの設定にてボードの指定等をおこないます。
筐体によって設定が変わるため下記設定をおこないます。

M5Stackの場合

  • ボード: M5Stack-Core-ESP32
  • UploadSpeed: 921600
  • Flash Frequency: 80MHz
  • Flash Mode: QIO
  • Partition Scheme: 初期値
  • Core Debug Level: なし
  • シリアルポート: 下記設定

M5Stack-Core2の場合

  • ボード: M5Stack-Core2
  • UploadSpeed: 921600
  • Flash Frequency: 240MHz
  • Partition Scheme: 初期値
  • PSRAM: Enabled
  • Core Debug Level: なし
  • シリアルポート: 下記設定

M5StickC,M5StickCPlusの場合

  • ボード: M5Stick-C
  • UploadSpeed: 1500000
  • Partition Scheme: 初期値
  • Core Debug Level: なし
  • シリアルポート: 下記設定

書き込みの設定 ・シリアルポートについて
シリアルポートの選択はWindowsでは「COM*」のどれかMacは「/dev/***_USBtoUART」と表記されている物を選択します。
環境により * の箇所は変更されます。
1度筐体をUSBから外し再度接続する事で追加されるポートを指定ください。

書き込み

上記設定後に、エディタの書き込みボタンをクリックする事で検証と書き込みがおこなわれます。

書き込み

動作確認

画面に小さく「HelloWorld」と表示されていたら書き込みは成功になります。

HelloWorld動作確認

Factory Test

Factory Testは筐体に搭載されている液晶、6軸センサー、BLE, RTC, i2s, IRを確認する事ができるプログラムになります。

プログラムの準備

Arduino IDEを開き、[ファイル] > [スケッチ例] > [M5StickCPlus] > [Factory Test]を開きます。

書き込み

上記HelloWorldにて書き込み設定は出来ているため、エディタの書き込みボタンをクリックする事で検証と書き込みがおこなわれます。

動作確認

Factory Testではそれぞれの搭載オプションにより画面が表示されます。
画面の切換は画面横のM5ボタンを指で押すことで切換ができます。

・それぞれの動作確認について
リアルタイムクロック(RTC): 正確な時刻を取得する部品
BLE(Bluetooth Low Energy): Bluetoothの拡張仕様、極低電力にて利用可能
I2S(Inter-IC Sound): 音に関する部品
IR: 赤外に関する部品
6軸: 前後・左右・上下を検出できるセンサー

Factory Test動作確認

さいごに

今回はArduino IDEを利用してM5Stack, M5Stickにプログラムの書き込みをしてみました。
次は筐体に追加できる HAT と UNIT について確認していきます。