Designing for Fab: a Heads-Up before Designing PCBs for Professional Assembly

Designing pcbs for assembly is easy, right? We just squirt all the footprints onto a board layout, connect all the traces, send out the gerbers and position files, and we’re done–right?

Whoa, hold the phone, there, young rogue! Just like we can hack together some working source code with variables named after our best friends, we can also design our PCBs in ways that make it fairly difficult to assemble.

However, by following the agreed-upon design specs, we’ll put ourselves on track for success with automated assembly. If we want another party to put components on our boards, we need to clearly communicate the needed steps to get there. The best way to do so is by following the standards.

Proper Footprint Orientation

Now, for a momImage Credit:, let’s imagine ourselves as the tip of a vacuum pickup tool on a pick-and-place machine. These tools are designed to pick up components on the reel from their centroid and plunk them on their corresponding land pattern. Seems pretty straightforward, right? It is, provided that we design our footprints knowing that they’ll one day come face-to-face with the pick-and-place machine.

To get from the reel to the board, we, the designers, need two bits of information from out part’s datasheet: the part centroid and the reel orientation.

The part centroid is an X-Y location that calls out the center-of-mass of the part. It basically tells the machine: “pick me up from here!” As designers, it’s our responsibility to design all of our footprints such that the footprint origin is set at the part’s centroid. If we forget to do so, the pick-and-place will try to suck up our parts from a location that may not stick very well to the package, such as: the corner.

Figure 1a. Quadrant designation. Use pin 1 mark to determine the correct orientation of unit in reel.
Image Credit: Maxim Integrated

The reel orientation is the orientation in which the part rests inside the reel. For pick-and-place machines, reels generally get loaded into the machine in only one way. Parts living on that reel, though, could be oriented in one of four ways — with pin 1 in one of four quadrants.

Again, as designers, it’s our responsibility to design all of our footprints such that the footprint orientation matches that of the reel, relative to that of the reel feed direction. In a nutshell, we just need to make sure that pin 1 on our footprint design matches the same quadrant as pin 1 on the reel when it runs through the machine.

Pin 1 in Quadrant 1

Sounds easy, right? Usually, we’re in luck; these two bits of information are in the part’s datasheet. Sadly, though, that’s not always the case. Sometimes, an IC’s primary datasheet may not contain the reel orientation. For that info, they sometimes refer you to a different datasheet with reel information for a specific package type. As an example, have a look at the D-PAK Reel information [PDF] on Vishay’s Diode page.

This practice of splitting off reel information into a separate doc is basically laziness on part of the vendor. I can hear them now: “Why put the reel information on every single part’s datasheet when we can just put it on a separate datasheet that just discusses reel information corresponding to a particular part size?” Nevertheless, while this practice can send us on a wild goose-chase hunting for just one snippet of information, it’s always listed. Sooner or later, someone will need to mass produce a product with a vendor’s part, and this orientation information is vital for assembly.

Unavoidable Footprint Ambiguities:

T55P475M010C0200 Vishay Sprague | 718-2070-2-ND DigiKey Electronics
Image Credit: Digikey

Against all odds, some parts still don’t have a clear way of indicating their orientation. These parts are usually polarized passives (caps and diodes) with symmetric footprints. Check this capactor package out:

This capacitor (PN: T55P475M010C0200) is polarized, but it has an 0805 land pattern, which is symmetric (unpolarized). Assuming the PCB Assembly house gets the standard position file with the part transform and the gerber files, do they have enough information to figure out which way the cap should go? Unless there’s a mutually-agreed upon default orientation–they don’t!

Here’s the deal: technically, the IPC-7351 Spec has a defined “pin-1” orientation for these components which should match the reel orientation. This spec, which we discussed in the section above, should rule out any ambiguities. The issue, though, is that we, as footprint library makers, are under no such constraints to follow said spec. When we’re creating the library footprint we can put pin-1 in whatever quadrant we want! Here, dear PCB designer, lies the danger in importing some random chum’s footprint library from online. Unless we’ve checked each footprint, we have no guarantee that said chum has designed the footprints to follow the IPC-7351 spec.

When there’s any doubt, you probably will need to help your Assembly House out with a few informative graphics that show the proper orientation. A screenshot of the board layout with a few labels should do.

Working with Parts that Actually Exist

Depending on our design software, sometimes we work with schematic symbols that are tied to parts with specific part numbers. Other times, we can work with strictly symbols and then fill those symbols in with actual part numbers later. If you’re in the second camp, heads-up: before jumping to the layout, be sure that these symbols are associated to footprints that actually match real life parts.

