Assembling dense SMD PCBs - lessons learned

I've assembled many dense(-ish) PCBs with small components (down to 0201) during the last three years. A summary.

Similar projects worth following
Many makers shy away from components sized 0402 (imperial) or smaller, and also from very dense PCBs. I'll try to make all this less intimidating, based on my hands-on, in-kitchen adventures.

Table of contents:

I'll add more and rearrange them when I have more, of course. Things that will definitely come:

  • Really Nasty packages
  • Assembly strategy

  • The paintbrush technique for low temp solder

    Christoph10/19/2022 at 21:14 0 comments

    I got this tip from someone else when I had to assemble my first 0201 board. It seems a bit weird at first glance, but it works very well!

    The Idea

    Your solder might come in paste form, but it doesn't have to be in that state when you place the components. You can pick up paste with a soldering iron and pre-tin pad by pad for all components you want to populate. No stencil involved, and you get immediate feedback and control over the applied amount of solder.

    How it's done

    • brush some flux gel on all pads you want to solder;
    • place a blob of paste on a vacant spot on the PCB or on the frame. In most cases you have either one or the other;
    • put a small tip on your iron - I use an angled pencil tip;
    • set your iron to 220° C;
    • repeat for all pads:
      • with the iron, pick up some paste from the blob;
      • then pre-tin a pad
      • add more raw paste to the blob as required

    The pads might look cold and bad after this, but we just need the right amount in the right places for now. Like so:

    The footprint at the lower edge is for a FET in DFN1006B-3 (transistor package, about as large as the 0402 next to it), and the solder even bridges two pads (gate and source). All other pads look pretty much like inacceptable cold joints. That's not a problem though, because we'll level that all out with hot air:

    • brush some flux gel on all pads you want to solder
    • set hot air to 220° C
    • level everything out
    • touch-up with the iron where required (= if you have too little or too much solder on a pad):
      • remove or add paste with the iron
      • apply flux
      • level out
    • Clean the board
    • brush on tacky flux gel

    Now the board is ready for components:

    This sounds very tedious, and somehow it is, but it's worth it and doesn't really take that long with some practice. Now place your components and reflow - the tacky flux will hold them in place:

    Some more remarks:

    • The solder pillows aren't first choice for 2-pin packages, because those tend to slide down the pillows. The solder will pull them into place during reflow anyway! If you want it super neat, apply paste manually for single chips and combine with the pre-tinning technique.
    • Again, consider building in steps. If you would like to have a look at some solder joints from the side, don't place parts yet that would block the view.
    • If you have massive ground planes in your PCB, consider heating it with hot air (say, to 120° C or something like that) and pre-tinning with an iron. That way it's much easier to get the solder to wet a pad.
    • Towards the top right is an LIS3MDL (has a QR code on it) with a diode just below it, and extremely close. I think we went a bit too far here because for some reason the diode was leaning against the LIS3MDL and slightly pushed it out of alignmnent.
    • The large chip is a uBlox ZOE-M8Q in an LGA package, and so far it's been the nastiest I've ever had to solder. The pads are just 0.27 mm in diameter, and very hard to get tinned evenly and consistently. You really need a lot of patience and some practice for that thing - but still, it's in reach! This one also got a little 4018 inductor for extra weight on top, glued on with tacky flux. Just give it a bath in isopropyl alcohol afterwards and it will come off easily:

    A little test with the multimeter in diode mode confirmed that at least the data lines (ZOE-M8Q's Rx and Tx, LIS3MDL's SCL and SDA) do have contact with the PCB. The rest I'll have to find out in some actual test runs.

  • Combining high-temp and low-temp solder on the same board

    Christoph10/16/2022 at 21:08 0 comments

    Here's a mixed alloy board with a switch in the top right corner, a little BGA, and a u.Fl connector (not visible, but it's there! I promise). Those have high temp solder, the rest is low temp and not even completely done. I'll save that for later so that I can take some appropriate pictures.

    Remember that when building a prototype, we don't have to assemble everything in one go. We are allowed to

    • build it in functional sections (voltage regulators first, then maybe an MCU or other core part, then less vital peripherals) to make sure everything works before proceeding;
    • use different alloys in different places to make use of their respective advantages.

    These two points are related via the use of low temp solder. It's awesome in the right place. When I want an easy and relaxing assembly experience, i try to use low temp solder in as many places as possible. That's a hard to write list, so let's flip it around:

    Use high temp solder where you have to, and low temp everywhere else.

    Where to use high temp solder:

    • When you have no other choice. All BGAs I came across had high temp balls, but that's kitchen wisdom. It may be possible to get them with low temp balls, but if you had access to such parts you probably wouldn't sift through hackaday for assembly stories;
    • For anything that needs a bit more mechanical strength: connectors, switches, buzzers, probably some more;
    • For parts that have to be aligned extremely well with the PCB. High temp solder has a stronger pull and will result in better alignment. A decoupling capacitor will not need this;
    • For temperature indicator parts - you might need these to show you when the board has reached reflow temperature.

    I usually try to limit the number of high temp reflow cycles for two reasons:

    • It's harder to get the board to the required temperature;
    • higher temperatures are more stressful for the parts.

    So the first two reflow cycles are for a limited set of parts as outlined above; one for each side of the board. A stencil doesn't really help, because only a limited set of pads will get high temp paste. Of course you can design a stencil just for high temp parts though, but it's probably not worth the effort.

    BGA tips

    • Don't apply paste to BGA pads. You'd only smear it all over the place when you place the chip;
    • Brush some tacky flux on the BGA's pads on the PCB;
    • Check how well the silk screen is aligned with the copper features. If it's not aligned really well, you can't rely on the BGA's silkscreen outline (if it has any) to guide you!
    • Place the BGA with tweezers. With some practice you can feel if it's on the pads or on solder mask;
    • Put some weight on top! An inductor slightly smaller than the chip is just right. This will make sure that the balls have thermal and mechanical contact with the PCB, and vapor from the flux can't push the BGA around. Too much flux can do that. Don't worry, the extra weight will not squash the solder joints.

    Example for a weighed down BGA (STM32WLE5):

    This was one of my earlier boards and I forgot to add some temperature indicator. Like a blob of solder paste (no available space for that) or one or two passives. This is better (a voltage regulator with caps, to the bottom left in the picture at the top of this log):

    Here I had applied high temp paste for two capacitors (0201 and 0402) right next to the 4-BGA to tell me when the paste reflowed. If the caps are done, the BGA is done, too. I didn't have an extra weight for this one, but it worked nonetheless (again on a hot plate). You can also see that the BGA's silkscreen outline is completely useless.

    Spoiler: You can also add extra weight to LGAs:

    But more on that later when we get to the low-temp tips. LGAs don't come with the right amount of solder in the right place, so we have to do that ourselves - but at least we get to choose.

  • Layout: Courtyards, vias in pads, and double-sided assembly

    Christoph10/04/2022 at 21:32 0 comments

    Why do you have 0201 or similarly sized components on your PCB? Probably to save space, or because of some more occult reasons like stray capacitance or whatnot. 


    Courtyards create sufficient space between components to ensure somewhat minimal insulation, allow for placement errors, support the reflow process and provide some extra space where the pick and place machine can maneuver. All those make sense. However, we usually encounter large, rectangular courtyards - and that leaves room for improvement. Most of the time we don't need them to achieve any of the above, because most components are rather flat (reflow, maneuvering), the signals require only little insulation and the pnp machine will be able do its job just fine even when the layout is very dense.

    So to allow for denser layouts we can hide the courtyard layer and ignore courtyard violations (or configure them to be warnings or just messages), or redesign the courtyards. Both make sense:

    • switch them off to get no warnings at all
    • redesign them for components whose footprint doesn't make it absolutely clear where the physical part ends (if it's placed correctly)

    Example: 0603 capacitors, KiCad stock footprint, with and without courtyards. The caps to the right are moved as close to each other as the design rules (0.1 mm / 0.1 mm) allow.

    With good tweezers that's no problem. 0402 and 0201 are similar, because the design rules stay the same so there's always a minimum gap between the components.

    One more thing to note about this style of passives: If their pads don't overlap with other parts, you cannot have a physical collision between parts and the design rule check will make sure that you don't have these overlaps. The pads are larger than the actual package.

    Example: QFN with non-rectangular courtyard. QFNs have corners that occupy extend between the pad rows:

    Also, if your EDA software has a 3D preview, make sure your 3D models are sufficiently accurate. Then the 3D view can tell you if it really fits even if you violate the courtyards:

    Some even say that courtyards are luxury. I wouldn't go that far, but using stock rectangular courtyards feels a bit excessive.

    Vias in pads vs. via-in-pad

    Vias occupy space if they're placed outside of pads. And quite often we're tempted to place them inside pads, which is absolutely fine when the PCB is made with proper via-in-pad tech. When we now head over to, say, electronics stack exchange, we'll quickly realize that placing an "open" via in a pad will quickly result in great-great-grandma raising from her grave to grab us by the ear and pull us to the table because it's time for dinner before we can even release the mouse button. And for a production board that would probably be correct. But we're building a prototype and proper via-in-pad is expensive.

    So - again - what can we get away with? Turns out, A LOT. Here's a bunch of 0201 caps on 0402 footprints with open vias in pads:

    Honestly that still needed a little touchup and cleaning, but it works!

    So if it's really an advantage for your layout: just do it. A via in an 1206 pad is certainly not a problem at all, and even down to 0603 it's not really a problem. Below that, you'll want to fill the via with solder first. Then it's business as usual. Vias in pads are ok.

    Prepare for double sided assembly

    The other side is valuable area for components. It's a little trickier to assemble, of course. One thing I try to do is to put all components that require high-temp solder on the same same side. These are

    • Anything with increased mechanical stress (connectors, switches, buzzers, ...)
    • BGAs where we can't choose the solder alloy ourselves

    Another thing you can try to do is to design the PCB such that one side has only very flat parts.

    But both of these points are optional, so don't worry about it too much.

  • Placement accuracy

    Christoph09/29/2022 at 17:57 0 comments

    With appropriate visual feedback (= magnifying glasses or a stereo microscope) you can adjust a part's position by 0.1 to 0.05 mm. It takes patience and a bit of practice, but it's certainly doable. I use a stereo microscope with 10x magnification most of the time, good tweezers (to place parts) and those pointy dentist things (to poke parts):

    Let's have a look at how that compares to the size of small passives. Here's KiCad's stock 0201 footprint with the corresponding 3D view:

    The pads are 0.46 mm wide. Let's offset the part a bit, say, 0.15 mm:

    That's not going to ruin your PCB (unless it overlaps with other footprints), and you can easily give it a little nudge in the right direction so that it sits almost perfectly. The solder will pull it towards the pad's center and do the rest. Well, almost, because the stock footprint is too long. If one pad is already at reflow temperature and the other isn't, it might pull the part too far - like so:

    and the part could tombstone. Let's fix that with a shorter footprint (I'll add it to the project files):

    Left: stock KiCad footprint. Right: What I use (iirc it comes from some AVX datasheet or appnote). I use this very footprint in #Effect of moon phase on tombstoning and it has been pretty robust so far.

    Not only does it not mess with you, there's one more benefit: The pad clearance areas don't overlap (assuming 0.1 mm spacing) and there's enough room to route a 0.1 mm trace between them:

    JLCPCB supports that width/spacing for 4 and 6 layer boards, so it's really not out of reach for hobbyists.

    Let's also compare that with a larger QFN which might seem less intimidating than an 0201 resistor. Here are both next to each other, with the QFN (0.4 mm pitch) displaced by 0.1 mm:

    If you have ever soldered a QFN, you've probably tried to correct such a displacement.

    Bottom line: 0201s are not harder to place than large fine-pitch packages, and they'll behave alright with the right footprint.

    To demonstrate that we can get away with considerable displacement, here's a before and after reflow picture of three 0201 resistors I deliberately placed slightly off.

    Microscope with 30x magnification.

    top: placed slightly to the left. It's hard to see, but the resistor barely touches the pad on the right side.

    middle: That's at an angle.

    bottom: about 0.15 mm off both pads towards the bottom

    This is how it turned out:

  • First things first - you're not a factory

    Christoph09/28/2022 at 10:53 0 comments

    You want to assemble a prototype. Maybe even 3 or 5. But you're not a PCB assembly line.

    That's a simple but important fact to keep in mind. You may do things that an assembly line may not do, and some things that can be taken for granted in an industrial setting are pretty different at home.

    This log covers:

    • Quantities
    • How much time it takes to assemble a prototype
    • Touch-ups are expected and ok

    What quantities are we talking about?

    Oshpark and Aisler sell PCBs in sets of 3, JLC and PCBWay start at 5. That's a handful of boards, and usually that's about as many as one might be willing to do by hand. You're not planning for 100, and even 10 can feel more like work than like a relaxing hobby. When the first prototype works, usually on of these things happen:

    • you're done because you only wanted one;
    • you tweak the design a bit and come back later;
    • maybe you make one or two more and give them to others;
    • it's production ready and the next run would be large, and made professionally.

    Your design will probably have between 10 and 100 components in it, definitely not 1000.

    Manual assembly takes time

    Be well rested. Don't rush. Slow down, take your time, and you'll have it done faster. Take a break in between when you need one. 

    Get started

    • prepare bench (= reduce chaos): 5 minutes
    • find parts: 1 minute per BOM line

    So for a board with 25 different components that's half an hour of preparation before we even touch the PCB. Of course you can touch it earlier but that won't get you anywhere.


    No, clean your board first!

    If I have a stencil:

    • of course clean that as well
    • align stencil and tape everything down: up to 5 minutes, sometimes it just doesn't want to sit right
    • apply paste: 1 minute
    • clean tools: 1 minute
    • Put everything back where it belongs: 1 minute

    Usually the paste is on after 5 to 10 minutes.

    If I don't have a stencil:

    Manual application takes a lot of time. Also depends on the application technique (more on that in a later log). So that's a large unknown, and sometimes you just have a bad day. 

    Place Parts

    I need 30 to 60 seconds per component. A lot of factors go into this. Most of my parts are on cut tape in zip lock bags. That means that for every BOM entry I need to open the bag, get the tape out and un-tape the required number of components. That's pretty much the same overhead no matter how many I need of a specific type.

    If I need just a single part of a given type, that's one minute including placing. All additional parts take maybe 10 seconds.

    On average, I need 40 seconds per component for a board with mixed component quantities (some singles, some multiples). So for a board with 100 parts, expect 67 to 100 minutes just for placing stuff. 


    Again, depends. Each side of a PCB is reflowed separately. If you build in steps, there will be even more reflow runs (unless each complete side is one of your build steps). Hot air gun, toaster oven and hot plate all have different timings - you know if it's done, when it's done. Let's say 10 minutes and another 5 to let it cool down.

    I'll cover some techniques in a later project log, for low-temp, high-temp and mixed boards. Yes you can mix alloys, which might be quite expensive if you just went for contract assembly.

    The sum of all that

    If I use a stencil and do each side in one go, no additional assembly steps:

    For a single sided board with 50 components: 30 + 7.5 + 33 + 15 = 80 minutes or 1 hour 20 minutes.

    For a double sided board with 100 components: 30 + 2*(7.5 + 33 + 15) = 141 minutes or 2 hours 20 minutes.

    Again, take a break in between. Maybe even two or three for double sided. 

    Don't have or can't use a stencil? It will take longer then.

    Build in steps? That will also take longer.

    Touch-ups are expected and ok

    You'll need to correct your own work. In an assembly line, this would barely be acceptable - but at home it's absolutely ok. That applies to paste application, misaligned parts, shorted pads and every...

    Read more »

View all 5 project logs

Enjoy this project?



Andrei Speridião wrote 10/19/2022 at 21:57 point

Nice, I might want to do something small anytime and your tips are really helpful!

  Are you sure? yes | no

kelvinA wrote 10/08/2022 at 21:27 point

As someone that's in the process of designing a small and dense PCB (for Tetrinsic), this writeup came at the right time.

  Are you sure? yes | no

Paul McClay wrote 09/30/2022 at 19:07 point

Thanks for sharing what you're learning! I hope you will be able to continue this.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates