2025/05/25 電子書籍「Markdown記法大全+Pandoc変換マスター: 初心者から脱却!HTML・PDF・電子書籍を自在に出力する方法」を出版

M5Unifiedについて

M5Stack


M5Unifiedは、M5Stack製品の仕様の異なるハードウェアを共通のAPIで扱うためのライブラリです。M5Stack Core、M5Stack Atom、M5Stack Fire、M5Stack Grayなど、さまざまなM5Stack製品を、同じコード(API)で開発することができます。

M5Unifiedを使用すると、以下のことができます。

  • ディスプレイの初期化
  • ボタンの状態の取得
  • センサーの値の取得
  • スピーカーの音声出力
  • カメラの画像取得

M5Unifiedの紹介

今井英雄(らびやん)さんによる、M5Stack公式ライブラリのM5Unifiedの紹介スライドです。

2023年5月1日~5月5日、M5JPTour2023 にて使用したスライドとのことです。

これを見ると、M5Unifiedの開発意図がよくわかりますね。

M5Unifiedハンズオン

ハンズオンのスライドです。
サンプルも色々とありますので、M5Unifiedの参考になると思います。

M5Unifiedハンズオン
M5Unifiedハンズオン M5Stackシリーズ共通ライブラリ“M5Unified” を試してみよう! 2024/2/10 らびやん

対応デバイス

下記のデバイス以外でも対応している場合があります。最新情報は 以下のM5Unifiedのリポジトリ を確認してください。

GitHub - m5stack/M5Unified: Unified library for M5Stack series
Unified library for M5Stack series. Contribute to m5stack/M5Unified development by creating an account on GitHub.

メインデバイス

  • M5Stack Basic / Gray / Go / Fire
  • M5Stack Core2 / Core2 for AWSIoT EduKit / M5Tough
  • M5StickC / M5StickCPlus
  • M5Stack CoreInk
  • M5Paper
  • M5Atom Lite / Matrix / Echo / PSRAM / U
  • M5Stamp Pico / C3 /C3U
  • M5Station

外部ディスプレイ

  • Unit LCD
  • Unit OLED
  • Atom Display / Lite (M5Atom Lite / Matrix / PSRAMと接続します。)

外部スピーカー

  • SPK HAT (M5StickC / M5StickCPlus / M5Stack CoreInkと接続します。)
  • Atomic SPK (M5Atom Lite / PSRAMと接続します。)

LovyanGFX、M5GFX、M5Unifiedの関係

LovyanGFX、M5GFX、M5Unifiedの関係について説明します。

LovyanGFX

  • LovyanGFX は、ESP32 ベースのデバイスで使用される高性能なグラフィックライブラリです。M5Stack以外でも使用できます。
  • 主にディスプレイ描画を効率的に行うために設計されています。
  • 多様なディスプレイをサポートし、高速な描画能力を持っています。

M5GFX

  • M5GFX は、LovyanGFX をベースにして M5Stack シリーズ向けに最適化されたグラフィックライブラリです。
  • M5Stack デバイスに特化した追加機能やデバイスサポートが含まれています。

M5Unified

  • M5Unified は、M5Stack シリーズ全体を統合的にサポートするライブラリです。
  • デバイス管理、センサーインターフェース、ディスプレイ描画など、M5Stack デバイスの全体的な管理を目的としています。
  • M5Unified 内で M5GFX を利用してディスプレイ描画を行います。

M5Unified Appendix

M5.getBoard()

M5.getBoard() で取得できる開発ボードの一覧です。

BoardValue
M5Stackm5board_tboard_M5Stack
M5StackCore2m5board_tboard_M5StackCore2
M5StickCm5board_tboard_M5StickC
M5StickCPlusm5board_tboard_M5StickCPlus
M5StackCoreInkm5board_tboard_M5StackCoreInk
M5Paperm5board_tboard_M5Paper
M5Toughm5board_tboard_M5Tough
M5Stationm5board_tboard_M5Station
M5Atomm5board_tboard_M5Atom
M5AtomPsramm5board_tboard_M5AtomPsram
M5AtomUm5board_tboard_M5AtomU
M5TimerCamm5board_tboard_M5TimerCam
M5StampPicom5board_tboard_M5StampPico
M5StampC3m5board_tboard_M5StampC3
M5StampC3Um5board_tboard_M5StampC3U
開発ボードの一覧

M5.config()

M5.config() で設定できる項目の一覧です。

引数説明初期値備考
serial_baudrateuint32_tUSBのシリアルボーレート115200Arduino-esp32のみ
clear_displayboolデバイス開始時に画面をクリアするかどうかTRUE画面有りのデバイスのみ有効
output_powerbool外部5V出力のON(true)/OFF(false)TRUEAXP192搭載機種のみ有効
internal_imubool内蔵IMUを利用するかどうかTRUEIMU搭載機種のみ有効
internal_rtcbool内蔵RTCを利用するかどうかTRUERTC搭載機種のみ有効
internal_spkbool内蔵スピーカーを利用するかどうかTRUEスピーカー搭載機種のみ有効
internal_micbool内蔵マイクを利用するかどうかTRUEマイク搭載機種のみ有効
external_imuboolUnit IMUまたはAccelを利用するかどうかFALSEUnit IMU(*1) 及びAccel(*2) 用
external_rtcboolUnit RTCを利用するかどうかFALSEUnit RTC(*3)用
external_spkbool外部スピーカーを利用するかどうかFALSESPK_HAT(*4) または ATOMIC_SPK(*5) 用
led_brightnessuint8_t内蔵LEDの明るさ(0~255)0LED内蔵機種のみ有効(RGBLEDではありません。)
M5.config()

M5.Speaker.config()

M5.Speaker.config() で設定できる項目の一覧です。

項目パラメータ初期値備考
pin_data_outintI2S Data Out-1GPIO
pin_bckintI2S bck-1GPIO
pin_wsintI2S WS(LRCK)-1GPIO
sample_rateuint32_tサンプルレート(Hz)64000
stereobool扱うデータがステレオかどうかFALSE
buzzerboolブザー出力を使用するかどうかFALSEブザーを使う場合、設定はpin_data_outのみでOK
use_dacbool出力に内蔵DACを使うかどうかFALSE設定はpin_data_outのみ(GPIO_NUM_25 or GPIO_NUM_26)
dac_zero_levelunit8_tDAC使用時のゼロレベル基準値00: Dynamic Change
magnificationuint8_t出力値に対する乗数16
dma_buf_lensize_tI2S DMAバッファの長さ128
dma_buf_countsize_tI2S DMAバッファの数8
task_priorityUBasetype_tスピーカー再生タスクの優先度2
task_pinned_coreBasetype_tスピーカー再生タスクを割り当てるコア-1
i2s_porti2s_port_tI2Sポートi2s_port_t::I2S_NUM_00 or 1
M5.Speaker.config()

参考URL

以下のURLも参照ください。

タイトルとURLをコピーしました