Want an 10 uF ceramic capacitor with an 0805 footprint, an X7R temperature coefficient and a 25 V rating? Too bad! Shoulda’ dug through the Digikeys to see if such a part existed in the first place. In this case, it actually doesn’t.

The risk here is fairly low, but there’s still a chance to assume that a certain resistor of a certain tolerance and power rating will come in the footprint that we expect. In practice, the one place where this might trip us all up is when we punch numbers into an active filter designer tool and get impossible resistor and capacitor values. Be sure to check that these values exist first!

BOM Export

There are two major options for actually getting the components to the manufacturer: either turnkey (assembly house fetches the parts) or consignment (you provide parts to the vendor, usually on reels). Since the assembly house knows the ins-and-outs of their machine far better than we do, assembly houses that offer both usually prefer turnkey. Nevertheless, ask!

Regardless of which process you use, you’ll still need a BOM to tell the vendor what reference corresponds to what part. Each assembly house is different and your BOM might not emerge in a format that’s to their liking. Generally, though, I suggest re-jiggering your BOM such that it’s organized by unique components (i.e: all references should be consolidated into one field). Why? If we imagine ourselves on the assembly end, we need to load our machine with reels of identical components. Getting a BOM from a customer that’s organized by unique component easily lets us identify the number of reels that will need to be loaded into the pick-and-place machine. Again, when in doubt, ask the assembly house how they prefer their BOMs.

Marking DNPs

Occasionally, you’ll have a few components that just aren’t supposed to be populated. In that case, simply omit them from both the BOM and the position file, and assembly house will safely ignore them.


Fiducials serve as coordinate reference points for the pick-and-place machine that’s loading your part. In a nutshell, the machine that’s placing these parts needs to superimpose a coordinate frame on top of the PCB such that part coordinates match up with the correct spots on the board. Two fiducials minimum are needed to do this.

These points let the machine calculate the actual board orientation using trigonometry. Place them as close to the board edge as possible, in opposite corners. The exact placement doesn’t matter, but the farther the two points are from each other, the less error in overlaying the coordinate frame. Three fiducials placed as closely to the corners as possible will also let the machine calculate any skew in the actual PCB layer that may have been introduced when it was being fabricated, although it’s usually not necessary.

Final Footprint Size Checks

Check Your Footprints

Getting boards assembled costs time (sometimes 2 weeks–ouch) and money (from a few hundred to a few grand). Double-checking ourselves might cost us a few hours, but it’s more than worth the two-week wait if we find bugs. Just before we send out the board files for fab, I suggest printing the copper and silkscreen layers at 1x scale on a piece of paper. Then, with the actual components in-hand, put them on a scale image and make sure that, indeed, the footprint pattern checks out OK.

What’s crucial here is that we catch any part sizing issues before the board gets fabbed. This step is especially important if you made any custom footprints or downloaded some chum’s footprints off the wild web. Nevertheless, it’s helpful even if you’re pulling footprints from valid sources. In my mishap here, I just selected the wrong footprint.

Go Where No Young Rogue Has Gone Before

Here on Hackaday, we love the one-off: the Microwave that cries like a Windows XP or the portable console mod that lets us take our GameCube on the go. Many of the triumphs that we feature here are one-offs done by a single engineer — and that’s OK! In those hacks, we don’t need to keep our work tidy. We don’t need to clean up after ourselves in code. If it makes sense to us, it’s all good, right?

Like it or not, there comes a day when we need to do something with our design that, in the basement-hacker’s world, is unspeakable. We need to share it. Sharing might not sound like a big deal, but if we’ve run away from standard practices for too long, we’ll never be able to pull in another after-hours engineers for help. We’ll never be able to communicate with assembly houses or contract manufactures who are supposed to be handling some of the heavy-lifting processes for us. Want to get a machine shop to cut you parts? Looks like we need to learn how to dimension parts with GD&T. Want to get your PCBs assembled? Better put those centroids in the right spot!

Following international design specs actually makes our lives easier in the long run. If we choose to use the agreed-upon standard practices that our fellow engineers use, we’ll all float on the same boat when we need someone else to assemble our boards. We’ll be speaking the same language, the language of the engineer.

The Pre-Fab Checklist:

If you’re making PCBAs that will be assembled professionally, I made a checklist of key points to keep in mind. Keep in mind that there are tons of these online. I suggest picking one that best matches your CAD tool and workflow.

During Symbol/Footprint Library Creation:

  • Are my library footprints designed with the correct orientation that matches the reel?
  • Do my library footprint origins match the centroids of the actual part?
  • Am I using the full part number that also indicates the package type, if various packages exist?

