
ESP32-DevKitC V4 のヘッダには左右それぞれ以下のようにピンが並んでいます。ブレッドボード上で「USB コネクタを下」にしたときの向きです。
左側ヘッダ(J2)
No. | 名称 | 種類 | 機能 |
---|---|---|---|
1 | 3V3 | Power | 3.3 V 電源出力:オンボードのレギュレータ出力。3.3 V を外部センサや回路に供給。 |
2 | EN(リセット) | Input | CHIP_PU(チップ・プルアップ)によるリセット入力。(LOW でリセット) |
3 | VP | Input | GPIO36。ADC1_CH0。アナログ入力専用。 |
4 | VN | Input | GPIO39。ADC1_CH3。アナログ入力専用。 |
5 | IO34 | Input | GPIO34。ADC1_CH6。デジタル入力のみ(プルアップ不可)。 |
6 | IO35 | Input | GPIO35。ADC1_CH7。デジタル入力のみ。 |
7 | IO32 | I/O | GPIO32。ADC1_CH4、タッチセンサ TOUCH_CH9、32 kHz 結晶クロック出力 XTAL_32K_P。 |
8 | IO33 | I/O | GPIO33, ADC1_CH5, TOUCH_CH8, XTAL_32K_N |
9 | IO25 | I/O | GPIO25。ADC1_CH8、DAC_1(アナログ出力)。 |
10 | IO26 | I/O | GPIO26, ADC2_CH9, DAC_2 |
11 | IO27 | I/O | GPIO27, ADC2_CH7, TOUCH_CH7 |
12 | IO14 | I/O | GPIO14。ADC2_CH6、TOUCH_CH6、JTAG TMS (MTMS)。 |
13 | IO12 | I/O | GPIO12。ADC2_CH5、TOUCH_CH5、JTAG TDI (MTDI)。 |
14 | GND | Power | グランド |
15 | IO13 | I/O | GPIO13。ADC2_CH4、TOUCH_CH4、JTAG TCK (MTCK)。 |
16 | D2 | I/O (SPI) | GPIO9。内部 SPI-Flash 用。通常ユーザーは使用しない。 |
17 | D3 | I/O (SPI) | GPIO10(内部 SPI-Flash 用 ) |
18 | CMD | I/O (SPI) | GPIO11(内部 SPI-Flash 用 ) |
19 | 5V | Power | USB または外部 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. | 名称 | 種類 | 機能 |
---|---|---|---|
1 | GND | Power | グランド |
2 | IO23 | I/O | GPIO23。デフォルトで VSPI_MOSI(SPI マスタ出力)に割り当て可能。 |
3 | IO22 | I/O | GPIO22。I²C の SCL(クロック)にデフォルト割当て。 |
4 | TX | I/O | GPIO1 (U0TXD)。シリアルポート0 の TX。デバッグログ出力によく使う。 |
5 | RX | I/O | GPIO3 (U0RXD)。シリアルポート0 の RX。 |
6 | IO21 | I/O | GPIO21。I²C の SDA(データ)にデフォルト割当て。 |
7 | GND | Power | グランド |
8 | IO19 | I/O | GPIO19。VSPI_MISO(SPI マスタ入力)に割り当て可能。 |
9 | IO18 | I/O | GPIO18。VSPI_CLK(SPI クロック)に割り当て可能。 |
10 | IO5 | I/O | GPIO5。VSPI_CS(SPI チップセレクト)に割り当て可能。 |
11 | IO17 | I/O | GPIO17。UART2 TX/HSPI 用などにリマップ可能。 |
12 | IO16 | I/O | GPIO16。UART2 RX/HSPI 用などにリマップ可能。 |
13 | IO4 | I/O | GPIO4, ADC2_CH0, TOUCH_CH0 |
14 | IO0 | I/O | GPIO0。ADC2_CH1、TOUCH_CH1。ブートモード設定ストラップピン(LOW でブートローダ起動)。 |
15 | IO2 | I/O | GPIO2。ADC2_CH2、TOUCH_CH2。板載 LED にも接続。 |
16 | IO15 | I/O | GPIO15。ADC2_CH3、TOUCH_CH3、JTAG TDO (MTDO)。 |
17 | D1 | I/O (SPI) | GPIO8 (内部 SPI-Flash 用※使用しない ) |
18 | D0 | I/O (SPI) | GPIO7 (内部 SPI-Flash 用※使用しない ) |
19 | CLK | I/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 を押すとブートローダモードになります。
まとめと注意点
- 電源ピン (3V3, 5V, GND) は正しく接続しないとボード破壊のおそれがあります。
- 内部 SPI-Flash 用ピン(D0/D1/D2/D3/CLK/CMD) は絶対にユーザー回路に流用しないこと。
- ADC1 系列と ADC2 系列の制約を理解し、Wi-Fi 使用時の動作保証ピンを選ぶ。
- タッチセンサや DAC、UART、I²C、SPI など、同じピンでも多重機能があるため、利用する機能に応じてピン配置を計画してください。
関連記事