電子部品

ESP32-DevKitC-32E ESP32-WROOM-32E開発ボード 4MBのピンについて

ESP32-DevKitC V4 のヘッダには左右それぞれ以下のようにピンが並んでいます。ブレッドボード上で「USB コネクタを下」にしたときの向きです。


左側ヘッダ(J2)

No.名称種類機能
13V3Power3.3 V 電源出力:オンボードのレギュレータ出力。3.3 V を外部センサや回路に供給。
2EN(リセット)InputCHIP_PU(チップ・プルアップ)によるリセット入力。(LOW でリセット)
3VPInputGPIO36。ADC1_CH0。アナログ入力専用。
4VNInputGPIO39。ADC1_CH3。アナログ入力専用。
5IO34InputGPIO34。ADC1_CH6。デジタル入力のみ(プルアップ不可)。
6IO35InputGPIO35。ADC1_CH7。デジタル入力のみ。
7IO32I/OGPIO32。ADC1_CH4、タッチセンサ TOUCH_CH9、32 kHz 結晶クロック出力 XTAL_32K_P。
8IO33I/OGPIO33, ADC1_CH5, TOUCH_CH8, XTAL_32K_N
9IO25I/OGPIO25。ADC1_CH8、DAC_1(アナログ出力)。
10IO26I/OGPIO26, ADC2_CH9, DAC_2
11IO27I/OGPIO27, ADC2_CH7, TOUCH_CH7
12IO14I/OGPIO14。ADC2_CH6、TOUCH_CH6、JTAG TMS (MTMS)。
13IO12I/OGPIO12。ADC2_CH5、TOUCH_CH5、JTAG TDI (MTDI)。
14GNDPowerグランド
15IO13I/OGPIO13。ADC2_CH4、TOUCH_CH4、JTAG TCK (MTCK)。
16D2I/O (SPI)GPIO9。内部 SPI-Flash 用。通常ユーザーは使用しない。
17D3I/O (SPI)GPIO10(内部 SPI-Flash 用 )
18CMDI/O (SPI)GPIO11(内部 SPI-Flash 用 )
195VPowerUSB または外部 5 V 電源入力。

ポイント:

  • ADC2 系列のピン(IO12/13/14/15/25/26/27 など)は、Wi-Fi 使用時に読み取り精度が落ちたり使えなくなることがあるため、常時安定してアナログ入力したい場合は ADC1 系列(VP/VN/IO32/IO33/IO34/IO35)を優先すると安全です。
  • タッチセンサ機能(TOUCH_CHx)は静電容量式タッチ検知に使えます。
  • 内部 SPI-Flash(D2/D3/CMD)はファームウェアのストレージに直結しているため、誤って接続・駆動すると起動不能になります。

右側ヘッダ(J3)

No.名称種類機能
1GNDPowerグランド
2IO23I/OGPIO23。デフォルトで VSPI_MOSI(SPI マスタ出力)に割り当て可能。
3IO22I/OGPIO22。I²C の SCL(クロック)にデフォルト割当て。
4TXI/OGPIO1 (U0TXD)。シリアルポート0 の TX。デバッグログ出力によく使う。
5RXI/OGPIO3 (U0RXD)。シリアルポート0 の RX。
6IO21I/OGPIO21。I²C の SDA(データ)にデフォルト割当て。
7GNDPowerグランド
8IO19I/OGPIO19。VSPI_MISO(SPI マスタ入力)に割り当て可能。
9IO18I/OGPIO18。VSPI_CLK(SPI クロック)に割り当て可能。
10IO5I/OGPIO5。VSPI_CS(SPI チップセレクト)に割り当て可能。
11IO17I/OGPIO17。UART2 TX/HSPI 用などにリマップ可能。
12IO16I/OGPIO16。UART2 RX/HSPI 用などにリマップ可能。
13IO4I/OGPIO4, ADC2_CH0, TOUCH_CH0
14IO0I/OGPIO0。ADC2_CH1、TOUCH_CH1。ブートモード設定ストラップピン(LOW でブートローダ起動)。
15IO2I/OGPIO2。ADC2_CH2、TOUCH_CH2。板載 LED にも接続。
16IO15I/OGPIO15。ADC2_CH3、TOUCH_CH3、JTAG TDO (MTDO)。
17D1I/O (SPI)GPIO8 (内部 SPI-Flash 用※使用しない )
18D0I/O (SPI)GPIO7 (内部 SPI-Flash 用※使用しない )
19CLKI/O (SPI)GPIO6 (内部 SPI-Flash 用※使用しない )

ポイント:

  • VSPI(デフォルト VSPI_MOSI=23, VSPI_MISO=19, VSPI_CLK=18, VSPI_CS=5)は一般的な SPI 通信に便利。
  • I²C(GPIO21/SDA, GPIO22/SCL)は各種センサやディスプレイとの接続で多用。
  • シリアル0(GPIO1/3)はブートログやデバッグに使われるため、他のペリフェラルと競合しやすいので注意。
  • ストラップピン(IO0, IO2, IO15, IO12, IO5 など)はリセット時のモード選択(ブートローダ or フラッシュ起動)に影響するものがあるので、回路設計時にプルアップ/プルダウンの設定をよく確認してください。

補足

  • Power ピン(3V3/5V/GND)は、USBまたは外部電源とどちらか一方だけを使って給電してください。
  • EN ボタン(ヘッダではなくモジュール上のスイッチ)はリセット用です。
  • D0/D1/D2/D3/CMD/CLK はモジュール内蔵の SPI-Flash 用に使われており、通常の I/O としての使用は避けてください。
  • IO0(Boot) を LOW にしたまま EN を押すとブートローダモードになります。

まとめと注意点

  1. 電源ピン (3V3, 5V, GND) は正しく接続しないとボード破壊のおそれがあります。
  2. 内部 SPI-Flash 用ピン(D0/D1/D2/D3/CLK/CMD) は絶対にユーザー回路に流用しないこと。
  3. ADC1 系列と ADC2 系列の制約を理解し、Wi-Fi 使用時の動作保証ピンを選ぶ。
  4. タッチセンサや DAC、UART、I²C、SPI など、同じピンでも多重機能があるため、利用する機能に応じてピン配置を計画してください。

関連記事

-電子部品