Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How are people using this in practice?

I’ve never worked with a BGA device. I’m guessing you need to design a board send it to say pcbway and then have the equipment to solder the bga in?



I built a custom RP2040-based board by designing it KiCad and then sending it off to JLCPCB to be fabbed and they assembled the SMT components. I didn't do a direct comparison, but it was cheap - cheap enough that it's possible that getting the board pre-assembled from JLC was cheaper than buying the raw parts in low quantities from Digikey and assembling it myself (which, given my experience level, would be pushing the edge of my capabilities). I made a second run recently and even added some through-hole to the assembly and the board cost was still single digit dollars per board. The major problem was that shipping prices from JLC seem to have gone up significantly in the past year.

Keep in mind that it's not just the RP2040 that is difficult to solder. To do a decent PCB layout you'll need to use very small passives in order to get the placement right. I did my layout with mostly 0402 resistors and capacitors - I know plenty of people are capable of hand-soldering those but I think it would be difficult for most. Perhaps easier if you had a decent microscope, which I do not have yet. I don't think my magnifying visor would be nearly enough.


> To do a decent PCB layout you'll need to use very small passives in order to get the placement right.

0402 (inches) is small but doable. They really start to feel like grains of sand at that point.

But I personally stick with 0805 and 0603 when doing my own board layouts. I can't say I've ever felt space constrained. The placement of decoupling capacitors can be a few mil off, and in fact the "extra space" for placement helps your tweezers anyway, so you don't really want to push everything so close together.

Especially for hobby projects, I don't think anyone is really in the business of counting up the savings of 0.01" in the hobby world. Like, how small are you actually aiming for, and is it really so bad that you can't add another 0.5" to your board?

--------

Professionals use 0201 (inches) for maximum flexibility and minimal sizes. So even 0402 is larger than professional projects. If we're all accepting "larger hobbyist sizes" anyway, might as well go all the way up to the much easier 0603 or 0805 parts.

While a 0402 is slightly larger than a grain of sand, I'd say 0805 is approximately the size of a grain of rice. So yeah, doable with tweezers and solder paste. Just imagine lining up dry rice and its well within the capabilities of most hobbyists.

Its just problematic when you get smaller than that.


> Especially for hobby projects, I don't think anyone is really in the business of counting up the savings of 0.01" in the hobby world. Like, how small are you actually aiming for, and is it really so bad that you can't add another 0.5" to your board?

It's not really about saving board space. Decoupling capacitors need to be placed "close" to the chip, and at higher clock frequencies this can be an issue. There's enough decoupling caps needed on a RP2040 that doing them in 0805 would require moving them quite a bit further away from the chip just to have room to place them all.

An ATmega (Arduino) at something like 8MHz is really forgiving and you can take a lot of liberties with the layout. The RP2040 runs much faster at 133MHz, so presumably the tolerances are much tighter. Admittedly, I didn't try a doing a design with 0805s for the RP2040 but I read enough from people more experienced than me that gave me the impression that compromising the layout with larger passives had a greater chance of things not working right.

Since assembly is so cheap at places like JLC these days, even in small quantities, it really wasn't worth the hassle. I've done many other boards by hand with 0805s and and agree they're pretty easy to deal with.


> Decoupling capacitors need to be placed "close" to the chip

All of these rules are just rules of thumb.

The "rule" is that your Power Delivery Network (PDN) needs to have low-enough impedance to function properly. High parallel capacitance and low series inductance/resistance. Longer leads increases inductance and resistance so closer is preferred.

But for even 100MHz designs, you're well under the size where 100mil or 0805 would cause any serious problem.

-------------

So the "secret" is that all faster designs (100MHz to 300MHz) have substantial on-package capacitance.

Take a look at this design, which I admit is Microchip/Atmel MCU, but its running at 300MHz and not just the relatively low 133MHz of the RP2040.

https://lcamtuf.coredump.cx/bob-the-cat/

Those are LARGE 1206 1uF capacitors. Which is actually scary to me because we're not looking at tight 100nF decoupling caps anymore but instead substantially relying upon "on-package" capacitance.

Still, it shows that lcamtuf was confident in this 300MHz processor handling far-away 1206 capacitors, showing how much wiggle room we have in practice in these designs.

You shouldn't worry about 100mil of movement of 0805 caps on a 133MHz design. After all, there are real designs that are closer to 500 mil that use 1206 caps on a 300MHz MCU.

--------

I'm honestly scared for lcamtuf here and would never design a board like this. But I'm really not worried about 0805 caps on relatively low speed 100MHz (or even 133MHz) MCUs. Especially if you're properly "teaming" them up so that their resistances are paralleled and inductances are paralleled. (Notice that lcamtuf's 300MHz design doesn't even have the 10x recommended parallel 100nF capacitors close to any of the pins!! He's really stretching the specs)

-----------

But yeah, my personal preference is majority of 0805s and 0603s for the "close" decoupling capacitors. I know there's plenty of wiggle room here (even if I'm not as aggressive as lcamtuf's designs).

