ESP32 をデバッグ出来る ハイパワーUSBシリアル デバッガー を作りました

ESP32 の開発効率を上げる デバッグが出来る ハイパワーUSB シリアル デバッガー を作りました。
従来のハイパワーシリアル同様 3.3Vの電流がたくさん取り出せ, ESP8266 や Arduino UNO の書き込みもこれ一つで可能です。 Type-C と Micro B の2種類を用意しました。

説明!


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

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

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

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

また, Ghz2000 の Universal ESP32duino を使用すると このデバッガを差し込むだけですぐにデバッグを始めることができます!

 

また, 従来の Ghz2000製 ハイパワーUSB シリアル変換 同様, 3.3Vの電源ソースには 大容量の三端子レギュレーター 1117 を搭載しており, 最大800mAもの大電流を流すことが出来ます。
これにより, ESP8266 や 更に消費電力の増えた ESP32 でも問題なくUSBケーブル 1本で書き込み,デバッグすることが出来ます!

※USB接続のためホスト側の供給能力が上限となります。

また, 基板端側の1列目だけを使用することで, ESP32 だけでなく, ESP8266 や そのArduino型互換機 である Universal ESPduino , Arduino UNO 互換機の Universalno の書き込み機としても使用することが出来ます。

※FT2232HL には シリアルポートが2つ用意されていますが, 2つ目の方が書き込み/UART 接続に使われています。

基板裏も同様, CTS と RTS を切り替えるショートジャンパーがあります。
こちらは ESP8266 や ESP32 のリセットに合わせて RTS がデフォルトになっています。
Arduino pro mini 等では CTS に切り替える必要がある場合があります。

これ一つで マルチな活躍が期待できます!

ドライバのインストール


シリアル変換IC は FT2232HL です. 何もしなくても使えることが多いですが, もしドライバが当たらない場合は, Windows, MAC, Linux のドライバは以下からダウンロードしてインストールしてください。

FTDI ドライバ ダウンロード

使い方


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

は, 基板側の1列目 (6ピン) を使用してシリアル通信することが出来ます。 RST / CTS の切り替えは 基板裏側のショートパターンを変更してください。 ESP系で使用する場合は デフォルト設定の RTSです。 電圧は 3.3V で使用します。 Arduino UNOなどで使用する場合は 5V に切り替えて使用できます。

パソコンからは シリアルポートが2つ見えますが, 数字の多い方 (1番と2番 だったら 2番の方) が基板側のポートになります。 基板から遠い方のポートをシリアルポートとして使うことも出来ます。 その場合のピン配置は 下のピンアサインの章を確認してください。

ESP32 等のデバッグアダプタとして使用する場合

VS Code 等を使用して デバッグを行うことが出来ます。 詳しくはこちらの記事を御覧ください
※現在執筆中

ピンアサイン


ESP32 をデバッグする際には, 沢山の信号線をESP32に結線する必要があります。 ここで, ESP32を使用した Arduino互換基板の UniversalESP32duino を使うと以下のように接続するだけで 簡単にデバッグをすることが出来ます。

 

コネクタに出ているピンアサインはこの様になっています。

コネクタ番号 コネクタ信号名 FT2232HL 通常モード 対ESP32
1 GND GND
3 RTS (or CTS) 40:BDBUS2
41:BDBUS3
chB RTS#
chB CTS#
nodemcu
5 VCC (3.3/5) VCC
7 TXD 38:BDBUS0 chB TXD RXD 0
9 RXD 39:BDBUS1 chB RXD TXD 0
11 DTR 43:BDBUS4 chB DTR# noemcu
2 EN 28:ACBUS2 chA ** EN
4 TMS 19:ADBUS3 chA CTS# GPIO 14
6 TDI 17:ADBUS1 chA RXD GPIO 12
8 TDO 18:ADBUS2 chA RTS# GPIO 15
10 TCK 16:ADBUS0 chA TXD GPIO 13
12 NC

 

レイアウトと部品表


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

USB Type-C バージョンと USB Micro B バージョンがあります。
R8, R9 は Type-C バージョンだけに存在します。

部品番号 名前 コメント 注文番号
BOARD 本基板 ハイパワーUSBシリアル基板
IC1 FT2232HL FTDI USB Serial IC
IC2 3.3V 1117 レギュレーター
C1 100uF セラミックコンデンサ
C2, C4, C5, C6,
C7, C10, C11, C13
0.1uF セラミックコンデンサ
C3 10uF セラミックコンデンサ
C8, C9, C12 4.7uF セラミックコンデンサ
C14, C15 27pF セラミックコンデンサ
R1, R5, R6, R7, 10KΩ チップ抵抗
R2 12KΩ 1% チップ抵抗
R3, R4 330Ω チップ抵抗
R8, R9 5.1KΩ チップ抵抗 ※microB は無し
L1, L2 1KΩ チップインダクタ
LED1, LED2 赤・緑 LED チップLED
Q1 12.000MHz 水晶発振子
USB USB Micro Type B レセプタクル
JP1 2列 x 6 ピンソケット L字
JP2 1列 x 3 ピンヘッダ 細くないほうが良い
USB-C 16Pin USB-C USB-Cコネクタ  ※どちらか
USB-MicroB USB MicroB USB MicroB コネクタ  ※どちらか
ジャンパーピン 電圧切り替えに

 

回路図


回路図はこちら

コメントを残す