ESP32 16MB搭載! Universal ESP32duino 【Arduino 互換型 ブレークアウトボード】

ESP32 WROOM-32E (16MB Flash) 搭載の Arduino互換ブレークアウトボード Universal ESP32duino を作りました。 JTAGデバッグ用のピンも出ています! Universalno 同様 これ一枚に部品も実装することが出来, 手軽にプロトタイプを作成することが出来ます!

説明!


設計思想は Universalno と同じで, 最小の部品構成で安く手軽に使えるブレークアウトボードです。

ESP32 は Wi-Fi や Bluetooth が使え, 2つのコアを搭載し 非常にパワフルに使うことが出来るため, メモリ容量が足りなくなりがちです。 そのため, この Universal ESP32duino では 16MB の Flash を搭載しました! FW OTA のために メモリを二重化したり, メモリをSDカードのようにファイルシステムとして使っても十分な余裕があります!

ESP32 モジュールは 電波改善番の WROOM-32E を搭載!
さらに モジュール全ピン 引き出し済みです!

また, ESP32 は豊富なペリフェラルとメモリ容量で かなり複雑なプログラムをすることも出来るのですが, 意図せぬ不具合が発生した時に 切り分けを行うのが難しく, printf を随所に仕掛けるなどして地道にデバッグを行う必要がありました。

この Universal ESP32duino では, Ghz2000製 ハイパワーUSBシリアル デバッガー を使えば, 動作中のマイコンのメモリを見たり, プログラム上にブレークポイントを仕掛けて, プログラムを止めたり, 1行ごと実行することができます!

VS Code でESP32 をデバッグしている様子。 loop() の if文の上 11行目でブレークポイントを仕掛け, 1行づつステップ実行をしている。

これにより, 今まで コンパイルして実行, printf デバッグを確認, プログラム修正, コンパイルして実行 と 非常に時間と手間がかかっていた作業が, 一気に効率化することが出来ます !

また, Ghz2000 のハイパワーUSBシリアルデバッガを使用すると 差し込むだけですぐにデバッグを始めることができます!

 

書き込み・デバッグ の仕方


通常のシリアル変換アダプタを使用する場合

基板側の1列目 (6ピン) を使用してシリアルで書き込みすることが出来ます。

ハイパワーUSBシリアルデバッガ を使用する場合

通常の書き込み機として使用する場合は, 2つ見えるシリアルポートの 数字の大きい方を指定して書き込みや, シリアルモニター を使います。
また VS Code 等を使用して デバッグを行うことが出来ます。 詳しくはこちらの記事を御覧ください
※現在執筆中

ピンアサイン


WROOM-32D のモジュールのピンは全ピン 引き出し済み! ピンアサインは以下の図のようになっています。 また, それぞれの主な機能は以下の表のとおりです。

 

GPIO Pad Name Function2 Function 4 Function 5 Function 6 Reset RTC/
Analog
0 GPIO0 CLK_OUT1 EMAC_TX_CLK Pullup Y
1 U0TXD CLK_OUT3 EMAC_RXD2 Pullup
2 GPIO2 HSPIWP HS2_DATA0 SD_DATA0 Pulldown Y
3 U0RXD CLK_OUT2 Pullup
4 GPIO4 HSPIHD HS2_DATA1 SD_DATA1 EMAC_TX_ER Pulldown Y
5 GPIO5 VSPICS0 HS1_DATA6 EMAC_RX_CLK Pullup
6 SD_CLK SPICLK HS1_CLK U1CTS Pullup
7 SD_DATA_0 SPIQ HS1_DATA0 U2RTS Pullup
8 SD_DATA_1 SPID HS1_DATA1 U2CTS Pullup
9 SD_DATA_2 SPIHD HS1_DATA2 U1RXD Pullup
10 SD_DATA_3 SPIWP HS1_DATA3 U1TXD Pullup
11 SD_CMD SPICS0 HS1_CMD U1RTS Pullup
12 MTDI HSPIQ HS2_DATA2 SD_DATA2 EMAC_TXD3 Pulldown Y
13 MTCK HSPID HS2_DATA3 SD_DATA3 EMAC_RX_ER Input Y
14 MTMS HSPICLK HS2_CLK SD_CLK EMAC_TXD2 Input Y
15 MTDO HSPICS0 HS2_CMD SD_CMD EMAC_RXD3 Pullup Y
16 GPIO16 HS1_DATA4 U2RXD EMAC_CLK_OUT Input
17 GPIO17 HS1_DATA5 U2TXD EMAC_CLK_180 Input
18 GPIO18 VSPICLK HS1_DATA7 Input
19 GPIO19 VSPIQ U0CTS EMAC_TXD0 Input
21 GPIO21 VSPIHD EMAC_TX_EN Input
22 GPIO22 VSPIWP U0RTS EMAC_TXD1 Input
23 GPIO23 VSPID HS1_STROBE Input
25 GPIO25 EMAC_RXD0 Disable Y
26 GPIO26 EMAC_RXD1 Disable Y
27 GPIO27 EMAC_RX_DV Input Y
32 32K_XP Disable Y
33 32K_XN Disable Y
34 VDET_1 Disable Y Input Only
35 VDET_2 Disable Y Input Only
36 SENSOR_VP Disable Y Input Only
37 SENSOR_CAPP Disable Y Input Only
38 SENSOR_CAPN Disable Y Input Only
39 SENSOR_VN Disable Y Input Only

 

 

 

レイアウトと部品表


レイアウトと部品表はこちらです。

USB Micro-B の端子は電源供給用です。 書き込み等はUSBシリアル変換を使用してください。

部品番号 名前 コメント 注文番号
BOARD 本基板 ハイパワーUSBシリアル基板
ESP32 WROOM-32E 16MB 版
IC1 3.3V 1117 レギュレーター
C3, C4 100uF セラミックコンデンサ
C1, C2 0.1uF セラミックコンデンサ
C5, C6 クリスタル用 コンデンサ ※必要に応じて
Q1 32.768kHz 時計用クリスタル ※必要に応じて
SW1, SW2 OmronSW スイッチ
R1, R2, R3, R4, 10KΩ チップ抵抗
T1, T2 2N7000 n-ch FET
Socket 1 1 x 8 ピンソケット
Socket 2, 4 1 x 10 ピンソケット
Socket 3 1 x 6 ピンソケット
PinHeader 2 x 6 ピンヘッダ
USB USB Micro Type B レセプタクル
USB-MicroB USB MicroB USB MicroB コネクタ  ※電源用

 

回路図


回路図はこちら

コメントを残す