概要
オリジナルESP32-WROOM-32(32E・32D)シリーズのボードを作るときにテンプレとして使用できるやつ、とりあえずこれマネすれば動くと思います。
ESP32S3やESP32C3を使いたい場合は回路が少し変わってくるため別の記事にします。
自動書き込み回路
USB信号をシリアル変換ICでUART信号にしてます。
トランジスタ2個を使ってロジック回路を組みこれにシリアル変換ICのDTR・RTS信号、ESP32のEN・BOOTピンを接続して自動書き込み回路を構築してます。
使用部品
- USB Type-Cコネクタ
- CH340K
- 抵抗・コンデンサ・トランジスタ
CH340Kについているコンデンサは必ずついてないと動かないので注意。
トランジスタはS8050やMMBT3904あたりのNPNトランジスタを使えばいいと思います。
基板のスペースに余裕があればこんな感じにスイッチを付けて手動でもできるようにしてると尚Good。
[追記] 電源部分追加するの忘れてましたすみません。
こんな感じに3端子レギュレータを付けます。CH340Kの内部レギュレータは基本的にないものとして扱ってください。
マイコン
ブートに関わるピンについて
IO0番のBOOTピンの他にも起動時に特定のピンをH/Lにすることによってモードが切り替わります。IO0以外は電子工作やロボコンでは特に操作する必要はないので何も接続しないのが無難です。どうしても使用したい場合は起動時のH/Lに注意しましょう。以下にそれらのピンを示します。
| ピン番号 | 機能 | 内部H/L | メモ |
|---|---|---|---|
| IO0 | ブートモード選択 | H(プルアップ) | Lで書き込み、Hで通常起動。 |
| IO2 | ブートモード補助 | L(プルダウン) | 書き込み時にLの必要あり。 |
| IO5 | ブートモード選択(SDIO) | H(プルアップ) | Hで内部フラッシュ、Lで外部フラッシュ使用(SDIOモード)。 |
| IO12 | フラッシュ電圧選択 | L(プルダウン) | Lで3.3V、Hで1.8V。ESP32は3.3VのみなのでHにしない。 |
| IO15 | ログ出力設定 | H(プルアップ) | 起動時のデバッグログ出力の有効/無効を選択できる。 |
その他GPIOについて
ESP32-WROOM-32には入力専用ピンがあります。これらのピンにLEDを接続しても動作させることは出来ません。
無銭機能使用時には利用できないADC2ではなくADC1が使われているため無線使用時のセンサの入力等に使用できます。また、これらのピンは内部プルアップ出来ないので外部にプルアップ抵抗をつけることに注意しましょう。
| ピン番号 | 機能 | メモ |
|---|---|---|
| IO34 | ADC1 | |
| IO35 | ADC1 | |
| IO36(VP) | ADC1 | 内部ホールセンサ(Positive) |
| IO39(VN) | ADC1 | 内部ホールセンサ(Negative) |
最後に
これで一応動きます。本当に最低限なので保護回路とか適宜追加していってください。自分ならESP32にパスコンをもっと追加したりUSBのVBUSに理想ダイオードICとコンデンサを追加して電源をもうすこし充実させますね。よい回路ライフを~
