M5Stamp C3のArduino開発環境の準備

# はじめに
本記事は、
　　[M5Stamp C3でリモートIDを作りたい](https://qiita.com/hsgucci/items/8a79745c6af41c3e0a0d)
の一部です。

全体が長くなってきたので、部分的に別ページにしました。

2022年6月20日以降に機体登録する100g以上のドローンに搭載が義務付けられている「リモートID」を、
M5Stamp C3を使って、作ってみたいな～という記事の一部です。

# 全体の流れ

準備作業そのものは、ESP8266やESP32マイコンをArduino IDEで使うときには、もうお馴染みの手順です。
ですが、<font color=red>**ボードマネージャのURLがM5Stack公式のものが発表されました。**</font>

昔はM5Stackシリーズの開発は、ESP32系列のボードの１つとして、Espressif公式のURL
`https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json`
を追加するのが定石でした。
こちらのコンパイラを使う場合は**ESP32C3 Dev Module**を選択することでM5Stamp C3が使えます。
まあ，M5Stack公式の方がボードの数が少なくて見やすいので、公式を使ったほうが良いと思いますが。

もちろん、以下のように従来のESP32やESP8266などと共存することも可能ですよ。
![arduino_add_boardmanager3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/2eeb8f4b-4ae0-7dcd-ca33-5c262aad81ed.png)

# M5Stamp C3のArduino開発環境の準備

環境設定の方法は、以下のページで解説されていますが、

https://docs.m5stack.com/en/arduino/arduino_development

日本語で同じ解説をしておきます。

## Arduino IDEのインストール

まずは普通にArduino IDEをインストール。
既にインストール済みであれば、この作業は必要ありません。

今回はWindowsで解説しますが、Mac、Linuxのいずれでもほぼ同じ作業です。(Linuxは少し大変かも)
ラズパイのようなARM系はやめておいたほうが良いです。コンパイラがまだARMに対応していない可能性があるので。

https://www.arduino.cc/en/software

![arduino_download.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/a9595166-8731-39b3-9467-fcc5cdee3e8e.png)
WindowsのEXE実行形式のインストーラが一番楽です。
Microsoftストア経由でもインストールできますが、アイコンが格好悪いんですよね(爆
![arduino_donation.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/03d7a7b0-4b59-7683-e5fb-aa5b166c71c7.png)
ダウンロードする前に、寄付をお願いされます。
心のなかでありがとうございますと念じながら、[ダウンロードのみ]をクリック。
![arduino_exe.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/cf514aab-c2b0-e813-effd-cae10de1a714.png)
ダウンロードが完了したら、インストーラをダブルクリックしてインストール開始。
![arduino_installing.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/6e0bc0c9-ea44-c585-19b3-9b640ef64b94.png)
特に設定を変えることなく、ポチポチと押していき、インストールを完了させます。

## M5Stamp C3とC3U

M5Stamp C3 はUSBシリアル変換ICにCH9102を使っています。
M5Stamp C3Uは直接ESP32-C3チップにUSB端子が繋がっています。
２製品の大きな違いはここです。

C3はCH9102のデバイスドライバをインストールしなければなりません。

C3UはWindows標準のCDCでCOMポートとして認識することができるので、ドライバは不要です。
しかし、初めてPCに繋ぐときは一手間必要です。
真ん中のボタンを押しながら、USBをPCに繋いで電源を投入してください。

また、後で出てきますが、<font color=red>**C3とC3Uではボード設定が異なる**</font>ので注意してください。

## USBシリアル変換ICのデバイスドライバのインストール

M5Stamp C3を使用する場合は、USBシリアルのドライバのインストールが必要です。

M5Stackシリーズは、有名３社のUSBシリアル変換を使っていますから、各種インストールしておくと良いでしょう。

[FTDI社](https://ftdichip.com/drivers/vcp-drivers/)　主にFT232
![arduino_ftdi.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/ca3dd216-d460-0df7-b163-9053bbed7d85.png)

[Silicon Laboratories](https://jp.silabs.com/developers/usb-to-uart-bridge-vcp-drivers)　主にCP2104
![arduino_silabs.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/9b2c3105-7d54-aef7-bf9b-e1990dcaa0a8.png)

[南京沁恒微电子股份有限公司](http://www.wch-ic.com/downloads/CH343CDC_EXE.html) 主にCH340,CH9102
![arduino_ch9102.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/52f34805-1aae-5dee-9e5d-807598fedd22.png)

M5Stamp C3に限れば、CH9102のドライバだけで十分です。

## M5Stackのボードマネージャーのインストール

それでは、M5Stackシリーズのプログラムをコンパイルできるように設定をしていきます。

[**ファイル**]-[**環境設定**]をクリックします。
![arduino_preferences.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/0fed31ad-e8c5-a738-d228-ac26a0f5da1e.png)
[**追加のボードマネージャのURL**]の右端にあるアイコンをクリックします。
![arduino_preferences2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/a298ff22-3e41-10dd-f09e-da30ff313f7e.png)
エディットボックスに、以下のURLをコピペしてOKしてください。
```text:M5stack公式のURL
https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
```
![arduino_add_boardmanager2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/e530b814-a39e-e981-583f-16fff151fd38.png)
次は[**ツール**]-[**ボード:～**]-[**ボードマネージャ...**]をクリックします。
![tool-board.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/d1b97f6c-7f6e-7592-fc65-64297a6197d3.png)
ボードマネージャのウィンドウが開いたら、検索ボックスに `M5` と入力します。
![brdmngr1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/972d4061-848c-9e8a-cea6-c36991eefe71.png)
すると、M5Stack公式のボード設定が現れるので、[**インストール**]をクリックします。
もし見つけられなかったら、先程のURLが間違っている、あるいはインターネットに接続していないなどの原因が考えられます。
![brdmngr2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/8036c501-953f-c84f-7874-fd5e28dc9deb.png)
400MB近くのファイルをダウンロードしてインストールするので、かなり時間がかかります。
コーヒーを飲みに行っても大丈夫です。
![brdmngr3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/02c1aaf8-7ae9-ed30-26ca-91945f84b822.png)
インストールが完了すると、<font color=#20B2AA>**INSTALLED**</font>と表示されます。
確認したら[**閉じる**]ボタンを押してボードマネージャを終了します。
![brdmngr4c.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/89a7c39b-be7b-5e7f-c591-3d713419400c.png)
[**ツール**]-[**ボード:～**]にマウスカーソルを置くと、従来のArduino製品とM5Stack製品がツリー状に表示されます。
今回の目的である[**STAMP-C3**]をクリックしてセットしましょう。
![brdmngr-tree.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/3e329c15-e950-4524-4747-3462443549b2.png)
注意点が１つ。
M5Stamp C3を使うのか、M5Stamp C3Uを使うのかでUSB CDCの設定が以下のように変わるので気をつけましょう。
![brdmngr-setting.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/256470/c65f0497-5ed8-65f2-fe66-319cd2ba69b8.png)
以上で設定は終了です。

ライブラリマネージャの方は特にM5Stamp C3専用のものは無いので，
ボードマネージャの設定だけで十分です。

プログラムの動作確認は、シリアル通信が良いと思います。
とりあえずLチカしたくなりますが、フルカラーLEDがNeoPixelなので一手間かかってしまいますから。

拙著　[シリアル通信をしてみよう(Serial)](https://qiita.com/hsgucci/items/eee5894e3651d0a8cb75)　を参考にどうぞ～