ESPr One 32(ESP-WROOM-32 Arduino互換ボード)のピン配置について
ESPr One 32はWi-FiモジュールESP-WROOM-32をArduinoフォームファクタの基板に搭載してArduinoと同じように使えるようにしたボードです。ただし、Arduino Uno R3等と完全にピン配置が互換にはできないため、本ページでは互換性を保つために変更すべき点を記述します。
- Rev.4では両面の一部シルクにミスがあります。以下の正誤表をあわせてご利用ください。
Arduino ピン番号 | 修正前(誤) | 修正後(正) |
D2 | IO5 | IO15 |
D3 | IO23 | IO13 |
D4 | IO9 | IO12 |
D5 | IO18 | IO14 |
D10 | IO15 | IO5 |
D11 | IO13 | IO23 |
D12 | IO12 | IO19 |
D13 | IO14 | IO18 |
資料
基本的なピンアサイン
Arduinoのピン番号 | ESP32のIO番号 | ESP32の主機能 |
D0 | 3 | Serial RXD |
D1 | 1 | Serial TXD |
D2 | 15 | HSPI SS, T3, A13 |
D3 | 13 | HSPI MOSI, T4, A14 |
D4 | 12 | HSPI MISO, T5, A15 |
D5 | 14 | HSPI SCK, T6, A16 |
D6 | 0 | boot mode, A11, T1 |
D7 | 2 | boot mode, A12, T2 |
D8 | 16 | Serial1 |
D9 | 17 | Serial1 |
D10 | 5 | VSPI CS |
D11 | 23 | VSPI MOSI |
D12 | 19 | VSPI MISO |
D13 | 18 | VSPI CLK |
A0 | 25 | DAC1, A18 |
A1 | 26 | DAC2, A19 |
A2 | 27 | A17 |
A3 | 4 | A10, T0 |
A4 | 21 | SDA |
A5 | 22 | SCL |
- 例えば、ArduinoのD4ピンに信号を出したいなと思ったときは、ESP32のIO12がD4へ割り当てられていることを上の表から確認して、スケッチには
12
を記述します (例:digitalWrite(12, HIGH);
)。 - Arduino A4,A5はアナログ入力として使えません。デジタル入出力およびI2C専用となっています。
- ESP32のIO32,IO33は、本基板では発振子専用としており、GPIOピンとして利用できません。
- IO0, IO2はESP32のブートモード切り替えに使われています。シールドと接続すると起動できなくなるといった干渉がある場合、背面のジャンパを切り離すことで起動モードの不用意な変更を防ぐことができます。
- また、ESP32のA10以降は現在、WiFi機能と並行して利用できないという仕様があります。
ジャンパによって変更可能なピン
Arduinoのピン番号 | ESP32のIO番号 | ESP32の主機能 | 設置場所 |
A0 | 36 | A0 | 基板表 |
A1 | 39 | A3 | 基板表 |
A2 | 34 | A6 | 基板表 |
A3 | 35 | A7 | 基板裏 |
- ここで割当可能なESP32のA0,A3,A6,A7は入力としてのみ利用できます。
- A0, A1, A2 の変更用ジャンパは基板表に設置されています。
- 画像上部からA0, A1, A2用となっています。デフォルトでは全部左側が導通するようになっています。
- ジャンパの右側を切断し、左側をハンダを盛るなどして導通させると機能が切り替わります。
左のパッド Arduinoのピン 右側のパッド IO25(A18) A0 IO36(A0) IO26(A19) A1 IO39(A3) IO27(A17) A2 IO34(A6)
- A3の変更用ジャンパは基板表に設置されています。
- デフォルトでは右側が導通するようになっています。
左のパッド Arduinoのピン 右側のパッド IO35(A7) A0 IO4(A10)
- 例えば、ESP32のタッチ入力
T0
が使いたい、となった場合は以下のように考えます。T0
が使えるのは ESP32 の IO4 だけである。- IO4 が割り当てられているのは、上の表より、ArduinoのA3である
- よって、スケッチには
T0
と記述し、基板上のA3をタッチするとタッチ検出ができる
なんでこういう配置なのか?
- D0,D1
- ESP32のSerialの推奨ピンです。
- D2~D5
- ESP32のSPI1(HSPI)の推奨ピンが、D10~D13と同じように並んでいます。
- D6,D7
- 起動モード選択用なので、ジャンパで外部と切り離せるようになっています。タッチ入力は起動後も利用できるので、全く引き出さないのはもったいないという判断です。
- D8,D9
- Serial1の出力を並べました。ATコマンド利用時は、ここを使うことになります。
- D10~D13
- ESP32のSPI(VSPI)の推奨ピンです。
- A0,A1
- Arduino M0 pro/zero のDACピンがA0になっているので、ESP32のDACピンもこの付近に設置しました。
- A2,A3
- 前述のようにESP32のA10~はADC2系統とIC内部では分類され、WiFiと共存できません。しかし、ADC1系統のピンは信号の出力ができません。将来的にADC2とWiFiが共存できるようになることを期待しています。
- A4,A5
- 割り当てられるピンが不足したため、アナログ入力機能は省きI2Cおよびデジタル入出力専用としました。
- 切り替え先のIO34,35,336,39
- 内部ではADC1系統と分類されているADCです。ADC2から切り替えて使います。信号出力ができないため、低優先度としました。
Last modified
6 years ago
Last modified on Jun 25, 2018 10:39:39 AM
Attachments (4)
- IMG_5185_sj.png (271.3 KB ) - added by 6 years ago.
- IMG_5186_sj.png (224.4 KB ) - added by 6 years ago.
- IMG_5186.png (1.6 MB ) - added by 6 years ago.
- IMG_5183.png (552.3 KB ) - added by 6 years ago.
Note:
See TracWiki
for help on using the wiki.