前回はざっくりと作りたい基板の概要を考えましたが、今回はもう少し細かく回路の仕様を考えていきます。
データシートはEspressif Systemsのウェブサイトで入手できます。
https://espressif.com/sites/default/files/documentation/esp_wroom_32_datasheet_en.pdf
さしあたって必要なのは、2のブートモード設定を変更できるようにすることですね。
他はデフォルトのままで良さそうです。
上記Strapping Pinsの動作設定は「電源オフかシャットダウン時まで保持する」と記載があるので、ENピンをLレベルにするとリセットがかかると考えます。(リセットがかかるとの記載は見つからないですが)
なので、ENピン=リセット信号ということで進めます。
電源入力 : USBバスパワー駆動にはせず、外部から5V供給する
(バスパワーにも対応できるようにはしておく)
電源電圧 : DC5V入力、内部で3.3V生成
レギュレータ : 3.3V出力、1A以上のレギュレータ
電源保護 : ポリスイッチ、逆流防止ダイオード
USBインターフェース : USB-シリアル変換チップを使用
USBコネクタ : Aコネクタ(オス)
IOコネクタ : 2.54mmピッチピンヘッダ 1列20ピン×2個
ESP-WROOM-32のI/Oを全て引き出す
スイッチ : リセット用タクトスイッチ(EN)
ブートモード選択用スライドスイッチ(IO0)
LED : 電源確認用、シリアル通信確認用

ESP-WROOM-32は電源投入時やWiFiのオンオフで突入電流が結構大きいという話を聞きますので、通信用のUSBからは電源は取らずに、電源コネクタを設けて外部から5V供給する形にしようと考えています。

次 > 部品選定
前 > その1
データシート確認
最初に、ESP-WROOM-32のデータシートを確認しましょう。データシートはEspressif Systemsのウェブサイトで入手できます。
https://espressif.com/sites/default/files/documentation/esp_wroom_32_datasheet_en.pdf
Strapping Pins
パワーオンリセット時に特定のピン状態で内部の動作設定をするようです。- MTDIピン : 内部LDOの設定(3.3V/1.8V)
- GPIO0、GPIO2ピン : ブートモードの設定
- MTDOピン : ブート中のログ設定
- MTDO、GPIO5ピン : SDIOインターフェースの設定
さしあたって必要なのは、2のブートモード設定を変更できるようにすることですね。
他はデフォルトのままで良さそうです。
ENピン
3番ピンのENピンはイネーブル信号ですが、Active Highなので「H:通常使用時、L:シャットダウン」ということでしょう。上記Strapping Pinsの動作設定は「電源オフかシャットダウン時まで保持する」と記載があるので、ENピンをLレベルにするとリセットがかかると考えます。(リセットがかかるとの記載は見つからないですが)
なので、ENピン=リセット信号ということで進めます。
必要な周辺回路
以上の確認した内容から最低限下記の周辺回路が必要になります。- ブートモード設定用回路(スイッチ)
- リセット回路
仕様
回路の仕様は下記のように考えました。電源入力 : USBバスパワー駆動にはせず、外部から5V供給する
(バスパワーにも対応できるようにはしておく)
電源電圧 : DC5V入力、内部で3.3V生成
レギュレータ : 3.3V出力、1A以上のレギュレータ
電源保護 : ポリスイッチ、逆流防止ダイオード
USBインターフェース : USB-シリアル変換チップを使用
USBコネクタ : Aコネクタ(オス)
IOコネクタ : 2.54mmピッチピンヘッダ 1列20ピン×2個
ESP-WROOM-32のI/Oを全て引き出す
スイッチ : リセット用タクトスイッチ(EN)
ブートモード選択用スライドスイッチ(IO0)
LED : 電源確認用、シリアル通信確認用
基板イメージ
まだ考え中ですが、下記のような感じでUSBメモリのようにPCに直結できるようなタイプを考えています。
ESP-WROOM-32は電源投入時やWiFiのオンオフで突入電流が結構大きいという話を聞きますので、通信用のUSBからは電源は取らずに、電源コネクタを設けて外部から5V供給する形にしようと考えています。
ブロック図(前回よりもう少し詳しく記載しました)

次 > 部品選定
前 > その1