Zadig Needed for debugging?


I have an ESP32-S3 board with two USB type C ports. The one labeled “USB” comes up in Device Manager as “USB JTAG/serial debug unit”.

Do I need to provide a driver using Zadig? If so, what would it be? I have been assuming that this is not necessary since it is already has the debugger personality.


I’d just try it out and load WinUSB / libUSB / libUSBK drivers for that device. You can always uninstall the drivers in the Windows device manager (right click → remove device → with the “delete driver software” checkmark ticket).

Hi Max,

I tried all three on USB JTAG/serial debug unit (interface 0) with no luck. Out of sheer frustration I tried the same on interface 2 (the other JTAG that comes up when I plug in the ESP board. I am debugging!

Is it because I have the driver on both interfaces? just interface 2? Will it work in 5 minutes? Tomorrow? I’ll count my victories while I have it!


Did some experimenting and as far as I can tell I need both “libusbK” on debug interface 0 and “libusb-win32” on interface 2.

There is one peculiarity though. When I start debugging the debugger does not seem to attach. It stays this way until a add or remove a breakpoint in main.cpp. Even if the break point is on a line that does not get executed. Add/remove the breakpoint triggers something and the program breaks on the first line in loop(). ( I do have “debug_init_break = tbreak loop” in platformio.ini. )

Any ideas?