Pseudonymous maker "Negimeister" is working on building a custom DJ controller, but found themselves in need of a debug probe for its Raspberry Pi RP2040 microcontroller — so built their own, designed to sit inline on a USB Type-C port.
"I'm in the process of building a custom DJ controller with the [Raspberry Pi] RP2040 and along the way I built myself a debug probe," Negimeister explains of the project. "It uses the SBU [Sideband Use] pins on the USB [Type-]C connector for SWD [Serial Wire Debug]. It also has a USB hub on board, so I can connect everything with just one cable."
The idea behind the probe is simple: an on-board RP2040 microcontroller serves as the debugger, while a USB hub allows the device to connect both the on-board RP2040 and the device to be debugged to the host system along a single cable — making good use of the Sideband Use (SBU) pins for the SWD debug traffic, which can be carried alongside the USB signals.
"This is already making development an absolute breeze," Negimeister says of the probe. "I no longer need to include debug headers on boards and try to reach them in an assembled device. Instead I can just plug into the regular USB port and it just works (assuming I got the orientation right.) I'm sure this whole thing doesn't perfectly comply with USB standards, but so far it's working great!"
Both the probe and the DJ controller board are powered by the low-cost dual-core Raspberry Pi RP2040 microcontroller, which is included in their designs in a time-saving fashion: using a custom "compute module" board. "It basically just has an RP2040 and the required components on it," Negimeister explains, "and plugs into projects. Saves me from having to redo the circuit every time and paying for assembly."
More information on the debug probe is available on Negimeister's Reddit post.