ESP32 ソフトウェア

ESP32シリーズの接続ピン互換性|C3・C5・S3へ置き換える前に確認したいポイント

投稿日:

「ESP32-C3からESP32-C5へ変更したい。」

「ESP32-S3へ置き換えても、そのまま動く?」

ESP32シリーズを使っていると、このような場面に遭遇することがあります。

一見すると同じESP32シリーズなので、そのまま置き換えられそうに思えます。

しかし実際には、

「ESP32だからピン配置も同じだろう」

という考え方は非常に危険です。

私自身もESP32-C5を採用したCPUボードを設計する際、GPIOの配置や起動モードに関わるピンを何度も確認しました。

ESP32シリーズは機能が似ていても、GPIOの配置や利用できる周辺機能はシリーズごとに異なります。

また、同じGPIO番号であっても、

  • USB
  • JTAG
  • 起動モード(Strapping Pins)
  • ADC

など、役割が異なることも少なくありません。

この記事では、

ESP32-C3・ESP32-C5・ESP32-S3を中心に、

設計時に確認しておきたい接続ピンの違いと、置き換える際の注意点について解説します。

まず各シリーズの特徴を知りたい方は、こちらの記事をご覧ください。

ESP32シリーズ比較|C3・C5・S3・C6の違いを現役エンジニアが徹底比較

「ESP32だから同じ」は危険

ESP32シリーズは同じ開発環境(ESP-IDF)で使用できるため、

「CPUだけ交換すれば動くだろう」

と思われることがあります。

しかし実際には、

CPUが変わることで

  • GPIO数
  • ピン配置
  • USB機能
  • JTAG
  • ADC
  • 起動ピン

などが変わる場合があります。

つまり、

ソフトウェアは移植できても、ハードウェアはそのまま使えない可能性がある

ということです。

特に自作基板では、この違いを理解していないと基板を作り直すことにもなりかねません。

まず確認したい3つのポイント

CPUを変更する前に、私が必ず確認する項目があります。

それは次の3つです。

① GPIO数

シリーズによって使用できるGPIO数が異なります。

そのため、

現在使用しているGPIO数を確認し、

変更後も十分足りるか確認することが重要です。

また、

GPIO番号が存在していても、

実際には入力専用だったり、

特殊機能が割り当てられている場合もあります。

データシートだけでなく、ピン配置図も確認することをおすすめします。

② 使用したい周辺機能

例えば、

  • UART
  • SPI
  • I²C
  • PWM

これらはGPIOマトリクスによって柔軟に変更できます。

しかし、

すべてのGPIOが自由に使えるわけではありません。

USBやJTAGと兼用されるピンもあります。

そのため、

どのGPIOへ割り付けるかを事前に決めておくことが重要です。

③ 起動モードに関わるGPIO

ESP32シリーズには、

起動モードを決定するGPIOがあります。

これらへ

LED

リレー

フォトカプラ

プルアップ・プルダウン

などを接続すると、

正常に起動しない場合があります。

自作基板では最も注意したいポイントの一つです。

ESP32-C3・C5・S3の違い

ここでは特徴を簡単に整理します。

項目ESP32-C3ESP32-C5ESP32-S3
CPUアーキテクチャRISC-VRISC-VXtensa LX7
主な特徴低価格・低消費電力Wi-Fi 6対応AI・USB機能
無線規格Wi-Fi 4 / BLE 5Wi-Fi 6 / BLE 5Wi-Fi 4 / BLE 5 + Bluetooth Classic
向いている用途IoT・量産機器通信性能重視AI・画像処理・USB機器

ESP32-S3はUSB機能を活用した機器の開発にも適しています。
ESP32シリーズではチップごとにUSB機能の有無や利用方法が異なるため、CPUを変更する際は必ず対象デバイスのデータシートを確認することをおすすめします。

ESP32-C5はWi-Fi6が最大の特徴です。

つまり、

CPUを変更する場合は、

「何を追加したいのか」

を最初に決めることが重要になります。

GPIO番号だけでは判断できない

ここが初心者の方が最も勘違いしやすいポイントです。

例えば、

GPIO10

という番号が存在していても、

シリーズによって役割が異なる場合があります。

あるシリーズでは通常GPIOとして使用できても、

別のシリーズではUSBやJTAGなどの特殊機能を兼ねていることがあります。

そのため、

「GPIO番号が同じだから同じように使える」

とは考えない方が安全です。

私自身もCPUボードを設計する際は、

GPIO番号だけでなく、

ピンマップ

データシート

リファレンスマニュアル

を必ず確認しています。

この確認を省略すると、

後から基板を修正することになる可能性があります。

現場では「将来の拡張性」も考える

ここは、私が実際の設計で意識しているポイントです。

例えば、

UARTを1チャネルしか使わない場合でも、

将来的にデバッグUARTを追加する可能性があるなら、

