wiki:espr_one32

Version 6 (modified by kishida, 2 months ago) (diff)

--

ESPr One 32(ESP-WROOM-32 Arduino互換ボード)のピン配置について

ESPr One 32はWi-FiモジュールESP-WROOM-32をArduinoフォームファクタの基板に搭載してArduinoと同じように使えるようにしたボードです。ただし、Arduino Uno R3等と完全にピン配置が互換にはできないため、本ページでは互換性を保つために変更すべき点を記述します。

http://trac.switch-science.com/raw-attachment/wiki/espr_one32/IMG_5183.png

資料

基本的なピンアサイン

Arduinoのピン番号ESP32のIO番号ESP32の主機能
D03Serial RXD
D11Serial TXD
D215HSPI SS, T3, A13
D313HSPI MOSI, T4, A14
D412HSPI MISO, T5, A15
D514HSPI SCK, T6, A16
D60boot mode, A11, T1
D72boot mode, A12, T2
D816Serial1
D917Serial1
D105VSPI CS
D1123VSPI MOSI
D1219VSPI MISO
D1318VSPI CLK
A025DAC1, A18
A126DAC2, A19
A227A17
A34A10, T0
A421SDA
A522SCL
  • 例えば、ArduinoのD4ピンに信号を出したいなと思ったときは、ESP32のIO12がD4へ割り当てられていることを上の表から確認して、スケッチには 12 を記述します (例: digitalWrite(12, HIGH);)。
  • Arduino A4,A5はアナログ入力として使えません。デジタル入出力およびI<sup>2</sup>C専用となっています。
  • ESP32のIO32,IO33は、本基板では発振子専用としており、GPIOピンとして利用できません。
  • IO0, IO2はESP32のブートモード切り替えに使われています。シールドと接続すると起動できなくなるといった干渉がある場合、背面のジャンパを切り離すことで起動モードの不用意な変更を防ぐことができます。
  • また、ESP32のA10以降は現在、WiFi機能と並行して利用できないという仕様があります。

ジャンパによって変更可能なピン

Arduinoのピン番号ESP32のIO番号ESP32の主機能設置場所
A036A0基板表
A139A3基板表
A234A6基板表
A335A7基板裏
  • ここで割当可能なESP32のA0,A3,A6,A7は入力としてのみ利用できます。
  • A0, A1, A2 の変更用ジャンパは基板表に設置されています。

http://trac.switch-science.com/raw-attachment/wiki/espr_one32/IMG_5185_sj.png

  • 画像上部からA0, A1, A2用となっています。デフォルトでは全部左側が導通するようになっています。
  • ジャンパの右側を切断し、左側をハンダを盛るなどして導通させると機能が切り替わります。

左のパッドArduinoのピン右側のパッド
IO25(A18)A0IO36(A0)
IO26(A19)A1IO39(A3)
IO27(A17)A2IO34(A6)
  • A3の変更用ジャンパは基板表に設置されています。

http://trac.switch-science.com/raw-attachment/wiki/espr_one32/IMG_5186_sj.png

  • デフォルトでは右側が導通するようになっています。
左のパッドArduinoのピン右側のパッド
IO35(A7)A0IO4(A10)
  • 例えば、ESP32のタッチ入力 T0 が使いたい、となった場合は以下のように考えます。
    1. T0 が使えるのは ESP32 の IO4 だけである。
    2. IO4 が割り当てられているのは、上の表より、ArduinoのA3である
    3. よって、スケッチにはT0と記述し、基板上のA3をタッチするとタッチ検出ができる

なんでこういう配置なのか?

  • D0,D1
    • ESP32のSerialの推奨ピンです。
  • D2~D5
    • ESP32のSPI1(HSPI)の推奨ピンが、D10~D13と同じように並んでいます。
  • D6,D7
    • 起動モード選択用なので、ジャンパで外部と切り離せるようになっています。タッチ入力は起動後も利用できるので、全く引き出さないのはもったいないという判断です。
  • D8,D9
    • Serial1の出力を並べました。
  • 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
    • 割り当てられるピンが不足したため、アナログ入力機能は省きI<sup>2</sup>Cおよびデジタル入出力専用としました。
  • 切り替え先のIO34,35,336,39
    • 内部ではADC1系統と分類されているADCです。ADC2から切り替えて使います。信号出力ができないため、低優先度としました。

Attachments (4)