XIAO ESP32C3を使う際の注意点

Arduino nanoで作ったラジオをXIAO ESP32C3に移行した際に、はまった部分を覚え書きとして記録します。

問題1:GPIO番号とピン表記の違い

Arduino nanoの場合

define PIN 10    // デジタルピン10

単純に物理ピン番号 = コード上の番号の番号となっている。

XIAO ESP32C3の場合

define PIN D10    // D10 = GPIO21になる。

でも、、、

define PIN 10     // GPIO10(D10とは別!)

解決策:必ずD0、D1などの定数を使う

問題2:アナログピンA3が使えない

仕様書にはアナログピンA3がGPI05に割り振られています。

でもXIAO ESP32C3のピン定義ファイルを見てみます。
Arduino IDEがインストールされているフォルダの以下のパスにあるpins_arduino.hを確認すれば、正確な定義が分かります。

すると、、、

static const uint8_t A0 = 2;
static const uint8_t A1 = 3;
static const uint8_t A2 = 4;

となっていて、なんとA3が定義されていません。そのために、なぜか4は使えるのに5はエラーという状況になりました。

この定義ファイルに追加すれば使えるようになるのかはわかりません。。。(やってみればわかるけど他にやることがあったので、、、)