あえて余裕を持ったGPIO配置にします。

また、

現在はLEDしか接続していなくても、

将来SPIデバイスを追加する可能性があるなら、

SPIに使いやすいGPIOを空けて設計することがあります。

つまり、

現在だけでなく、

将来の仕様変更まで考えてGPIOを割り付ける

ことが、製品開発では重要になります。

CPUを変更するときのチェックリスト

ESP32シリーズを別のシリーズへ置き換える場合、私は次の順番で確認しています。

① GPIOの使用状況を整理する

まず最初に行うのは、

「現在どのGPIOを何に使っているか」

を書き出すことです。

例えば、

GPIO用途
GPIO0BOOT
GPIO1UART
GPIO2LED
GPIO8SPI
GPIO9SPI

このように一覧にしておくと、

CPU変更後もそのまま使えるのか確認しやすくなります。

実際の開発でも、この一覧表を最初に作るだけで移植作業がかなり楽になります。

② 起動に関係するGPIOを確認する

ESP32シリーズでは、

Strapping Pins(起動モードを決定するGPIO)

があります。

これらのGPIOへ

  • 強いプルアップ
  • 強いプルダウン
  • リレー
  • フォトカプラ
  • 外部IC

などを接続すると、

正常に起動できなくなる場合があります。

私自身もESP32-C5のCPUボードを設計した際、この部分は何度もデータシートを確認しました。

特に自作基板では、

「空いているGPIOだから使おう」

ではなく、

「起動時にも安全なGPIOか」

を確認することが重要です。

③ 使用する周辺機能を確認する

UART

SPI

I²C

PWM

ADC

これらはESP32シリーズで広く利用できます。

しかし、

シリーズによって

利用しやすいGPIO

利用できないGPIO

特殊機能と兼用されるGPIO

が存在します。

設計後に変更すると基板修正につながるため、

最初の段階で整理しておくことをおすすめします。

④ ESP-IDFの設定も確認する

CPUを変更する場合、

ハードウェアだけではなく

ESP-IDF側の設定も変更する必要があります。

例えば、

  • Target Device
  • menuconfig
  • Flashサイズ
  • パーティション設定

などです。

CPUを変更したのに、

以前の設定が残ったままになっていると、

書き込みは成功しても正常に動作しないことがあります。

私がESP32-C5のCPUボードで考えたこと

現在、私はESP32-C5を採用したCPUボードを開発しています。

このCPUボードは、

一般的な開発キットとは少し考え方が異なります。

装置へ組み込むことを前提としているため、

USBコネクタやUSB-UART変換ICは搭載せず、

UART経由で書き込みやログ確認を行う構成としました。

そのため、

GPIOの選定では

「今使えるか」

だけではなく、

「将来も使いやすいか」

という視点も重視しています。

例えば、

現在はLEDしか接続していないGPIOでも、

将来的にSPIやUARTへ変更できるように、

できるだけ余裕を持った設計を意識しています。

このように、

CPUボードの設計では

現在の仕様だけでなく、将来の拡張性まで考慮することが重要だと考えています。

CPUを変更するときは「動けば良い」ではない

CPU変更では、

「プログラムが動いた」

だけでは十分ではありません。

製品として考えるなら、

  • 将来の仕様変更
  • 保守性
  • 部品供給
  • 量産性

まで考える必要があります。

私がCPUを選定するときも、

性能だけではなく、

これらを含めて判断しています。

その結果として、

ESP32-C5を採用した案件もあれば、

ESP32-C3を選んだ方が適していると判断する案件もあります。

CPUは、

「性能」ではなく「目的」で選ぶもの

という考え方は、シリーズ変更でも変わりません。

まとめ

ESP32シリーズは同じ開発環境で利用できるため、

簡単に置き換えられるように思われることがあります。

しかし実際には、

GPIOの配置

起動モード

周辺機能

ESP-IDFの設定

など、

確認すべきポイントは数多くあります。

特に製品開発では、

「今動くか」

だけではなく、

将来の拡張性や保守性まで考慮した設計

が重要になります。

私自身もESP32-C5を採用したCPUボードを設計する際には、

GPIOの役割や将来の機能追加を考えながら設計を進めました。

CPUを変更する際は、

データシートや技術資料を確認しながら、

一つずつ確認していくことをおすすめします。

この記事が、ESP32シリーズを使った製品開発や、自作基板の設計を行う方の参考になれば幸いです。

どのESP32シリーズを選ぶべきか迷っている方は、こちらの記事も参考にしてください。

ESP32シリーズの選び方|用途別におすすめのESP32を現役エンジニアが解説

技術は、経験から価値になる。

DLROW Design|現場エンジニア

スポンサーリンク

スポンサーリンク

-ESP32, ソフトウェア

Copyright© 江藤良樹の仕事は物づくり , 2026 All Rights Reserved.