IDE 2.3.0 debugging esp32s3 using built-in usb jtag

Thanks @tcornall! Support for a more powerful and flexible system of configuring Arduino boards platforms for use with the Arduino IDE 2.x integrated sketch debugger was added in Arduino IDE 2.3.0. Although the previous system is still generally supported, the initial debugger support implementation in the "esp32" boards platform had to use a quite hacky approach in order to overcome the limitations of the previous system and that initial implementation was broken by the changes in Arduino IDE 2.3.0. This is the reason why the debugging experience with ESP32 boards in Arduino IDE 2.3.0 is currently not very user friendly.

The "esp32" boards platform has already been updated to a much better approach taking advantage of the new system:

That pull request was merged earlier today, but there hasn't been a new release of the "esp32" boards platform since that time. Since you already have found a way to proceed with the latest release versions, you are probably happy enough to carry on with that until the situation improves with the next release of the "esp32" boards platform, but for anyone else who is struggling with that I can offer two alternatives:

Alternative A: Use Arduino IDE 2.2.1

As I mentioned above, the ESP32 debugging experience is currently more friendly with Arduino IDE 2.2.1. You can download Arduino IDE 2.2.1 from the links listed under the "Assets" section of the 2.2.1 release page in the IDE's GitHub repository:

You will get an update offer when you start Arduino IDE 2.2.1. You must decline that offer otherwise it will just update to 2.3.0.

You should watch for a new release of the "esp32" and/or "Arduino ESP32 Boards" (if you are using the Nano ESP32) platforms. Once that release happens, update to Arduino IDE 2.3.0 again.


:exclamation: Arduino IDE >=2.3.0 is required for debugging boards of the "Arduino Mbed OS" boards platforms. If you want to debug those boards in addition to ESP32 boards, you can keep your Arduino IDE 2.3.0 installation in place in addition to the 2.2.1 installation and use the appropriate IDE version for the debugging session with each board.


Alternative B: Use the development version of the "esp32" platform

The new debugger system is already in place in the development version of the "esp32" boards platform. Advanced users can follow the manual installation instructions here to get the development version of the platform:

https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html#windows-manual-installation


:exclamation: This version of the platform is primarily intended to be used for beta testing and it might be unstable or not well supported.