PCB Design – Custom ESP32 Board with FT2232H Chip for JTAG Debugging

esp32jtagpcb-design

I am currently involved in designing a custom ESP32 board (ESP32-WROOM-32E) and adding the FT2232H chip for JTAG debugging to avoid having to get a FT2232H breakout board or ESP-PROG.

I have a question. What are EECS, EECLK, EEDATA pins for in the FT2232H chip and do I need it for JTAG or is it for another protocol? Ive read online that is for EEPROM which has something to do with temporary memory and programming.

edit:
Not sure if I can just copy the schematics of an ESP-PROG or other FT2232H breakout boards since they use the FT2232H for other purposes like USB to UART (we are already using cp210x) and probably more.

Best Answer

Fielded this exact question at work this week (although it was a programming interface for a PIC, not an ESP).

Yes, you need to attach an EEPROM to the FT2232H. While it's considered optional, in this scenario it's quite important to have. The reason is that the EEPROM defines the idle states for the signal and GPIO lines of your programming port. If you omit the EEPROM, you'll risk a situation where you can program and debug your board just fine when the debug USB connection is active, but as soon as you turn off the USB debugger, your chip goes into reset and doesn't work.

The EEPROM provides some nice additional capabilities as well, such as the ability to set string descriptors so you can distinguish this FTDI virtual serial port from others attached to the same USB host.

Related Topic