ESP32には、ESP32、ESP32-S3、ESP32-C3、ESP32-C5など、用途や機能の異なるさまざまなシリーズがあります。
新しいESP32が登場すると、
「今使っているESP32から載せ替えられないか?」
「同じWROOMシリーズならピン互換なのでは?」
「ESP32-C3からESP32-C5へ変更するだけなら、基板はそのまま使える?」
と考えることもあると思います。
しかし、同じESP32シリーズだからといって、ピン互換があるとは限りません。
外形が似ていても端子配置が異なることがあります。また、同じGPIO番号でも機能や起動時の状態が異なる場合があります。
特に基板設計では、単純に「3.3VとGNDの位置が合っている」「必要なGPIOがある」という確認だけでは不十分です。
モジュールのLand Pattern、電源、EN、Strapping Pin、UARTやSPIなどの周辺機能、Flash・PSRAM構成、アンテナ領域なども確認する必要があります。
この記事では、ESP32・ESP32-S3・ESP32-C3・ESP32-C5を例に、ESP32シリーズを別のデバイスへ置き換えるとき、何を確認すればよいのかを基板設計の視点から解説します。
ESP32シリーズは基本的にピン互換ではない
最初に結論を書くと、ESP32、ESP32-S3、ESP32-C3、ESP32-C5は、基本的にそのまま載せ替えられるピン互換デバイスではありません。
「ESP32」という共通した名前が付いていますが、それぞれCPUアーキテクチャや搭載されている周辺機能、GPIO構成などが異なります。
モジュールについても同様です。
たとえば「WROOM」という名称が付いているからといって、同じLand Patternや端子配列を持っているわけではありません。
そのため、
ESP32-WROOMを使っている基板だから、別のESP32-WROOMへそのまま交換できる
とは考えない方が安全です。
ESP32シリーズを置き換える場合、少なくとも次の3つの互換性を分けて確認する必要があります。
| 互換性 | 主な確認項目 |
|---|---|
| 機械的互換性 | モジュール外形、Land Pattern、端子数、端子位置 |
| 電気的互換性 | 電源、EN、GPIO、Strapping Pin、起動条件 |
| 機能的互換性 | UART、SPI、I²C、USB、ADCなどの周辺機能 |
さらに、ハードウェアだけでなくFirmware側の対応確認も必要です。
つまり、
「基板に物理的に載る」=「ピン互換」ではありません。
ここを最初に理解しておくと、ESP32シリーズを変更するときの設計ミスを減らせます。
ピン互換性で確認するべき5つのポイント
では、ESP32シリーズを変更するとき、具体的に何を確認すればよいのでしょうか。
ここでは特に重要なポイントを5つに分けて説明します。
1.モジュールの外形とLand Pattern
最初に確認するのは、モジュールそのものの物理形状です。
同じESP32シリーズやWROOMという名称であっても、
- モジュールの縦横寸法
- 端子数
- 端子位置
- 端子ピッチ
- GNDパッド
- Land Pattern
などが同じとは限りません。
そのため、データシートの外形寸法だけを比較するのではなく、推奨Land Patternまで確認することが重要です。
基板上に実装できなければ、その時点で単純な載せ替えはできません。
また、モジュールのアンテナ位置にも注意が必要です。
アンテナ部分の下や周辺には、銅箔、配線、部品などを配置しないKeepout Areaが指定されています。
モジュール変更によってアンテナ位置が変われば、基板外形や部品配置まで見直す必要が出てくることがあります。
2.電源・EN・GNDの配置
次に確認するのが電源関係です。
ESP32シリーズの多くは3.3V系で動作しますが、
「どれも3.3Vだから交換できる」
というわけではありません。
3.3V、GND、ENなどの端子位置が違えば、当然そのまま載せ替えることはできません。
また、必要な電源容量についても確認が必要です。
Wi-FiやBluetoothなどの無線通信を行うESP32では、通信時に消費電流が大きく変動します。
既存基板の3.3V電源回路をそのまま流用する場合でも、変更後のESP32に対して十分な電流を供給できるか確認しておく必要があります。
単純なピン配置だけでなく、電源回路そのものが流用できるかまで含めて判断します。
3.GPIO番号だけで判断しない
ESP32はGPIO Matrixによって、多くの周辺機能を比較的自由にGPIOへ割り当てられることが特徴です。
そのため、
「UARTは別のGPIOへ移せばいい」
「SPIも空いているGPIOへ割り当てればいい」
と考えやすいのですが、すべてのGPIOを自由に使えるわけではありません。
シリーズによって、
- 入力専用端子
- 起動時に使用される端子
- FlashやPSRAMで使用される端子
- USBで使用される端子
- 使用を避けた方がよい端子
などが異なります。
特に注意したいのが、FlashやPSRAMを内蔵・搭載するモジュールです。
同じESP32シリーズでも、FlashやPSRAMの構成によって一部GPIOをユーザーが自由に使用できない場合があります。
つまり、
GPIO番号が存在することと、そのGPIOを基板で自由に使えることは別
と考える必要があります。
4.Strapping Pinを必ず確認する
ESP32シリーズを使った基板設計で特に注意したいのが、Strapping Pinです。
Strapping Pinとは、電源投入時やリセット時のGPIO状態によって、ESP32の起動設定などを決定する端子です。
通常動作が始まった後はGPIOとして使用できる場合でも、起動時には特別な役割を持っています。
そのため、外部回路によってStrapping Pinが意図しないHighまたはLowへ固定されると、
- 正常に起動しない
- Download Modeへ入ってしまう
- 書き込みができない
- 起動設定が変わる
といった問題につながる可能性があります。
そして重要なのは、Strapping Pinの割り当てがESP32シリーズごとに異なることです。
既存ESP32で問題なく使えていたGPIOだからといって、別シリーズでも同じように使えるとは限りません。
シリーズ変更時には、データシートのStrapping Pinの項目を必ず確認します。
5.UART・SPI・USBなどの周辺機能を確認する
最後に、実際に基板で使用している周辺機能を確認します。
代表的なものとして、
- UART
- SPI
- I²C
- ADC
- PWM
- USB
- JTAG
などがあります。
ESP32シリーズによって搭載されている周辺機能やチャンネル数、使用可能なGPIOは異なります。
特にUSBはシリーズによる違いが大きい部分です。
従来のESP32と、USB機能を持つESP32-S3やESP32-C3などでは、USBを利用した書き込みやデバッグ方法まで変わる可能性があります。
既存基板でUART、SPI、I²Cなどを複数使用している場合は、使用中の機能を一つずつ新しいESP32へ割り当て直せるか確認するのが確実です。
ESP32・S3・C3・C5は何が違う?
ここまでを見ると、ESP32シリーズの変更では単純なピン番号比較だけでは不十分であることが分かります。
では、ESP32、ESP32-S3、ESP32-C3、ESP32-C5にはどのような違いがあるのでしょうか。
大まかな特徴を比較すると次のようになります。
| 項目 | ESP32 | ESP32-S3 | ESP32-C3 | ESP32-C5 |
|---|---|---|---|---|
| CPUアーキテクチャ | Xtensa LX6 | Xtensa LX7 | RISC-V | RISC-V |
| CPU構成 | Dual Core | Dual Core | Single Core | Single Core |
| Wi-Fi | 2.4GHz | 2.4GHz | 2.4GHz | 2.4/5GHz |
| Wi-Fi世代 | Wi-Fi 4 | Wi-Fi 4 | Wi-Fi 4 | Wi-Fi 6 |
| Bluetooth | BR/EDR + BLE | BLE | BLE | BLE |
| 802.15.4 | ― | ― | ― | 対応 |
| USB | ―※ | USB OTG / Serial-JTAG | USB Serial-JTAG | USB Serial-JTAG |
| CPU系統 | Xtensa | Xtensa | RISC-V | RISC-V |
| 単純な載せ替え | × | × | × | × |
※従来ESP32自体にESP32-S3のようなネイティブUSB OTG機能があるという意味ではありません。
ここで重要なのは、性能の優劣ではありません。
たとえばESP32-C5は2.4GHz/5GHz Wi-Fi 6に対応するなど、従来シリーズから無線機能が大きく強化されています。
一方で、
「C5の方が新しくて高機能だから、C3をC5へ交換すればよい」
とはなりません。
CPUアーキテクチャが同じRISC-Vであっても、GPIO、周辺機能、Strapping Pin、モジュール端子配置などは別に確認する必要があります。
ESP32からESP32-S3へ置き換えできる?
ESP32-S3は、従来のESP32と同じXtensa系CPUを採用しています。
そのため、一見すると比較的移行しやすそうに見えます。
しかし、ESP32からESP32-S3への変更を単純な載せ替えとして考えることはできません。
ESP32-S3ではCPUコアがXtensa LX7へ変更されているほか、GPIO構成や周辺機能も異なります。
特に大きな違いの一つがUSBです。
ESP32-S3にはUSB OTGやUSB Serial/JTAGが搭載されているため、従来ESP32ではUSB-UART変換ICを使用していた構成でも、S3ではUSBを直接利用する設計が可能です。
これは機能面ではメリットですが、既存基板から変更する場合には、
- USB端子を使用するか
- USB-UART変換ICを残すか
- 書き込み方法をどうするか
- JTAGをどう利用するか
といった基板全体の構成を改めて検討する必要があります。
また、Strapping PinやGPIOの用途も同じではありません。
したがって、
ESP32-S3への変更は「ESP32を高性能版へ交換する」のではなく、新しいMCUを使って基板を再設計する
と考えた方が安全です。
ESP32からESP32-C3へ置き換えできる?
ESP32-C3では、CPUアーキテクチャそのものが変わります。
従来ESP32がXtensa LX6を採用しているのに対して、ESP32-C3はRISC-Vベースです。
さらにCPU構成、GPIO、周辺機能、Bluetooth機能などにも違いがあります。
そのため、ESP32からESP32-C3へ変更する場合も、単純な載せ替えは基本的にできません。
ただし、ESP-IDFやArduinoなどの開発環境では複数のESP32シリーズがサポートされているため、アプリケーションコードの一部を流用できる場合はあります。
ここで注意したいのが、
「ソースコードが流用できる」ことと「基板が流用できる」ことは別
という点です。
たとえばUART通信を行うプログラムそのものは移植できても、実際にUARTへ使用するGPIOが変われば基板配線は変更しなければなりません。
また、特定のESP32向けライブラリや、CPU固有機能へ直接アクセスしているプログラムでは、Firmware側にも修正が必要になる可能性があります。
ESP32-C3への変更では、ハードウェアとFirmwareを別々に確認する必要があります。
ESP32-C3からESP32-C5へ置き換えできる?
ESP32-C3とESP32-C5は、どちらもRISC-VベースのESP32です。
そのため、
「C3からC5なら比較的簡単に変更できるのでは?」
と思うかもしれません。
しかし、C3とC5もピン互換デバイスとして考えるべきではありません。
ESP32-C5では2.4GHzだけでなく5GHz帯にも対応したWi-Fi 6を利用でき、IEEE 802.15.4にも対応するなど、無線機能が大きく拡張されています。
一方で、GPIO構成やStrapping PinなどはC3と同じではありません。
たとえばESP32-C5では、Boot Modeに関係するGPIOやUSB Serial/JTAGで使用されるGPIOなどを確認したうえで回路を設計する必要があります。
さらに、モジュールのメモリ構成にも注意が必要です。
ESP32-C5-WROOM-1では、PSRAM搭載品を選択すると、一部端子がPSRAMとの接続に使用されます。
つまり、
同じESP32-C5-WROOM-1でも、選択するメモリ構成によって自由に使用できるGPIOが変わる場合がある
ということです。
これはシリーズ変更だけでなく、同一シリーズ内でモジュール型番を変更するときにもデータシートを確認する必要があることを意味します。
CPUアーキテクチャが同じだからといって、基板まで互換になるわけではありません。
「同じWROOMなら互換」は間違い
ESP32を選定していると、
- ESP32-WROOM
- ESP32-S3-WROOM
- ESP32-C5-WROOM
のように「WROOM」という名称を目にします。
ここで注意したいのが、
WROOMという名称=共通のピン配置
ではないことです。
WROOMは、ESP32シリーズのモジュール製品で使用されている名称ですが、シリーズをまたいで共通のLand Patternを保証するものではありません。
そのため、部品表に「ESP32-WROOM」とだけ記載して互換品を選定するような運用は避けた方が安全です。
基板設計では必ず、
完全なモジュール型番 → データシート → 推奨Land Pattern → Pin Definitions
まで確認します。
特に量産製品では、部品供給の都合から別のESP32へ変更したくなる場合があります。
その場合も「同じWROOMだから代替品」と判断するのではなく、設計変更として扱うことをおすすめします。
ESP32を別シリーズへ変更するときの確認手順
では、実際に既存基板のESP32を変更するとき、どのような順番で確認すればよいのでしょうか。
私は次の順番で確認することをおすすめします。
1.モジュール型番を確定する
最初に変更先の完全な型番を決めます。
「ESP32-C5」だけでは不十分です。
Flash容量、PSRAMの有無、アンテナ仕様などによってモジュール型番や使用条件が変わるためです。
2.Land Patternを比較する
既存モジュールと変更先モジュールの推奨Land Patternを比較します。
端子数や端子位置が違えば、基本的に基板変更が必要です。
3.電源仕様を確認する
動作電圧だけでなく、必要な電流や電源投入条件なども確認します。
既存の3.3V電源を流用できるかも、この段階で確認します。
4.使用しているGPIOを一覧化する
既存基板で使用しているGPIOと用途を一覧にします。
たとえば、
| 信号 | 用途 |
|---|---|
| GPIO-A | UART TX |
| GPIO-B | UART RX |
| GPIO-C | SPI CLK |
| GPIO-D | LED |
| GPIO-E | 外部割り込み |
のように整理します。
この表を変更先ESP32のGPIOへ一つずつ割り当て直します。
5.Strapping Pinを確認する
割り当てたGPIOがStrapping Pinと衝突していないか確認します。
通常動作だけでなく、電源投入時・リセット時に外部回路がどのような状態になるかまで確認します。
6.Flash・PSRAM関連端子を確認する
モジュール構成によって内部FlashやPSRAMで使用される端子がないか確認します。
データシート上にGPIO番号が存在していても、採用するモジュールでは使用できない場合があります。
7.USB・UART・JTAGを確認する
書き込みやデバッグ方法も確認します。
ESP32シリーズによってUSB Serial/JTAGなどの利用可否が異なるため、MCU変更を機会に書き込み回路を簡略化できる場合もあります。
8.アンテナ領域を確認する
モジュールのアンテナ位置とKeepout Areaを確認します。
ここを見落とすと、基板上には実装できても無線性能へ影響する可能性があります。
9.Firmwareを確認する
最後にFirmware側を確認します。
使用しているESP-IDFやArduino Coreなどが変更先デバイスに対応しているか、使用中のライブラリにデバイス依存部分がないか確認します。
ピン互換にこだわらず基板を再設計した方がよい場合
既存基板をできるだけ変更したくない場合、変換基板やGPIOの割り当て変更によって対応したくなることがあります。
試作や評価用途であれば、それも一つの方法です。
しかし量産基板の場合は、無理に互換性を持たせることで、
- 配線が複雑になる
- 不要な0Ω抵抗やジャンパが増える
- Strapping Pinの制約を受ける
- 本来使いやすいGPIOを使えない
- 新しいESP32の機能を活かせない
といった問題が発生することがあります。
特にESP32からESP32-C5のように世代や機能が大きく異なる場合は、既存回路への適合を優先するよりも、新しいデバイスに合わせて基板を再設計した方が結果的にシンプルになることがあります。
基板変更には工数が必要ですが、製品を長期間使用するのであれば、無理な互換設計を残すより保守もしやすくなります。
まとめ|ESP32の型番変更は「載せ替え」ではなく再設計として考える
ESP32、ESP32-S3、ESP32-C3、ESP32-C5は同じESP32ファミリですが、基本的に単純なピン互換デバイスではありません。
ESP32シリーズを変更するときは、
機械的互換性
電気的互換性
機能的互換性
の3つを確認する必要があります。
さらに、実際の製品ではFirmware、Flash・PSRAM構成、アンテナ領域、書き込み・デバッグ方法まで確認します。
特に覚えておきたいのは、
「同じESP32」「同じRISC-V」「同じWROOM」だから互換とは限らない
という点です。
ESP32シリーズを変更するときは、単なる部品置換ではなく、別のMCUへ変更するつもりでデータシートを確認するのが安全です。
その結果、基板変更が必要になったとしても、新しいESP32に合わせて回路を最適化した方がシンプルで扱いやすい設計になることがあります。
ESP32シリーズそのものの選び方で迷っている場合は、既存の**「ESP32シリーズの選び方|用途別におすすめのESP32を現役エンジニアが解説」**も関連記事としてつなげましょう。逆側の記事から今回の記事への内部リンクも追加すると、かなり相性のよい2記事になります。
技術は、経験から価値になる。
DLROW Design | 現場エンジニア