If you're using PCBA from another shop, I guess its all "free" to you to use 0402s or whatever they got loaded in their chip-shooters. So might as well take your free pre-loaded resistors. But if I'm assembling a board myself, I definitely prefer the larger size.


Fair enough. I've taken digital logic classes etc. in college but when it comes to practical circuit design I'm mostly self-taught, having worked my way up from all through-hole components with ATmega and similar devices to dipping my toe in the SMD waters with larger TQFP parts to now doing a few designs with the RP2040. I've tried to educate myself on best practices and follow recommended layouts and things like that where possible, to try to learn to do things the "right way" - but I definitely don't have enough experience to know when the rules of thumb can be broken or not.

It's good to know that the "closeness" requirement of decoupling caps is perhaps not as important as I had believed.


The professionals use PCB-design software with physical modeling / FEA to calculate estimates to all of the important parameters of the circuit board (including how much trace lengths matter... but also board-capacitance, resistances, and resonance frequencies of the board itself, etc. etc.)

In contrast, we hobbyists deal with "rules of thumb", because none of us will spend $4000+ on professional PCB software that run these calculations for us. And furthermore, we aim very conservative because its very difficult to debug a PCB layout issue... as we hobbyists are functionally blind to all of these issues (ex: trace inductance, trace capacitance, or other issues).

I think spending a good bit of time on PDN / grounding / etc. etc. study is very worth your while.

https://www.youtube.com/watch?v=ySuUZEjARPY

2+ hour talk on just the issue of good "grounding" design in PCBs, but it does relate to this issue of capacitors, trace-lengths and the like. I feel like you'd benefit from this talk.

The "correct" way of thinking is exceptionally complex, far more complex than what is taught in colleges. But you have all the basic ideas thanks to the old rules of thumb. You just need to take the next step to see what the problems are.

--------

And as you'll see, traces on the same side of a board are cake. Its things like vias that actually wreck you.


RP2040 is QFN, not BGA.

QFN is doable at home, though more difficult than TQFP leads or larger SOIC-chips. Still, far too many components are QFN today so its a good skill to pickup.

------

The techninque is:

1. Reflow soldering brings the _whole_ board to soldering temperatures, and then relies upon surface-tension to pull all the devices into proper place.

2. Solder paste is applies ahead of time. You can cleanup solder paste with a toothpick before you bring the board up to temperature. Solder paste tends to go bad pretty quickly however. When doing prototypes, opt for the more expensive low-melt solder paste to minimize potential heat damage.

3. Prefer to use a stencil to apply solder paste. But its more than doable to be sloppy with a syringe and then rely upon the solder mask + surface tension to magically cleanup things during reflow temperatures.

4. Use a hot-air gun to fix any issues. The #1 issue you'll have is tombstoning, QFNs or TQFP chips are usually pretty good about settling into place. For TQFP issues (ex: bridging), you'll need solder-wick + soldering iron. EDIT: And flux: lots of flux helps. Also, flux goes bad, so throw away Flux all the time and keep buying new batches.

---------

BGA is also doable at home btw, thanks to the above principles. But its even harder than QFN. The real issue of BGAs is that you're looking at 4-layer minimum, maybe 6, 8, or 10-layer designs. There's also substantial grounding and other advanced PCB concepts you need before you can layout a BGA-capable PCB.

Its not so much the physical activity of soldering that's hard or difficult for BGAs. Its all the theory you need to study to breakout BGAs + minimize inductance + deal with impedance matching and trace-length matching.


I find hand soldering QFN is faster, easier and more reliable than (T)QFP once you got enough practice. If you need to rework the QFN part the key is to FLOOD the footprint with good solder flux from a syringe. Do not use one of those flux pens, those do not dispense enough flux.


> If you need to rework the QFN part the key is to FLOOD the footprint with good solder flux from a syringe.

I've never tried this but this makes a lot of sense in my mind's eye. I'll try this next time I have such an issue.

-------

TQFP seems nice because I can sloppily shove tons of solder down, and then just wick up all the excess solder with solder wick. In fact, I purposefully over-solder all the TQFP joints for this practice. (Too much solder during reflow, and then just a quick cleanup step with a soldering iron later).


Yeah I've been seeing a bunch of chip swaps that use this method, its wild how forgiving it appears to be.


