SWD with PicoW on board products

Hi all … I really like the look of the Pimoroni Pico W on board products - especially the LED matrices. But I use C++ for Pico programming and always flash my using openocd and the SWD interface.

The Pico W on board products do not connect up the debug pins - has anyone got any tips about how these could be wired up?


Pretty sure (at least most of) the “Pico W On Board” stuff have the debug pads still exposed, so you could just solder on some fly leads.

Like you I’m more C++ than MicroPython, but I still just copy the uf2 over in bootsel mode because it’s easier than sorting out openocd… :-)

Yes, just wanted some pratical tips on how to solder some pins into the pads. Could just add some leads but pins are nicer!

@ahnlak Are you building on a pi? If so openocd is really simple and makes the build/flash cycle much faster. I’d recommend the debug probe since it gives you a serial port too.

Hey, I’ve been looking for the answer to this all day myself then stumble on someone asking the exact question on the same day :)

I have the debug probe so would love to just use the included stuff without soldering but seems not.

I do wonder if there is an easy way to just use the uf2 or elf files without unplugging, boostel and then flashing…

Looking at the back of my Unicorn, you could probably solder pins into the debug header - you’d have to do it with bare pins though, so you could reach the pads to solder them to.

And I have used openocd before (I’ve even got a PicoProbe set up … somewhere) but I only really dig that out if I hit an annoying bug I can’t squash offline. It probably slows down my build/debug cycle a bit, but the last thing my desk needs is more cables running across it :-)

For the same reason I created a pi-hat for the pico: GitHub - bablokb/pi-pico-devboard-hat: A PICO devboard-hat for the Raspberry Pi

No cables what so over, the hat connects the relevant pins of the pico and pi. This is of course no solution to the orginal question, it does not help for on board products. It is a real pity that Pimoroni not just breaks out the debug pins like they did on the Badger 2040.

If you take a male 3 pin header, and reverse it, long end down.
You should be able to carefully solder it in place.
Leaving the base on will hold all the pins up nice and straight, and in line.
Then just carefully push the black base part down.
With a bit of luck what’s left on top will be long enough to plug a female jumper into.

Is there such a thing as conducting slow-setting glue? If so, a drop in each of the holes then press some pins in and wait for the glue to set …

Can I ask how you do it? Does the reset button work without having to do the boostel?

I’m looking at making a project with Rust, but from what I can tell it should pretty much work the same.

The reset button just reboots, but it does mean you can hold down bootsel and tap reboot to get into bootsel mode, rather than faffing around unplugging things.

Debugging is not as deep as when you’re using openocd - you’re pretty much limited to blinking lights and dumping stuff to stdout, but I’m old enough to almost pre-date debuggers :-)

There is conductive glue (although I’ve never used it) - but the pads are pretty accessible, so it wouldn’t be too much of a nightmare to solder the pins in.

It would be nice if Pimoroni could add the headers on during manufacturing, but I suspect that would add several layers to the machining and make them more of a pain in the butt for them to put together.

I’m no expert on it. But I do believe any thing thats through hole, is an extra separate step, versus all the SMT stuff.

That’s great thanks. At least it’s not faffing with cables as you say :)