Raspberry Pi Debug Probe: CMSIS-DAP for Pico and ARM
Official RP2040 firmware that turns a Pico (or the Debug Probe product) into a CMSIS-DAP SWD debugger.

Key Facts
- Chip: RP2040
- Protocol: CMSIS-DAP / SWD
- Product: Raspberry Pi Debug Probe
- Also: flash onto a spare Pico
About This Project
The Raspberry Pi Debug Probe firmware implements CMSIS-DAP over USB so you can debug and flash other microcontrollers (including another Pico) over SWD. You can buy the finished Debug Probe accessory or flash this firmware onto a spare Pico. It is the recommended debugger for Pico SDK development and works with OpenOCD and many IDEs.
Source & Attribution

Illustration
Parts Needed
- Raspberry Pi Debug Probe, or a spare Pico / Pico 2 to turn into one
- Jumper wires to the target's SWD and UART pins
- USB data cable
Steps
- 1
Get the firmware
Download a prebuilt UF2 from the releases: debugprobe.uf2 for the Debug Probe, or debugprobe_on_pico.uf2 / debugprobe_on_pico2.uf2 for a Pico.
- 2
Flash it
Hold BOOTSEL while plugging in the probe or Pico, then drag the UF2 onto the drive that appears.
- 3
Wire to the target
Connect the probe's SWCLK, SWDIO and GND to the target's SWD pins, and optionally its UART TX and RX for serial. The pin mapping for a Pico-based probe is in the Raspberry Pi docs.
- 4
Debug
Use OpenOCD with the cmsis-dap interface (or the Pico VS Code extension) to flash and debug the target over GDB.
- 5
Build it yourself (optional)
Clone with submodules, set PICO_SDK_PATH, then run cmake and make. Add -DPICO_BOARD=pico or pico2 for Pico builds, using a fresh build folder for Pico 2.
- 6
Tips
AutoBaud mode lets the UART bridge match the target's baud rate. Turn it on by setting the special custom baud rate given in the README.
Not included: 3D-printed case, wire, solder, USB cable
Related Projects


