element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Blog Seeed Studio XIAO RP2040 as DebugProbe
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
GPIO Pinout
Raspberry Pi Wishlist
Comparison Chart
Quiz
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Jan Cumps
  • Date Created: 27 Feb 2023 10:20 PM Date Created
  • Views 26868 views
  • Likes 14 likes
  • Comments 4 comments
Related
Recommended
  • pico_eurocard
  • vscode
  • picoprobe
  • xiao_rp2040

Seeed Studio XIAO RP2040 as DebugProbe

Jan Cumps
Jan Cumps
27 Feb 2023
Seeed Studio XIAO RP2040 as DebugProbe

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:
#define PROBE_UART_TX 0
#define PROBE_UART_RX 1
#define PROBE_UART_INTERFACE uart0
  • the board is set to XIAO
set(PICO_BOARD seeed_xiao_rp2040 CACHE STRING "Board type")

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.

image

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 .

  • Sign in to reply
  • Jan Cumps
    Jan Cumps 3 months ago

    I created a new port of the latest version of Debugprobe (Raspberry renamed the firmware from Picoprobe), to Seeed XIAO RP2040.

    drop-in firmware binary (for XIAO RP2040 only - don't use for a Pico): https://github.com/jancumps/debugprobe/releases/tag/v2.2.2_xiao_rp2040

    Firmware is compatible with SDK 2.1.1 and the VSCode Pico Extension.

    Differences: https://github.com/jancumps/debugprobe/compare/master...v2.2.2_xiao_rp2040

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Jan Cumps
    Jan Cumps over 2 years ago

    Raspberry is preparing the picoprobe project for different boards.
    In their github picoprobe branch, they currently have include files for the Pico, for their Debug Probe and for a theoretical Example board.
    There's no mechanism to switch yet - they are suggesting a mechanism that includes the right file based on the board selected in the CMake file (or the SDK default: pico)

    Once that's made it to their code base, my project is no longer needed. I can then submit a pull request with a board_seeed_xiao_rp2040_config.h, and the XIAO version can be built from the original raspberry project.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz over 2 years ago in reply to shabaz

    (Can't edit). Also, was wondering if it's time for a Pico Eurocard 3.0 revision, now that we've been using the 2.x boards for quite some time, and have learned any benefits and limitations. 

    Version 3.0 could be more collaborative. Also, the eurocard size is getting restrictive! It would be nice for the board to be slightly bigger, and not have to squeeze the power supplies so much on the left side. The latest V2.x has much larger silkscreen, but I have not have any board manufactured for it. My main request for a V3 would be to allow a standard sized perfboard or stripboard to fit better, (and also so that I can have a couple of daughter cards designed up for a few things I want).

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz over 2 years ago

    Hi Jan,

    This is great that you've documented this! I'm sure we will need to rebuild again at some point as raspberrypi org add new features to it (hopefully). The XIAO board is perfect as a PicoProbe. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube