Featured image of post 未サポートのESP32C6をArduino Cloudで使ってみた

未サポートのESP32C6をArduino Cloudで使ってみた

おおたfabさんでは電子工作初心者勉強会を定期的に開催しています。

先日の勉強会でXIAO ESP32C3を使ってArduino CloudでLチカを行いました。その後、参加者のかたからArduino IDEを使えばXIAO ESP32C6でもArduino CloudでLチカができたという報告をいただきました。実際に私も検証を行ってみました。

Arduino CloudではESP32C6は未対応

Arduino CloudのデバイスでESP32C6は表示されません。多分ESP32C6用のクラウド版コンパイル環境を準備していないのではと思われます。
それならば、Arduino Cloudで生成したスケッチをArduino IDEでコンパイルすればESP32C6でも使えるかもしれません。
これまでミニカー製作で使用していたXIAO ESP32C6はXIAO ESP32C3の後発品でもあり、WiFiアンテナが内蔵されたり、利用できるポートが増えている等便利なのでできればこれを使いたいものです。

外部WiFIアンテナが不要なXIAO ESP32C6

Arduino Cloudでスケッチを作る

まずArduino CloudでXIAO ESP32C3用のスケッチをつくります。
前回の記事で作成したBME280を使用した気温・気圧・Lチカのスケッチを利用しました。 ESP32C3で動く状態にしたスケッチはZIPファイルでダウンロードできます。

Arduino Cloudで作成したスケッチをダウンロード

Arduino IDEでArduino Cloudのスケッチをコンパイルする

このZIPファイルを展開して、Arduino IDEで開きます。

Arduino IDEで開いたArduino Cloudのスケッチ

このままコンパイルをしたところ、以下のライブラリがないというエラーになりました。

#include <ArduinoIoTCloud.h>
#include <Arduino_ConnectionHandler.h>

このライブラリをライブラリマネージャーで探してみると存在するので、これらをインストールします。

Arduino Cloudで必要なライブラリ

これでArduino Cloudのスケッチのコンパイルに必要なライブラリは揃いました。

WiFi情報と秘密鍵を設定する

次にarduino_secrets.hを修正します。

#define SECRET_DEVICE_KEY ""
#define SECRET_OPTIONAL_PASS ""
#define SECRET_SSID ""

このように空の状態になっているので、Arduino Cloudのスケッチ画面のSketch Secretsで設定されている3つの項目の内容を設定します。

秘密の情報を確認

これでコンパイルが正常に通ります。

Arduino IDEでの検証結果

XIAO ESP32-C6にアップロードする

問題なくコンパイルができたら、XIAO ESP32C6をUSBでPCに接続してアップロードします。

ESP32C6にアップロード

ここまでは問題ありません。

XIAO ESP32-C3をESP32-C6に交換する

XIAO ESP32-C3とXIAO ESP32-C6はピン互換なのでそのまま差し替えできます。

XIAO ESP32C3を搭載したBME280ボード

XIAO ESP32-C6に交換したブレッドボードです。

XIAO ESP32C6を搭載したBME280ボード

外付けのWiFiアンテナが無くなるので見栄えも良いです。

ダッシュボードを確認する

XIAO ESP32C6に電源を接続したところ、ダッシュボードにセンサーの情報が表示されました。

ダッシュボードにセンサー情報が表示された

XIAO ESP32C3の時と同様に表示されています。

まとめ

今回試した範囲ではXIAO ESP32C6がArduino Cloudで利用できていますが、あくまでも実験ですので、他のESP32C6デバイスや機能が同じように動作するかはわかりません。しかし、ライブラリ自体はArduino IDEで準備されているので、動作する可能性は高いと思われます。今後ESP32C6もArduio Cloudで手軽にコンパイルできるように正式サポートいただけるのを期待します。

Hugo で構築されています。
テーマ StackJimmy によって設計されています。