Although it looks like BGA, it actually uses a QFN package where all the contacts are accessible at the edge. With a little practice they are relatively easy to hand solder (I've done many, not just rp2040)


QFN packages are very nice to hand-solder in my experience, considering the pitch. Better than the bridge-prone pins of QFP. The bottom pads do need some preparation, but you don't need hot air or reflow.


i admit to being intimidated by qfns still. any tips for hand-soldering them successfully?


Kind of cheating trick for the QFN substrate pad is to put a grid of somewhat higher diameter vias in there and solder the pad from the other side of the board through these vias. Another approach is to just ignore the substrate pad altogether (in many devices it should not be connected to anything anyway and has no real thermal management purpose).


i wonder if you could use the vias trick for the regular pins too, and bga balls


I have in fact seen the via trick used for 50mil pitch BGAs, but cannot remember where. I even vaguely recollect some board where that was used for CGA, which seems like really ridiculous idea (you don't use CGA packages and then invent some weird kludge pseudo-process).


wow, i'd never even heard of cgas


Almost universally a hobbyist would purchase the RP2040 mounted to a pcb with other i/o components (e.g. the Seeeduino Xiao https://wiki.seeedstudio.com/XIAO-RP2040/) There are other versions which bring out more lines to accessible solder points.

Of course you can design your own custom board, but I'd wager most people don't need or want to do this.


You would probably be surprised what you can do with a $65 hot plate [0], no-refrigeration-required solder paste[1] and the matching laser-cut solder stencil[2].

[0] -- https://www.amazon.com/Soiiw-Microcomputer-Soldering-Preheat...

[1] -- https://www.chipquik.com/store/index.php?cPath=470&osCsid=8t...

[2] -- https://www.pololu.com/product/446/


Pololu's stencils leave much to be desired. They do work but I feel like https://www.oshstencils.com/ makes a higher quality stencil instead at similar prices.

-----

Note that BGA chips mostly come pre-soldered / solder balls. You also design PCBs so that there is a "well" for the balls to melt into and settle into place, and molten-solder has a significant amount of surface tension, so you can magically watch the solder "pull" your designs into place. Of course, the OP is likely talking about QFN not BGA, but... just in case people are worried about BGAs its not terrible... (its just impossible to inspect a BGA XRays).

The surface-tension can be harmful in the case of tombstoning (ex: a resistor or capacitor with two leads, especially a "sideways" low-inductance capacitor, will get "pulled up" by one side, lifting off the 2nd pad).

If you have a solder-plate + hot-gun, you can "feel" the surface tension by just grabbing a toothpick and pushing on these components as they're still hot. You'll find the pressure to be far higher than you expect.


Funny, I had the exact opposite experience. For OSH Stencils, they had a scaling issue with their setup that I pointed out to them, and they just shrugged and said that was the nature of the beast essentially and they couldn't do anything about it. They might have said something about Kapton shrinkage or some such. (I don't currently have the exact numbers, but it was off a couple of percent linearly, which doesn't matter for a tiny board, but for a 4" board, the difference adds up, so that if you align the apertures on one end of the board, they don't on the other side of the board. Like the aperture was off by a whole 0603 pad or more). I went back to Pololu for that same board, and everything was spot on. And I have had zero complaints with them since. If I had to complain about something, I might slightly ding them slightly on the super-tiny aperture shapes and the kerf width of their laser. But everything has always worked. Apparently YMMV.


Hmmm, maybe my designs have been small enough that it hasn't been an issue.

I'll keep your experience in mind then. Thanks for sharing your experience.


Who knows, it may be fixed by now.


JLC's polished stencils will happily work at 0.2mm pitch for ~$10.


It's not a BGA, it's a QFN with a ground pad.


I see. What does that change in terms of process needed?


BGAs generally call for more complicated reflow profiles (including vapor phase reflow for very large BGAs - think 40mm+ FPGAs) and require X-ray inspection (if doing inspection at all.) BGA balls can have under-body solder voids, etc. BGA devices also generally specify a specific solder to use (leaded or lead-free won't be interchangeable.)

Generally, all single-row package pin layouts are easier than double-row (BGA, WLCSP, 2-row QFN) to reflow.


BGA you need hot air and reflow but a QFN I think you can just position and solder by the side with a simple solder iron with a knife like tip.


Just in case you were unaware, the RP2040 is available on dozens of ready-made, arduino-compatible boards like the Pi Pico, the Adafruit feather boards, of the Seeed XIAO RP2040 boards. Those have all (or at least most) of the IO already mapped to pins, USB headers, booatloaders, reset buttons, etc already mapped.

Things like the Pico are really easy to solder onto a designed PCB as well because of the castellations, so it's easy enough to design a board around the footprint and then just solder the entire pico onto your PCB with a soldering iron, avoiding the need to use something like a hot-plate or reflow oven. This has been my preferred way of working with it.


Yeah I've got a variety of dev boards already, but thought moving away from that as part of a move to PCBs might make sense. Esp given the cost diff - raw rp2040 seems to be at least 1/5 of the dev boards. Dev boards are probably the better deal overall, but also less scope for learning


That's the desired approach, yes, but... hot take incoming!

I think BGAs are easier to "hand" solder than other footprints (QFP, QFN etc). You drop the item in place, place it on a hot plate and or heat gun, and start melting it. Of course, if you screw it up, you are screwed. (Reballing sounds not worth it for most cases). And, you can't visually inspect.

I think this is because, at least for me, most of the soldering faults I have are due to uneven application, or improper amount of solder. BGA solves this.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: