Hardware Design with the RP2040 Part 3: Soldering and Testing
2021-07-06 | By ShawnHymel
License: Attribution
Previously, we talked about how to create a layout for your own RP2040-based PCB design.
In this follow-on article, I'll show you some tips for soldering and reworking the Raspberry Pi RP2040 and some lessons learned on component selection.
The board schematic and layout files (created in KiCad v5.1) can be found here:
https://github.com/ShawnHymel/rpi-pico-debugger-shoe
See here if you would like to view this content in video form:
Recommended Reading
Before getting started, we highly recommend going over some documents (or videos) or having them handy to use as a reference:
- RP2040 Datasheet - Contains useful electrical and mechanical information for the RP2040 chip
- Hardware Design with RP2040 - Official guide from Raspberry Pi for creating a PCB using the RP2040
Soldering with a Reflow Oven
I used a stencil ordered from OSH Stencils to apply solder paste. I put a bead of solder paste on top of the stencil and swiped it using the provided spreader (a credit card would also work).
Once done, I carefully lifted the stencil and placed the parts on their associated footprints. You can see from the image that I used 3 other boards to create a jig to hold the PCB in place while I applied solder paste and populated the components.
From there, I put the populated PCB into my reflow oven. The oven in the photo is a modified toaster oven using the Whizoo Controleo3 kit.
I let the oven run the lead-free soldering profile. When it was done, I removed the board using some pliers (careful, the board and oven will still be hot!).
Inspection and Rework
I used a loupe and my camera’s macro lens to inspect the solder work. My oven seems to run a little hot, which is why I think there is some discoloration on the solder mask and joints. Additionally, I noticed some bridging between connections on the RP2040 QFN package.
There are a few ways to fix bridging on a QFN. The first possible technique is to reseat the part using a hot air reflow station. Flux all the pins and pre-soak the board for a couple of minutes using hot air from the station (or a hot plate, if you have one).
Next, slowly bring the nozzle down to about 0.5 - 0.75 inches away from the component while circling it around the edges of the part. The solder should reflow, allowing you to tap it lightly with some tweezers. This should break and reform any solder joints.
Slowly lift the nozzle away from the component making the same small circles. Let the board cool and then clean off any residual flux as needed.
You can also flux one of the sides where you see bridging. Use a clean (and shiny) small conical or chisel tip on a soldering iron to break the bridges by dragging it across the row of pins and pads.
Testing and Memory Issues
The RP2040 comes with the UF2 bootloader out of the box, which means if you place the part into bootloader mode, it will enumerate on your computer as a mass storage device.
I discovered that while the UF2 bootloader works, I could not run programs from the flash memory. As it turns out, my Macronix flash chip was not a true drop-in replacement for the Winbond part. To use the Macronix, I would need to re-write some header files for the board definition package in order to get the execute in place (XIP) working. That is a project for a future time.
Instead, I ordered some Winbond flash memory chips and replaced the Macronix chip with one.
This allowed me to successfully upload programs and run them from the flash memory chip.
With everything working, I soldered pass-through/stacking headers to my board so that I could place a Raspberry Pi Pico on top of it.
I connected the SWD debugging pins using some simple jumper wires.
From there, I could load a program in debugging mode using VS Code.
This allowed me to perform step-through debugging of my target Raspberry Pi Pico!
Conclusion
I hope these guides have helped you (or at least inspired you) to create your own RP2040-based PCB. Soldering the QFN can be tricky, but it can be done with the right tools!
Recommended Reading
- Hardware Design with the RP2040 Part 1: Schematic
- Hardware Design with the RP2040 Part 2: PCB Layout
Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.
Visit TechForum