Which Arduino Boards Support Debugging? Here’s The Complete List

Even if you’re a programming wizard with decades of coding experience, you’re still bound to make mistakes when writing the code. Thankfully, with Arduino, there are several debugging techniques you can use to get your program up and running in no time. One of the most common ways is to go through the Arduino IDE’s compiler messages to check whether there’s an issue with the syntax. You can also go down more traditional routes, using trace code, where you print messages to the serial monitor, or signal through a GPIO pin that parts of your sketch run as expected. Although these techniques do a great job of solving your code issues at times, they have limitations. For instance, you can’t use the serial monitor if you already have a component connected to the RX/TX pins. The extra lines of code can also interfere with how your overall program executes. And often, the compiler messages can be vague and unhelpful.

Luckily for you, Arduino offers a more straightforward alternative: the Debugger feature in the second version of its IDE. The Debugger helps you to betterunderstand your Arduino code, and simplifies the debugging process. However, it isn’t available for all Arduino boards. Here’s a complete list of the only boards you can use with the Debugger feature.

group of Arduino boards

Arduino boards with Arduino IDE 2 Debugger support

Arduino IDE 2’s Debugger feature works exclusively with boards using an SAMD microcontroller. This includes the following:

Unfortunately, the more popular boards like the Uno, classic Nano, and Mega 2560 don’t support the Debugger feature as they’re powered by an AVR microcontroller.

Arduino Debugger in IDE 2

How are the boards used with the Arduino IDE 2 Debugger?

To use the Debugger on the Arduino IDE 2, you generally need two hardware components: your Debugger-compatible Arduino board and a debugger probe. The probe connects to the Arduino board and allows you to thoroughly analyze the uploaded sketch while the code is executing. Arduino recommends either a Segger J-Link or Atmel-ICE debugger probe, both of which use the Serial Wire Debug (SWD) interface to communicate to your board. However, the SWD interface on the MKR and Nano boards doesn’t come with pre-soldered pin headers (as it isn’t typically used when you’re justgetting started with Arduino). That means you can’t attach anything to it out of the box. You have to use aMKR Proto Shield(applicable only for MKR boards) or solder some male headers onto the board for the probe to connect to.

You won’t have to install anything else other than the Arduino IDE 2 if you’re using the Atmel-ICE probe. For the J-Link probe, however, you need theJ-Link GDB Serveron top of the Arduino desktop app. Once the Arduino board and your probe are connected and the necessary software is installed, you can proceed with thedebugging process.

It’s worth mentioning that the debugger probes are only required for MKR and Nano boards. The Arduino Zero, which is already integrated with a built-in debugger, can be used with the Arduino IDE 2 Debugger without any extra hardware. To debug this board, you simply connect it to your computer as you would normally do when uploading a code and then start the debugging process as usual.