ブログ
ESP32 開発ボード:Feather・Xiao・Nano の使い分け
ESP32 基板の名前を知るには、シルク印刷を読みます。DevKit、NodeMCU、Feather、Xiao、Nano のどれかが書いてあり、モジュールシールドがチップ名を示します。ブランドよりフォームファクター(形)の方が重要です。
ESP32 基板の名前を調べる方法は?
基板名は PCB に印刷されています。だいたい USB ポートの近くで、ESP32-DevKitC V4、NodeMCU-32S、Feather HUZZAH32、Xiao ESP32-S3、Nano ESP32、ESP32-CAM などです。シルク印刷が無い場合の調べ方は、ピン数、USB チップ、モジュール刻印を Arduino IDE のボード一覧と照合します。
Feather ESP32 の使い方は?
Adafruit の Feather HUZZAH32 は、Feather フォームファクターに載った旧型 ESP32 で、JST の LiPo ポートと内蔵充電回路を備えています。使い方は、3.7V セルを挿して、IDE で「Adafruit ESP32 Feather」を選ぶだけ。書き込み用の同じ USB から充電も行われます。私の HUZZAH32 気象ノードはスリープ時数 µA で、500mAh セルで数週間動きました。FeatherWing を上に重ねられるのも、この形を選ぶ理由です。
Xiao ESP32 の使い方は?
Seeed の Xiao シリーズは親指サイズです。ESP32-C3 と ESP32-S3 があり、キャリア基板にはんだ付けするキャステレーション端子を採用しています。アダプターなしではブレッドボードに挿せませんが、それがトレードオフです。C3 はどの 3.3V 電源でも動かせて、IDE では XIAO_ESP32C3 を選択します(S3 は XIAO_ESP32S3)。S3 はピン数とバッテリーオプションが追加されています。
Arduino Nano ESP32 の使い方は?
Arduino 公式の Nano ESP32 は、定番 30 ピン Nano レイアウトに S3 を載せたボードで、USB-C と 16MB フラッシュを搭載します。「Arduino Nano ESP32」として設定ゼロで認識され、ESP32 界で最もプラグアンドプレイな選択肢で、Arduino Cloud にも対応しています。Uno から移ってきた人なら、すべてのピンに見覚えがあります。難点は価格で、一般的な devkit の約2倍です。
NodeMCU ESP32 のプログラミング方法は?
検索サジェストでは「how to progrma nodemcu esp32」とタイポされることでも有名な手順ですが、内容はどの ESP32 と同じです。データ通信対応の USB ケーブル、必要なら CH340 ドライバ、「NodeMCU-32S」を IDE で選択、ポートを選んで書き込み。両端に I2C ピンを持つ 30 ピン旧型 devkit です。書き込みがタイムアウトするときは、BOOT を押しながら RST をタップして離し、再試行します。
どの形のボードを選ぶ?
ブレッドボード中心なら DevKit、LiPo と FeatherWing なら Feather、小型ビルドなら Xiao、Arduino ユーザーなら Nano です。ブランドより中身のチップが重要で、カメラプロジェクトなら C3 の Feather より S3 の devkit の方が優れています。ほとんどの人は2枚持ちで足ります。机用の旧型 devkit と、製品化向けの Xiao か Feather です。
ブレークアウト基板(モジュール単体)の使い方は?
ブレークアウト基板は、ピンを取り出しただけのベアモジュールです。例えば ESP32-WROOM-32 をそのまま載せたキャリアで、チップは同じですが、便利機能は削られています。使い方は、3.3V と GND を配線し、TX/RX を 115200 baud の USB シリアルアダプターに接続、電源投入時に GPIO0 を LOW にしてダウンロードモードに入り、あとはいつも通り書き込みます。レギュレータも USB も充電回路も無いので、3つとも自分で用意します。
GPIO が一番多い ESP32 基板は?
S3 DevKitC が最も多く、約 30 本の実用ピンを引き出せます。旧型 devkit は約 25 本、Feather と Xiao は少なめで約 20 本と 11〜15 本、Nano はその中間です。ボタンマトリクスや LED を大量に駆動する予定なら、買う前にピン数を数えましょう。サンプルプロジェクト で、どの用途に何が向いているか確認できます。
チュートリアルと同じ基板が必要?
基本的に不要です。ピン定義を数行変えるだけでコードは流用できます。違うのは、内蔵 LED のピン、SDA/SCL の位置、特定の GPIO に配線されたものだけ。チップの違いよりピン配置の違いでつまずく人の方が多く、LED ピンは基板ごとに違います。定義は自分のシルク印刷に合わせて書き換えましょう。シミュレーター なら、書き込む前に自分の基板のピン配置でスケッチをテストできます。
特殊な基板はどう使う?
プロジェクトがレンガのような形をしているなら、それに合わせた形の基板があります。カメラ+microSD なら ESP32-CAM、画面内蔵なら LILYGO T-Display、モジュール型なら M5Stack、LoRa なら Heltec、超小型ビルドなら TinyPICO です。柔軟性を犠牲にして利便性を取った設計で、ESP32-CAM に USB ポートが無いのは有名な話です。まずは汎用 devkit から始めて、当社のキット には動作確認済みの組み合わせを揃えています。
この記事のテーマのプロジェクトは、sensbench の無料シミュレーターでそのまま実行できます。回路は配線済み、ファームウェア同梱、アカウントもインストールも不要です。