During Schematic Capture:

  • Are all my parts stocked by vendors that my PCB Assembly House will use, or will my board have lead time because some parts are not immediately available?
  • Do I know the specs of my “jelly-bean” components (resistors, capacitors, etc.), just in case my Assembly House wants to suggest alternate components that they already have? (Better: can I somehow add these specs into my BOM?)
  • Do all my schematic symbols and footprints chosen to match real-life components? (Or did I just put in a capacitor with impossible specs for its size?)

Before PCB Layout:

After PCB Layout:

  • Does my completed layout pass the layout Design-Rule Check? If not, can I justify every error that is flagged?

Before Sending off for Assembly

  • (Again) Am I using the full part number that also indicates the package type, if various device packages exist for the same component?
  • Can I export a BOM in a way the PCB Assembly House likes it? (Usually, by unique part number)
  • Did I remove any DNP components from my BOM and from my position files?
  • Do I need to clearly indicate the orientation of any ambiguous, polarized components that have symmetric footprints? (Pictures of the layout work here)



54 thoughts on “Designing for Fab: a Heads-Up before Designing PCBs for Professional Assembly

  1. Extremely valuable information.

    Didn’t notice it mentioned – after some footprint screwups, I now print them out in 1:1 on paper and check this way, really helps check the footprint. As for leaded components, I recently took gerbers of a board I designed a new footprint for, converted outline+drill layers to SVG and laser cut them so that I could check hole placement precisely and easily. Would anybody be interested in a tutorial?

    1. I’ve done a lot of designs that use QFN packages and since the leads and ground paddles aren’t visible on an installed part this check does not work. Some assembly houses do provide a thorough design for manufacture ‘DFM’ check that will catch critical footprint errors that can assembly issues or thermal imbalance that can tombstone a chip. Although most error I encounter are because the part kit doesn’t match the BOM or the BOM does not match the ODB++.

      1. I paper check QFN packages. Put it upside down (and if you are feeling fancy print the paper reversed too) and slide it in both x and y directions to see the pitch line up.

    1. Yes, I second using graphics on the board to indicate part orientation. A good rule of thumb is to make it possible for someone who has the physical board and the BOM to figure out how to put the parts in without looking through your CAD files.

      One other tip is to check with your assembly house to see what sort of array they prefer for your board size. If you’ve designed a small board, running the boards through one at a time is going to be a lot tougher than running something like a 4 x 4 array through the machines. You can also put the fiducials on “rails” that are part of the array and broken off after the individual boards are separated out.

      1. If you do fiducials on the rails of the array around your board, you should still add at least one to the individual boards. At least our assembly house and board fab (different companies) use that fiducial to mark boards in the array that failed electrical tests. So the assember does not populate the boards of the array that have known errors and they don’t have to throw away the complete panel just because of one minor defect in the copper. And if you have fine pitch and BGA parts, you usually have to add some more fiducials directly next to these components. They will be used as reference points to place the components on the target more precisely.

    2. The one pushback I’ve had from our board house on centroid data was they wanted pin1 to be origin on through hole connectors. Not sure if that’s standard or not though.

    3. Once you get your own pick & place machine you really appreciate the benefit of consistent library orientation – makes the whole process so much smoother when you know parts will be the right way round without even checking!
      One annoying issues is chips that come in both tubes and tape, which will have different orientations, and you may not know at design time.

    4. I’ve been making boards for about 18 years now and I don’t think I’ve ever given attention to footprint orientation or center alignment. I must have chosen very tolerant companies to work with.

      1. I was under the impression that modern P&P machines do a visual of the part before placing it. Most even do top & bottom of a part. A reel from a different manufacturer (eg: original part unavailable for 6 weeks, use this substitute part) might have the components oriented in the reel differently.

  2. Adding if you can handassemble the board the machine can’t either. Also don’t hide small components behind a wall of tall components.

    Regarding components: Check if there are more manufacturers makes the same component (easy for resistors and caps) but try to avoid that super exclusive hard to find components with long lead times. Try to specify the component by its characteristics, especially if the componentvalue isn’t that critical. Or use the equivalent local to the manufacturer (ie BC547 in Europe, 2n2222 in Us)

    And send them a working handassembled prototype, they can use to measure components and use as visual reference.

  3. Most modern assembly houses can rotate your parts to any degree, limiting your design to reel orientations may negatively affect placement / signal efficiency.

    And regarding the design you pictured (Specifically U3): I would suggest you don’t short out pads directly between the actual pads. It often looks like a PCB manufacturing error, especially if it’s not the original designer doing the rework of a non-functioning PCBA.

    Printing out your layouts is awesome advice! Makes your life so much easier.

    1. You are supposed to base your footprint on the reel orientation. Of course, you are free to rotate that footprint on your board as much as you want. But having the footprint rotated correctly means, that your placement file will also contain the correct angles.

  4. The good:
    0603 ceramic capacitor have incredible resilience to bad alignment, many value options, and are usually the cheaper spool
    0805 1% resisters are the best general purpose package, and standardize around common values during design
    QFN are actually easier to handle than LQFP based packages
    SOIC are easy, and very tolerant to alignment issues
    LQFP are easy to use, but tend to have slightly lower yields than QFN

    The bad:
    MSOP 8 are probably the worst to have on a large board given the pin spacing, and insufficient package weight
    Anything with < 0.5mm pin spacing will take a percentage point off your profit margin

    The ugly:
    BGA these were never intended to be larger than 1/4" square, and are the number 1 mistake on modern equipment. Avoid them if you can, as your yields will go up if you do…
    COB tends to damage the chip die during bonding, and should be avoided if possible given the reject rates will be higher than re-checked chips

    Some advice:
    * Think about re-usable components in other projects during design, and your process will be better. Having some unique unicorn in the process makes products vulnerable to price fluctuation or EOL.
    * Minimize part count, design for 50 ohm, 220 ohm, 1k, 4k7, 10k, 22k, 100k, 250k, 500k, 1m…. and you can safely buy 100k of each for cheap… again, your design is not stable if you require a leprechaun value within +-1%. However, use 1% tolerance metal-film parts, as these are usually the same price as 5% now days and will improve board yield.
    * SAC305 is pretty much the best thing since the invention of the banana, and will reliably bond anything to anything
    * single sided PCB if you can (single run though the line improves yields)
    * no jumper wires if you can (even SMT plugs are expensive, and you will have to pay someone to plug in the cables)
    * try to get all the parts facing the same direction as the tape reel pickup (the robot will thus avoid part rotations)
    * cluster similar parts (the robot with multiple heads can populate with a single fetch cycle)
    * avoid though hole if you can, as any part labor installs adds $3 to the cost and selective soldering equipment is rare
    * avoid odd shaped PCBs as these waste board space, and give the robot indigestion
    * add edge connector in PCB breakaway of panelized boards to automate testing (every PCB should have an LED to indicate to the labor or robot PASS/FAIL)
    * use existing project box geometry standards so you won't need a custom enclosure (PCB based labeled end-panels are super easy)
    * glue every flexible part and wire connection down with RTV silicone

    The practical:
    * break these rules as needed ;)

    1. Mostly good advice, apart from :
      There is no advantage in avoiding different part rotations (unless you’re wave-soldering SMD parts) – the rotate should be done in parallel with xy motion so shouldn’t add time/cost. And anyway you won’t know what the “null” rotation will be as this will depend on the machine used ( or even which feeder bank the part is loaded into). Similarly clustering parts is unlikely to have any significant advantage except in some very niche cases.

      1. The axis of rotation changes with wear on some machines, and larger chips certainly benefit from minimizing motion. You could argue machine vision systems make precision placement easier, but the article fails to mention a minimum of three markers are actually needed to handle 3D warp. For higher speed placement, the advice holds for improved board yields.

        Clustering parts is done for many reasons:
        1. Visually… the automated inspection equipment and labor has to analyze a smaller area of interest, and defects are obvious compared to adjacent references.
        2. the same parts loaded on a 8 head robot will place extremely quickly in a single pass (roughly 3-4 times faster than the NeoDen shown in the article if set to the same movement speed). Indeed, such strategies make little difference on smaller equipment.
        3. This usually manifests anyway around larger chips given the part proximity is limited
        4. Typically, this is of course is not best practice for Analog or RF work.
        However, I have seen boards with a single strip of parts like a block wall. ;-)

        There is never really a globally optimal solution, but a 1% yield difference is meaningful even at 10k units a week.

    2. Very good tips, thanks!
      It is worth noting that minimizing part count is good for hobby too. Example: you need ceramic capacitors for LDOs in the uF range. Instead of having multiple combinations of 1, 2.2, 10uF and 6.3, 10, 16V, i only use 10uF 16V which covers 99.9% of my needs. Sure, those are 0.02 each instead of 0.01 for the 1u/6.3V, but given the low volume, I am better off with managing a single value.

  5. No mention of panelisation & tooling holes ..?
    BTW a common use for a third fid is as a check that the PCB has been loaded the right way round, which is why you never add a 4th!

    1. I was going to add a suggestion to make sure the two fid positions aren’t symmetric (or even that close) if you flip the board around. Three works fairly well, if slightly slower. My pick and place checks the local fids on every board in an array four times (cameras on two heads, double checking).

    2. We only have one fiducial on the board itself, the rest is on the production panels edges (or in extreme cases near BGA and micropitch parts). The one fiducial on each board in the panel is used as good/bad indicator. The board fab house will put a sticker on that fiducial if electrical tests failed, so we can still assemble the rest of the panel and dont waste a ton of components or complete panels just for a minor copper defect.

  6. I don’t agree with this:

    “This practice of splitting off reel information into a separate doc is basically laziness on part of the vendor. I can hear them now: “Why put the reel information on every single part’s datasheet when we can just put it on a separate datasheet that just discusses reel information corresponding to a particular part size?””\

    While I can understand the first thought being laziness, this is probably done for ease of performing document revisions. If they specify that info in the individial part datasheets, if they want/need to make a change they have to modify all part documents that use that footprint/reel/etc. Going throught that Engineering Change process may be a nightmare, so doing it the way they do may really make sense.

      1. I believe that can be done with LaTeX or a html homepage complied to a pdf.
        I don’t even save the documents locally, just link to the manufacturers specs, that way I always have the most updated version for the parts. Of course it is for small projects only.

  7. My relatively short experience with DFM still makes me add one of the most important rules:


    Do not order panels of boards until you get OSHPark (or whoever) to make you a handful of them for you to test. Repeat that process until you can confidently order a panel batch WITH NO CHANGES.

    It may seem obvious, but the smallest batches of manufactured boards are going to be around 2 kilobucks or so, and you’ll cry a lot if you then plow them straight into a landfill.

  8. Draw every library/footprint you’re using yourself, from scratch.
    At the very least, carefully check an existing library against the datasheet.

    Never, ever, just assume that some random library from the Internet will “just work” in production – and this also applies to “included” libraries in your EDA/CAD software.

    Over time, as you reuse your own library again and again, and you have production-proven experience with those footprints, you’ll have to do less work and your library will continue to grow.

    Even seemingly tiny changes to something that seems trivial, like an 0402 resistor, can make a huge difference in terms of tombstoning and yield.

    And remember, it’s not just the copper layer – the solder mask layer also makes a difference, and the paste stencil layer.

  9. “Want an 10 uF ceramic capacitor with an 0805 footprint, an X7R temperature coefficient and a 25 V rating? Too bad! Shoulda’ dug through the Digikeys to see if such a part existed in the first place. In this case, it actually doesn’t.”

  10. Having long ago worked on an smt line, any fab house that can’t sort out your placement rotations for you isn’t worth working with. popular packages are all already in the sysyem: the machine checks overal width breadth and height. The vision system can check for bent pins, all sorts. New designs take a few minutes to run through all orientations, the vision system displays the board location, and overlays the package with pin markings etc. Simple.
    Know what tolerances your design can put up with so your parts can match up to stock.
    If you have the room around fine pitch or bgas put a pair of feducials on their corners too.
    If your board is smaller than your phone then panalise into rows or grids. If you are panalising, have a clear area for the board manufacturer to mark rejections (eg one out of a panel of ten) the smt machine can then skip that part automatically when marked.

    . Feducials are also used to align the solder paste screen to the board., they are laser etched onto the screen, so dont have them miles away from your edgemost apertures.
    We must have been very forgiving on our old customers, many times we did runs as low as ten boards, 15 parts each, with intentional billboarding on some parts (caps on their sides). Once the first-off was clear the run is finished and the line stripped in no time.

    Supply enough stock to avoid handplaced parts. Your smt operator will like your product more.

    Contract machines designed for quick change over were beautiful to work with (mydata) but i had a certain fondness for the slower yamaha machine

  11. Still missing the MOST IMPORTANT RULE:
    Talk to your board fabbers and assemblers! Talk to them in every stage of development (concept, schematic, layout,…), ask them for advice, possible pitfalls/problems, tell them what you have in mind and ask for opinions and improvements early and regularly. If they don’t want to talk to you or take weeks to answer, better find some other place to bring your business.
    A lot of problems can and will be avoided if you know what they want and can do, and they know what you actually want to achieve and expect.

  12. Why would you try to make the footprint match the reel – instead of making the footprint match the standard?
    Isn’t that what standards are for? Otherwise, why did the author even bring up the standard? It seems to me that trying to make it match the reel is just asking for confusion. Will substitute parts have the same reel orientation? What about other packages like tubes and trays? Would you have different versions of the same footprint with different orientations?
    In my opinion you should just adhere to the standard and and let the cm deal with exceptions.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s