Jump to content

Raspberry Pi Microcontrollers

Raspberry Pi Pico Series

  • Raspberry Pi Pico
  • Raspberry Pi Pico 2

Debugging

Using the Raspberry Pi Debug Probe

The Debug Probe is a RP2040 based USB-to-UART/SWD board for connecting the USB slot of a development machine to the SWD or UART pins of a target device.

Using A Pico To Debug Another Pico

A Pico can be used to debug another Pico (a.k.a. target device) by flashing it with the debugprobe binary and wiring to the target Pico as shown below.

A Raspberry Pi Pico wired to debug another Pico

From the debugger Pico to the target Pico,

  • pin #4 (GP2) connects to pin SWCLK,
  • pin #5 (GP3) connects to SWDIO,
  • pin #6 (GP4, UART1 TX) connects to pin #2 (GP1, UART0 RX),
  • pin #7 (GP5, UART1 RX) connects to pin #1 (GP0, UART0, TX).


The debugger Pico serves both as a USB-to-SWD and USB-to-UART bridge to the target device. The development machine, therefore, needs to be connected via USB only to the debugger Pico. Console output on the target Pico is relayed through the debugger. It is possible, though, to connect a second USB cable from the development machine to the target device for (simultaneous) direct access to the console output. This debugger setup works not just with Pico targets but with any microcontroller that supports the CMSIS-DAP protocol over SWD.

Software Tools for Debugging

Whether we use the Raspberry Pi Debug Probe or a spare Pico as debug probe, the software tools used for debugging are the same:

  • openocd
Cookies help us deliver our services. By using our services, you agree to our use of cookies.