まだまだFader Unitで遊んでるのに、次なる刺客M5StampC3がスイッチサイエンスから届きました。
積まないように開発環境だけは確認しておきたいと思います。
スペック
細かい仕様は https://docs.m5stack.com/en/core/stamp_c3 を読んでもらうとして、 M5StampC3はその名の通り Espressifの ESP32-C3 が搭載されているのがワクワクポイントですかね。RISC-Vだったり色々とセキュアだったりと特徴がありますが、個人的にはBluetooth® 5.0 LRに興味津々です。
また、タイプCのUSBで書き込みも給電もできるので、電源周りを用意するのが面倒な私にぴったりです。
Arduino IDEでの開発
M5Stackのマネージャにはまだ見当たらないので Espressifの ESP32 ArduinoにあるESP32C3 Dev Module
を選択してみました。
とりあえずそれっぽいシリアルポートを選択して書き込んでみます。
書き込めましたか?私は失敗しました🥲
よく分かりませんがエラーが出てるので、エラーメッセージをコピペしてググると同じエラーの記事が出てきました。
M5StampC3もUSB-Serial変換チップにCH9102が載っているので同じ現象ですね。
記事の通りにドライバをインストールして、ポートを /dev//dev/cu.wchusbserial***** を選択すると無事に書き込みできます。
Platform IOでの開発
BoardsでESP32C3
を選ぶと出てきます。・・がFrameworksにArduinoがないですね。
ウロウロと検索していると PlatformIO Communityにそれっぽいスレッドがヒットしました。
なんか解決したのかどうかよくわからないんですが、こちらを参考にiniファイルを作成してなんとか書き込みできました。
まずは使用するツールチェーンをダウンロードしてローカルに展開しておきます。
もともとインストールされているツールチェーンのpackage.json
を展開した先にコピーします。
(私はDownloadフォルダにriscv32-esp-elf
という名前で展開しました)
cp ~/.platformio/packages/toolchain-riscv-esp/package.json ~/Downloads/riscv32-esp-elf
そこまで準備して下記のplatformio.ini
を使えばコンパイルから書き込みまでできるようになりました。
[env:esp32c3] platform = espressif32 platform_packages = toolchain-riscv-esp@file://先程展開したツールチェーンのフルパス framework-arduinoespressif32@https://github.com/espressif/arduino-esp32.git#master framework = arduino board = esp32dev board_build.mcu = esp32c3 board_build.partitions = huge_app.csv board_build.variant = esp32c3 board_build.f_cpu = 160000000L board_build.f_flash = 80000000L board_build.flash_mode = dio board_build.arduino.ldscript = esp32c3_out.ld build_unflags = -DARDUINO_ESP32_DEV -DARDUINO_VARIANT="esp32" build_flags = -DARDUINO_ESP32C3_DEV -DARDUINO_VARIANT="esp32c3" monitor_speed = 115200 monitor_filters = time upload_port = /dev/cu.wchusbserial************
platformioでM5StampC3のLED光らせて遊んだよ!それにしても眩しいな #m5stamp_c3 #m5stack pic.twitter.com/Bt7FDf39FO
— イナバ (@hollyhockberry) 2021年10月23日
正直正しい設定なのかよくわからない部分もありますが、とりあえずは開発できそうです。
とはいえ、そこそこ面倒な感じなので対応を待つためにちょっと積んでみましょうかね。