1. Home
  2. Coding
  3. JTAG debugging

JTAG debugging

The Unexpected Maker ESP32-S3 boards all support USB Serial JTAG debugging. USB Serial JTAG debugging is just like using JTAG header pins, but via the USB interface instead, so no wiring is needed, and no external HW probe like a J-LINK or ESP-Prog is needed. Any ESP32-S3 board that exposes native USB supports USB Serial JTAG.

Espressif already provide great documentation on how this all works using open source tools like OpenOCD and ESP GDB, when developing with the ESP-IDF.

It’s a pretty advanced topic for sure, but if you require more advanced runtime code debugging that printf and serial logging, this is what you want to implement.

What about PlatformIO?

There are also docs available for installing and using Serial JTAG to debug your PlatformIO code as well.

Make sure you’d followed the correct Espressif platform installation for your PlatformIO project for this to work.

Note: Setting up and using Serial JTAG is a advanced process. Consider if you really need this level of debugging before going down this path.

So why does the ProS3 have JTAG pins exposed as well?

Some folks prefer to use an external HW probe like a J-Link to do debugging, and often this can be preferable, if the code you are debugging is USB related, so you might need the USB running not in Serial JTAG mode.

Updated on August 16, 2023

Related Articles