The Pi Pico Eurocard Development Board uses a Seeed XIAO RP2040 as debugger. shabaz posted an adapted version of the PicoProbe firmware binary on his github. In this post, I take a step back and fork the source of the original project. Then I do a port to the XIAO. The same as what shabaz did, with the source code changes documented.
edit 20250620: I created anew repo based on Raspberri Debugprobe V2.2.2. Blog is adapted.
(Raspberry renamed the firmware (and repo) from PicoProbe to Debugprobe.)
For the 20230227 version, xiao PicoProbe binary is here: download.
What changes are needed:
- because the xiao doesn't break out GP04 and GP05, the UART settings are moved to GP0 and GP1:
- the board is set to XIAO
What do you get:
A debugger and a serial COM device. You can step through code, and at the same time, route UART (stdio) output to a COM port. When you use an IDE with monitor / terminal functionality (VS Code?), you can step through your firmware and watch any println() output. Exactly the same as what a Debugprobe and the Raspberry Pi Debug Probe do (they use the same firmware).
What's on the github repositiry?
Source code:
My fork has a xiao branch where these source code changes are done. It's the default branch when you clone my repo.
git clone --recursive https://github.com/jancumps/picoprobe.git
The project uses the same cmake mechanisms as the Pico examples. If you are able to build those (from command line or from an IDE), you'll be able to build this project from source. Check out the xiao branch - that's where the changes for SEEED XIAO are made.
But building from code is not necessary:
Binary firmware:
I've pre-built the project, and used github's release functionality to host the binary. You can download it and copy it directly onto the XIAO.
Wiring
GP0 is the TX, GP1 the RX. All other pins are identical to the standard Debugprobe. This pin allocation matches the pico eurocard design.
Use with the SDK 1.5 installer and VSCode Extension
The firmware works out-of-box with the VSCode Extension Pico Debug (Cortex-Debug) debug profile. Tested with Pico1 and Pico2 (both ARM and RISC).
Also backwards compatible with the Windows SDK 1.5 installer's Pico Debug (Cortex-Debug) debug profile, For more info on the installer, check scottiebabe 's post Raspberry Pi Pico Windows Installer .