目次: Arduino
今まで家にあるM5Stack系ボード(M5Stack Core2やM5Stamp C3)にバイナリを書き込む際、WindowsからArduino IDEを使ってスケッチをコンパイルして書き込んでいました。しかしいつのタイミングかよくわかりませんが、コンパイルが死ぬほど遅くなってやってられなくなったためArduino CLIを試すことにしました。
環境はROCK 5BのDebian 13 Trixieにインストールしてみます。やる前から若干無謀な気がしていますが……これもコンパイルが遅すぎてやってられないようならバイナリだけLinux PCでコンパイルし、書き込みだけROCK 5Bで行う方法を探そうと思います。
初めにarduino-cliをインストール(Installation | Arduino Documentation)します。ディレクトリ名は適当で良く、カレントディレクトリのbinにインストールされます。
$ mkdir arduino $ cd arduino $ curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh Installing in /home/katsuhiro/share/projects/arduino/bin ARCH=ARM64 OS=Linux Using curl as download tool Downloading https://downloads.arduino.cc/arduino-cli/arduino-cli_1.5.1_Linux_ARM64.tar.gz install.sh: arduino-cli not found. You might want to add "/home/katsuhiro/share/projects/arduino/bin" to your $PATH arduino-cli Version: 1.5.1 Commit: 01f3d4f2b Date: 2026-06-05T10:22:11Z installed successfully in /home/katsuhiro/share/projects/arduino/bin
次にM5Stackのボードコンフィグを追加します。configの追加の仕方は色々あるみたいです(Configuration | Arduino Documentation)が、YAMLに設定を書き込むconfig init, config addが簡単そうです。デフォルトのコンフィグを変えてしまってよければ、config initを飛ばして最初からconfig addすれば良いようです。
現在の設定を確認するにはYAMLを直接見てもいいし、config dumpコマンドでも表示することができます。コンフィグYAMLファイルは~/.arduino15/arduino-cli.yamlにあり、M5Stackの設定ファイルはpackage_m5stack_index.jsonという名前ですね。
$ ./bin/arduino-cli config add board_manager.additional_urls https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json
$ ls ~/.arduino15/
arduino-cli.yaml library_index.json package_index.json package_m5stack_index.json staging
inventory.yaml library_index.json.sig package_index.json.sig packages tmp
$ cat ~/.arduino15/arduino-cli.yaml
board_manager:
additional_urls:
- https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json
次はインデックス更新(Getting Started | Arduino Documentation)です。core update-indexコマンドを実行するだけです。インデックスがダウンロードされてズラズラ〜とパッケージの一覧が表示されます。
$ ./bin/arduino-cli core update-index Downloading index: library_index.tar.bz2 downloaded Downloading index: package_index.tar.bz2 downloaded Downloading index: package_m5stack_index.json downloaded Downloading missing tool builtin:mdns-discovery@1.1.0... builtin:mdns-discovery@1.1.0 downloaded Installing builtin:mdns-discovery@1.1.0... Skipping tool configuration.... ...(略)... builtin:dfu-discovery@0.1.2 installed Downloading index: package_index.tar.bz2 downloaded Downloading index: package_m5stack_index.json downloaded
次はM5Stack用のコア(という名前なのか?)をインストールします。今回用事があるのはM5Stack用のコアなので、m5stack:esp32をインストールします。もしその他のボードも持っているのであれば、core searchで探しましょう。core upgradeで古いコアをアップデートできます。
Arduinoは「ボードのブランド:マイコンのブランド or RTOS名」がコアの命名規則だと思われますが、あまり統一感がないですね。core searchの引数を指定しなければ全コアが表示されますので、名前を眺めてみると面白いかも。
$ ./bin/arduino-cli core search m5 ID Version Name m5stack:esp32 3.3.9 M5Stack $ ./bin/arduino-cli core install m5stack:esp32 Downloading packages... m5stack:esp-x32@2601 downloaded m5stack:xtensa-esp-elf-gdb@16.3_20250913 downloaded ...(略)... Installing arduino:dfu-util@0.11.0-arduino5... arduino:dfu-util@0.11.0-arduino5 installed Installing platform m5stack:esp32@3.3.9... Platform m5stack:esp32@3.3.9 installed $ ./bin/arduino-cli core upgrade All the cores are already at the latest version $ ./bin/arduino-cli board listall | grep C3 M5StampC3 m5stack:esp32:m5stack_stamp_c3
最後にboard listallコマンド(変な名前……)でM5Stamp C3がリストにあるか確かめます。左がボード名、右がFQBN(Fully Qualified Board Name)でcompileコマンドの-bオプションに指定する文字列です。ちなみにboard listコマンドは接続中のボードを表示する全く別のコマンドなので混同しないようにしましょう。M5Stamp C3が一覧に出ていれば、C3向けにコンパイルできるはずです。
次はコンパイルに挑みます。
この記事にコメントする
| < | 2026 | > | ||||
| << | < | 09 | > | >> | ||
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
| - | - | 1 | 2 | 3 | 4 | 5 |
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | - | - | - |
23年6月2日
26年10月4日
26年10月2日
26年9月20日
26年9月23日
23年5月15日
26年9月27日
26年9月6日
20年2月22日
26年6月18日
23年6月1日
26年8月24日
21年12月28日
26年4月11日
26年6月3日
26年9月1日
26年8月8日
26年7月30日
26年7月27日
26年7月26日
wiki
Linux JM
Java API
2002年
2003年
2004年
2005年
2006年
2007年
2008年
2009年
2010年
2011年
2012年
2013年
2014年
2015年
2016年
2017年
2018年
2019年
2020年
2021年
2022年
2023年
2024年
2025年
2026年
過去日記について
アクセス統計
サーバ一覧
サイトの情報合計:
本日: