2023年1月15日日曜日

M5Stamp C3とC3Uにplatformioでプログラムを書き込む


背景

ESP32C3を試したかったので、それが使われているM5Stampを2種類買って試しました。
書き込み設定と仕様の違いを備忘録として記事に残します。

使ったもの


利用したC3はV1.1、C3UはV1.0です。


書き込み: M5Stamp C3

ESP32C向けの汎用環境のesp32-c3-devkitm-1が使えます。

platformio.ini
[env:esp32-c3-devkitm-1]
platform = espressif32
framework = arduino
board = esp32-c3-devkitm-1

上記設定で書き込めます。


書き込み: M5Stamp C3U

ESP32C向けの汎用環境のesp32-c3-devkitm-1を使いつつ、USBでシリアル通信したい場合はARDUINO_USB_CDC_ON_BOOTとARDUINO_USB_MODEを定義します。

platformio.ini
[env:esp32-c3-devkitm-1]
platform = espressif32
framework = arduino
board = esp32-c3-devkitm-1
build_flags =
-DARDUINO_USB_CDC_ON_BOOT
-DARDUINO_USB_MODE

初回書き込み時はUSBポートが認識されないプログラムになっているので、ボタンを押しながらUSB接続するかリセットボタンを押して書き込み可能状態で起動させます。


一度プログラムを書き込めたらUSBシリアルとして認識されるので、次からはボタンを押さなくても書き込み可能になります。

Stamp C3とC3Uの違い

自分が把握する違いはこれらです。

対象C3C3U
ケース黄色がかった白
USBポートへの接続CH9102を通して20と21直接18と19
ボタン39
USB端子から最も遠い電極GND3
USBシリアル接続時リセットされるリセットされない

LEDはどちらも2に繋がっています。
ピンの説明シールを貼ったら丁度良くなるように作られているのか、とても眩しいです。

余談

platformioでM5StampC3の設定追加の要望は出ていますが、まだ取り込まれていません。
add m5stamp-c3 board

上記の変更が適用されたらLED、I2C、uartなどのピンが定義されるでしょう。

終わり

M5Stamp C3とC3Uに対してプログラムを書き込めました。
C3Uの方はシリアル通信ICが使われていないためプログラムを書き込めるか不安でC3も買いましたが、どちらも書き込めた上にC3Uの方が利用できるGPIOの数が1本多いので、追加購入する場合はC3Uにする予定です。

参考

esp32-c3-devkitm-1ではなくesp32devのボード指定を利用して環境を構築している例です。
M5Stamp C3が届いた!
M5Stamp-C3/platformio.ini

C3Uのプログラム書き込み時にボタン長押し起動が必要なことが紹介されています。
M5Stamp C3Uが届いた!

C3UなどUSB直つなぎのC3でUSBシリアルを有効化するマクロが紹介されています。
M5Stamp C3U 続き

0 件のコメント :