Skip to content
MCU Atlas

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.

Difficulty:BeginnerCost:Under $15Source available

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

Source: GitHub
License: unknown (custom/multiple – see repo)
Last verified: 10/16/2026
How to Build It
Debugprobe is Raspberry Pi's CMSIS-DAP firmware, used on the official Debug Probe and on any spare Pico. It gives you SWD debugging and a USB-UART bridge for Pico and other Arm microcontrollers, and works with OpenOCD, GDB and VS Code.

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. 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. 2

    Flash it

    Hold BOOTSEL while plugging in the probe or Pico, then drag the UF2 onto the drive that appears.

  3. 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. 4

    Debug

    Use OpenOCD with the cmsis-dap interface (or the Pico VS Code extension) to flash and debug the target over GDB.

  5. 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. 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.

Parts List (BOM)
Complete parts list from the creator
complete
PartQtyRoleEst. PriceBuy
1probe$12–$14View
1alternative$4–$6View
Estimated Total$12–$14 USD

Not included: 3D-printed case, wire, solder, USB cable

Download CSV

Related Projects

OpenMower: RTK GPS smart upgrade for cheap robot lawn mowers
Illustration
RASPBERRY PIPI-4Draft
Open-source upgrade that turns off-the-shelf robotic mowers into RTK GPS-accurate, map-based lawn robots.
Expert·$250+·Code
4 parts listed
PicoDVI: bit-banged DVI/HDMI video from a Raspberry Pi Pico
Illustration
RASPBERRY PI PICORP2040Draft
Generates DVI (HDMI) video signals from a bare RP2040 Pico using the PIO state machines – no video chip needed.
Advanced·Cost varies·Code
2 parts listed
PicoSynth: polyphonic wavetable synth on Raspberry Pi Pico 2
Illustration
RASPBERRY PI PICORP2350Draft
A 64-voice, 16-channel multi-timbral wavetable synthesizer for the RP2350 Pico 2 with I2S or USB audio.
Advanced·Under $15·Code
2 parts listed