---
title: PlatformIO IDE用M5Stack定型コード環境の紹介
tags:  #m5stack #platformio  
author: [さいとてつや](https://convert.docswell.com/user/saitotetsuya)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/V7N3Z1W878.jpg?width=480
description: 2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京でLTした資料です。 https://m5stack.connpass.com/event/329550/  PlatformIO IDE用M5Stack定型コード環境は，Arduino IDE 環境と同じように PlatformIO IDE 環境でも setup()とloop()の中身を書いてすぐにコンパイルして実行できます。
published: January 30, 26
canonical: https://convert.docswell.com/s/saitotetsuya/KWM9WG-m5stack-platformio-boilerplate-code
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/V7N3Z1W878.jpg)

PlatformIO IDE用M5Stack定型コード環境の紹介
Introduction to M5Stack Boilerplate Code
Environment for PlatformIO IDE
さいとてつや
@saitotetsuya
20240923-01版
2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京


# Page. 2

![Page Image](https://bcdn.docswell.com/page/YJ99Z5XXJ3.jpg)

PlatformIO IDEとは？
• マイクロソフト社のVisual Studio
Code上で動く組C/C++用統合開発環境
• Arduino IDEとともにM5Stackの
プログラム開発でよく利用されている
• 私が気に入っているところ
• 使用するライブラリの管理が楽
→プロジェクト毎の管理
• コンパイルが速い
• Visual Studio Code上で動く
→Cursor（The AI Code Editor）
2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/GJ891Y29ED.jpg)

M5Stackのプログラム開発で困ること
• そもそも環境構築でつまずく
→特にPlatformIO IDEで多い印象
• M5Stack沼の住人は初物を買いがち
→動作確認のため専用ライブラリのexamplesを動かしたい
• 専用ライブラリはAPIがまちまち
• M5Unifiedで機種間の相違点はほぼ吸収されている
例:M5.begin()の引数がまちまちな問題の解決
• 一方でM5Unifiedベースの専用ライブラリが出現
例：M5Dial.begin([m5::M5Unified::config_t,] bool, bool)
• 特定の機種にしか存在しないハードは専用ライブラリを使うしかない
2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/LJLWQ42M7R.jpg)

PlatformIO IDE用M5Stack定型コード環境
• PlatformIO IDEでもArduino IDEのように
楽したい
• setup()・loop()を埋めて機種ごとに定義した
環境を選択するだけでOK
• 現在22機種でビルドが可能
→platformio.ini参照
• 機種間の差異の吸収
• ARDUINO_M5STACK_*
• M5_BEGIN(), M5_UPDATE()
• M5DEV_LOG*()
差異はすべてここに
書かれている
→include/main.hpp参照
出典：https://github.com/3110/m5stack-platformio-boilerplate-code/
2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/47M91K86JW.jpg)

一般的なPlatformIO IDEでの開発手順
初期設定
① Visual Studio Codeをインストール
② 拡張機能からPlatformIO IDEをインストール
プロジェクトの作成
① PIO HomeからNew Projectを押してProject Wizardダイアログを表示
② 実機に合わせてボードを選択してプロジェクトを作成
③ PIO HomeのLibrariesから対応する公式ライブラリをインストール
④ src/main.cppにコードを書く（examplesからコピペでも良い）
→面倒くさい
2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/P7RGLX5NJ9.jpg)

M5Stack定型コード環境での開発手順
初期設定
① Visual Studio Codeをインストール
GitHubから
Use This Templateで
クローンしたものを
開いても良い
② Source Controlアイコンを押してClone Repositoryを選択し，
https://github.com/3110/m5stack-platformio-boilerplate-code/ を
クローンする
③ platformio.iniをクリックすると自動的に拡張機能がインストールされる
プロジェクトの作成
① 実機に合わせて環境を選択する
② src/main.cppにコードを書く（examplesからコピペでも良い）
2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/PJXXW6K8JX.jpg)

MFT 2024のUnit Puzzle Demoの場合
• unit_puzzle.hppをincludeに置く
UNIT_PUZZLE_DATA_PIN（2)の確認
• puzzle_demo.cppをmain.cppにコピペ
• M5.begin()→M5_BEGIN()
• M5.update()→M5_UPDATE()
• M5.→M5DEV.
便利
ATOMS3.*
※FastLED依存
• env:m5stack-atoms3を選択
→M5Unifiedベースの専用ライブラリ
• PlatformIO:uploadボタンを押して
ファームウェアを実機にダウンロード
2024年9月23日(祝) M5 Japan Tour 2024 Autumn 東京
7


