Since the launch of Raspberry Pi Pico and RP2040 microcontroller in January 2021, many have been using one Pico to debug programs running on another Pico. Inspired by this trend, yesterday, Raspberry Pi officially launched the Raspberry Pi Debug Probe—a hardware debugger based on RP2040, priced at $12.

Although it is designed for Raspberry Pi Pico and other RP2040-based boards, this debugging probe can theoretically be used to debug any ARM-based microcontroller (as long as these microcontrollers provide an SWD port with 3V3 I/O).
Introduction
Debugging is necessary during programming, and most debuggers provide a common set of basic functions (stepping, breakpoints, variable and memory inspection), but the way these functions are provided depends on the language and operating environment you choose.
You might be using a high-level interpreted programming language like Python, where the debugging features are built directly into the runtime environment; if you are using a low-level compiled programming language like C, but your program runs under Linux, a debugger like gdb can interact with your program while it runs to provide debugging capabilities.
But what if your C program runs directly on the processor without an operating system (commonly referred to as bare-metal operation)? Or you are writing an operating system? In such cases, you need a way to access the debugging capabilities inherent to the processor itself, which is where the debugging probe comes into play.

What is a Debug Probe?
Modern Arm architecture controllers, including Raspberry Pi’s own RP2040, are built with Arm’s CoreSight debugging architecture, providing an Access Port (AP) on the chip for stepping, setting breakpoints, observing processor register values, and accessing memory and peripherals through the processor’s bus interface.
These microcontrollers provide an external Debug Port (DP) for external devices to probe through this interface. The Raspberry Pi Debug Probe features a 3-pin Serial Wire Debug (SWD) interface to connect to the chip’s DP port, while the other end connects via USB to a PC or Mac, allowing developers to debug the chip from the Host side.
The debug probe provides a bridge between the USB and SWD protocols. While it is not strictly required if your host is a Raspberry Pi (you can connect the target’s SWD port directly to the Raspberry Pi’s GPIO), connecting via USB is much more convenient. If you are using a PC or Mac, USB may even be your only option.

In addition to debugging, the Raspberry Pi Debug Probe can also serve as a USB-to-serial converter, establishing communication between a computer and microcontroller via the UART interface for debugging and diagnostics. This usage is particularly appealing to many developers who enjoy tinkering with development boards, and compared to some dedicated USB-to-serial converters, the Raspberry Pi’s price is also more affordable.
This small tool, priced at just a few dollars, comes with the main unit, a matching connection cable, and a small case for self-assembly. If you want to make your own cables, you can refer to their interface documentation. Interested developers can check the official website or wait for it to be listed on domestic e-commerce platforms.

References:
https://www.raspberrypi.com/news/raspberry-pi-debug-probe-a-plug-and-play-debug-kit-for-12/
https://baijiahao.baidu.com/s?id=1758409975794763810&wfr=spider&for=pc
Hardware Arsenal
DF Hardware Arsenal
Click to learn more👆
If anyone has something to say, feel free to leave a comment below!
Past Project Reviews
[Basic Series Tutorial] Introduction to Arduino
Create a Magical Floating Lamp with Arduino!
“Fewer and fewer people are playing with Arduino now!”
Build an Arduino robotic arm with touchscreen control
Arduino IDE 2.0 is here! Let’s see what new features it has!
Make an ‘Hollow Clock’ with only hands and no dial using Arduino
2022 First Project—Make an ‘Electromagnetic Cannon’ with Arduino and Electromagnetic Relay
Click to read👆