BOM process

All of this talk about BOMs these days, (all of my talk, that is), kind of begs the question of how BOMs are put together. An Excel spreadsheet seems to be the most common "BOM management" tool in use today. Large organizations often have more formal systems, but for everyone else, it seems to be largely a manual spreadsheet process.

When I'm putting together a new design, I first look at the big parts, like MCUs and other "big" chips. Sometimes big is 3mm X 3mm, so "big" is a relative term. Then I'll put in active discreet components and connectors. Next will be specific passives (like for a crystal that requires a certain value of capacitor) and finally, the more generic components like pull-up resistors and bypass caps. This may not be the best, or even a typical process, but it seems to work for me and it more or less follows my circuit design process. There are some traps that I leave myself open to.

I pick the big components based on what the board is going to do and how much real estate I have. The next set of components are largely used to make the big components work. The specific passives attach to parts with specific requirements and the generics just get thrown in as needed. Often I don't even define the generics until after the design is complete. Take a look at this schematic clip:

Non-specific components
U3, the MCP73833 battery charger and U4, the ADM3101E RS232 line driver will both get specific part numbers right off the bat. I may change packages as I get into the layout, but I still will usually fill the BOM for those items when I put them in the schematic.

IC part of BOM

I've put U3, the charger chip in my BOM twice, each with a different package, because my preferred package isn't available at the moment but might be soon. It's not best-practice, but you can do that as long as the reference designator differs in some way and the part is labeled "DNS" (Do Not Stuff). I simply gave my alternate the part number "U3alt".

R6 and R8 get specific values because the battery charger chip calls out for specific values. Q1 will be a small P-channel MSOFET, but the specific part number can come later. All of the rest of the resistors and caps will also be defined later.

The biggest trap I have to watch for when filling out the BOM in this order is forgetting any design decisions or leaving fields blank when I go back and fill in the rest of the part number information.

Passive part of BOM
This is typical of a BOM of mine just after I've finished the layout. If I were building this by hand out of my own parts bins, this would be fine. But when sending it out for assembly, it's not. I personally know that C3 and C4 could be any of a dozen different part numbers. The only things that matter in that case are that it's .01uf, it's an 0402 and the voltage rating is 10 volts or higher. I know that R2, R3, R4 and R5 are just LED current limiting resistors and can be anything between 220 and 680 ohms for this particular circuit.

I know those things, but the assembly house doesn't know that those parts have pretty loose specs. It will just cause delays if I don't find an exact part number before sending it out. It may seem obvious, but just because it's obvious to me doesn't mean that it's obvious to anyone else. That ambiguity has to be gone before anyone else sees it.

Duane Benson
Knock three times
on the ceiling if you want p-channel.
Twice on the pipe If the answer is n-channel.

Speaking of Reference Designators...

In my prior post about BOMs, I gave a few examples of reference designator formats in the BOM. BOMs are a common item that have standards but no standards as are reference designators. There are actually a number of standards covering reference designators, but I still find people referring to documents published in the 1970's!

Some aspects are pretty obvious. They are a code letter followed by a sequential number. Each and every placement on the PCB has to have a unique reference designator. The code letters are somewhat standardized, in practice. Some vary based on the particular user. Pretty much everyone uses "R" for resistor and "C" for capacitor. The mostly standard designator for an integrated circuit chip is "U", although I've seen "IC" used enough times. Crystals and oscillators are supposed to be "Y", but I've also seen "X", "Q" and "U" used. Check this page over at Mentor Graphics for their recommendations.

Things start to get sticky when people have more than ten of a given type of component or when putting together a family panel (several different designs on the same PCB panel). Let's say you have 15 resistors. You could designate them as R1, R2, R3 - R15. But maybe you're a little OCD and you want them to all have two digits. In that case, you might have R01, R02, R03 - R15. To a human, "R1" and "R01" might very well be exactly the same thing. But to a surface mount robot, they are two different things. The robot would be happy with R01, R02, R3, R03, R4... but that could cause problems for a human reworking or maintaining the circuit later. It's best to be consistent. Basically, the assembly systems see reference designators as text items, not numerics.

Let's take the example of a family panel. One board has C1 and C2 are a 10uf, 24V tantalum cap. The other board has C1 as a .01uf, 50V ceramic and C2 as a 220uf 24V metal can electrolytic. If you were having them built separately, there wouldn't be any problems, but the two of those on a surface mount machine in a family panel and you will have bad news.

First you could avoid running your boards as family panels. That's not always practical though. Second, you could just start numbering the second design where the first one stops: design one: R1, R2, R3, R4. Design two: R5, R6, R7, R8. That makes a lot of sense for a family panel. Just treat it all like one big design. That can get confusing though if you later run them individually or need to do some rework. Some poor tech could go crazy looking for R1 on design two. Even worse would be: design on: R1, R3, R7. Design two: R2, R4, R5, R8. Again, fine as a family but darn confusing when separated.

Personally, I would probably go with something like: design one: R101, R102, R103. Design two: R201, R202, R203.

Duane Benson
You know the nearer your designator, the more you're silk screening away

BOMs Away

Yes, I'm talking about BOMs (bills of materials), not bombs. That would be silly and irrelevant. At least mostly irrelevant. If you make bombs, it wouldn't be, but it would probably be all secret so we couldn't talk about it.

The question of the day is: "What makes a good BOM?" There are a lot of BOM formats in use. It's one area that the standards train more or less left behind. Well, there are standards. For example, IPC-2581 covers not only BOM standards, but a replacement for Gerbers and the whole manufacturing data package. One of these days, we'll all be using the IPC-2581 formats for our data and life will be beautiful all of the time.

However, those standards aren't really in common use today. And, they are complex enough that they can't really be used in spreadsheet form. There's a lot of nesting and hierarchy that makes it more difficult to deal with without a BOM management software package. Still there is good data in there. A lot of good data. So much good data that my head is still swimming.

But until that day, there is a set of data and data labels that will help ensure accuracy. The headers are important too. If this seems quite rudimentary, that's because it is. But it's important.

BOM snippet

  • "BomItem" or "Item #": This is just the line number. Each type of part gets an item line, not each part. If the pat number is the same, you just put it down once and give the quantity.
  • "quantity" or "Qty": How many of this specific part you need per board
  • "RefDes": The reference designators used by the parts on the PCB silk screen. All of the same part number should be in the same excel spreadsheet cell: i.e., "R3, R4, R5, R6". You can also indicate a contiguous range with a dash: "R3-R6" or "R3-R6, R10, R15"
  • "Manufacturer" or "Manf": The name of the component manufacturer. It's best to spell out the full name, e.g., "Texas Instruments", but common abbreviations such as "TI" generally work too. The less ambiguity, the better.
  • "Mfg Part #" or "Manufacturer Part #": The part number that you would use if you were buying this exact part from the manufacturer or a distributor. All of the suffixes are important too. For example, "PIC16F88" is not enough when you really need a "PIC16F88-I/P".
  • "Dist. Part #" or "Distributor Part #":Not strictly necessary, but can help in cases with a bit of ambiguity. Again, this would need to be the exact part numer as you would order it from that distributor.
  • "Description"or "Desc": This is the component description as given by the manufacturer. Again, this isn't strictly required, just a good idea.
  • "Package": This is the standard package type, e.g., "SOT-23", "TO-92", "0201". Again, not strictly necessary but can be a good redundant check.
  • "Type": Optional indicator of the generic type. e.g., "fine pitch", "smt", "thru-hole", "Leadless". Not required but can help with assembly quoting.

That's not IPC-2581, but it is a good set of usual requirements. It's also best to put your final BOM on the first tab in your excel spreadsheet. That will make it easier for buyers to know exactly what you want.

Duane Benson
So long mom, I'm off to drop the bill of materials
So, don't wait up for me

 

Would You Like Parts With Those Frys?

In days of yore (last month), the PCB design process would more or less start with the schematic. (I'm ignoring all of the work that has to take place before the schematic) The bill of materials would typically come together during the schematic phase and get refined during PCB layout.

After that, it would be time to enter your bill of materials, a line at a time, into a parts website, upload your Gerbers to Sunstone Circuits for boards and then (hopefully) send the boards, parts and files to Screaming Circuits for assembly. If you're hand soldering, you might skip the last step. We hope you don't, but certainly understand if you do.

But here's something new:

At the Screaming Circuits website, you can now quote and order all three in real time.

  1. Quote the assembly labor
  2. Quote the cost of Sunstone PCBs
  3. Upload your BOM and quote parts

If it looks good to you, you can place the order right then and there. Of course, we still have folks to talk things through on the phone if you have questions or need non-standard services, but if you like what you see, it's a real quote and real order. No waiting for an email quote back. No going to three websites.

As always, we’ll happily build as few as one board or up into the thousands (or hundreds of thousands in our EMS division). Once we have your parts and boards, we can assemble it all in as little as one day.

BOM quote confirmation screen

 

Coming Soon!

If  you happened by our booth at DesignEast, you may have gotten a personal preview of our new automated parts quoting system. If you didn't get to see it, you will shortly. It's in the final stages of beta.

Order cost - new

 

This sample shows what you might see when you order Screaming Circuits assembly along with Sunstone PCBs, and components from our website.

In the meantime, you can still quote your assembly and PCB prices online here, and you can have us quote your parts offline.

 

 

 

 

Duane Benson
Maybe not today. Maybe not tomorrow, but soon and for the rest of your life.
You won't regret it.

Electrolytic Ambiguity

I've written about ambiguity a few times before, like this post about fiducials. But I'm not talking about the PC board today. I'm talking parts. More specifically, I'm talking about silk screen markings for your parts on the PCB.

CapacitorsDiodes have a lot of opportunity for ambiguity, as you can read here. There are many ways to mark parts, but fewer ways to clearly mark them. Take a typical electrolytic capacitor. It can be thru-hole, smt metal can, tantalum, or a few other form factors. The capacitor manufacturers aren't doing any of us any favors where markation is concerned.

Check out this image. Yikes! In all cases shown here, I've oriented positive on the left, which, according to IPC is pin 1. This is also the zero degree rotation for the centroid value. But, isn't it nice of those component manufacturers to put the identification bar on the positive side for tantalum capacitors and on the negative side for metal can electrolytics? Not!

So, how should you mark this in the silk screen on your PCB? For an electrolytic capacitor, the best approach is to mark the positive sided with a (+), plus sign. If you mark pin 1, with the number 1, it can easily be mistaken for the minus sign. If you mark the negative side with a minus sign, it can easily be mistaken for pin 1.

For a metal can capacitor, it is also acceptable to put the notched outline in silk screen. We still recommend that you place the (+) plus sign on there too.

Duane Benson
I'm just positive I put the negative right on the left

Counting once, counting twice...

Panel single scLet's say you have two options: First, you could send in your PC boards for assembly as individuals. Second, you could send them in a panel. That's all fine and dandy. For a few, send individuals. For a bunch, panels might make more sense. But, when you do go to quote and order, how do you count the parts?

Let's take this example. As a single, this board has 32 line items on it's bill of materials. That's 32 unique parts. Counting all of the individual part placements, there are 56 total parts: 42 smt and 14 thru-hole. So, naturally, if you quoted the assembly of 20 of this board at Screaming Circuits, you would enter your desired board quantity as 20, Panel 4-up sc32 total unique parts, 42 smt and 14 thru-hole.

But what do you do if you send it in panel form? How do you count? It's actually not as difficult as it seems. In this example, it's in a panel of four. There are still only 32 BOM line items, but there are four times as many placements. That means that if you quoted this, as a panel, you would enter 32 total unique parts, 168 smt and 56 thru-hole parts. If you still need 20 of the final boards assembled, you would enter 5 as your desired board quantity.

In the end, you will have 20 assembled boards. In case you are wondering about the cost, there won't be a difference. As long as the final number of boards (after the panel is broken apart) are the same, your cost will be exactly the same for panel vs. one up. You don't save any money by sending in singles. However, if your board is panelized and all of your parts on on reels, full or partial, you can save money by ordering Short-Run production.

Duane Benson
50 Years ago today
Robert Rushworth flew the X-15 to Mach 5.03 at 100,400 feet altitude

Is your BOM a Smart BOM?

Please be aware that there is no "B" at the end of these BOMs. Still, without the "B", you can have a smart BOM or a dumb BOM. It is important to note, however, that a dumb BOM may not be a bad thing. It just depends on what you want to do with it.

No matter what you're doing, there are a few necessities. Let's start at the very minimum, for someone designing something to be self-built from mostly already owned parts; maybe just a few from a dealer.

Reference designator: R1, R2, R3, C1, C2, U1... You have to have this information.

Quantity is important so know know how many to pull. Although, with a small garage-built project, you can probably just as easily count how many you need for a given value. And what about the value? Actually, the value isn't always all that necessary if you have the correct part number information. A line item number is hand for big bills to keep things straight.

This is actually too basic and kind of pointless, so I'm going to jump ahead. Take an assembly house like Screaming Circuits. Screaming Circuits will either build your boards from your kit of parts or purchase them from your BOM (or a combination thereof).

Once you have the item number, quantity and reference designator, you need to tell your assembler or purchaser what it is. If you already have the parts kit, just add in the manufacturer's part number and a description / value. That should do it. Some assemblers, like Screaming Circuits, will take part numbers from a distributor in place of or in addition to the manufacturer's part number(e.g. Element14, Digikey...)

If the assembly house is going to buy the parts, then add in the manufacturer and double check that the part numbers are accurate with all suffixes and things of that sort. The distributor part number can be added, but when the assembler is going to build the boards, you really should include the manufacturer and manufacturer's part number to cover all basis.

BOM sample

That's cool, but your circumstances might require just a little more. You might need to list an approved substitute or two for parts that come in and out of stock frequently. You could also list multiple distributor part numbers for the same specific component, again, in case of lead-time or stock issues.

Sometimes I get myself into a bit of trouble by not specifying some part values at design time. I might just throw in things like bypass caps, RS232 driver charge pump caps or LED current limiting resistors assuming that I just know what the value is. It's not a big issue, but it would probably be less work to just do it at the start.

Duane Benson
What the Bureau of Meteorology has to do with your parts kit, I'm not sure.

 

Zzzzzzzap!!! Static be Bad

Engineers these days have so many issues to worry about just in component handling alone:

  • Do my parts need baking to get the moisture out before reflow soldering?
  • Are my parts in stock?
  • Are my parts real or are they counterfeit or secretly remanufacturerd?
  • Are my parts really lead free?
  • Are my passive components small enough to make it out of the holes in my salt shaker so I can put them on the PCB?
  • Are my parts too small form my manufacturer to handle?
  • Are my parts too complex for my manufacturer to assemble?
  • Have my parts been zapped by static electricity either before or after assembly?

Static electricity is really something that no engineer should have to worry about these days. We know how it gets created. We know how to artificially create it and we know how to guard against it. There's really no excuse - especially from those that an engineer entrusts to build his or her designs.

Tesla_colorado_adjusted 500

People can carry around a static charge anywhere from several thousand volts to more than ten thousand volts; just by walking around. Joe Volta would be proud. Touching an electronic component or assembly the wrong way at the wrong time can discharge much of that through the electronics. Yes, most chips are better able to handle static electricity than the old 4000 series CMOS that could get zapped just by being looked at harshly, but pretty much any active component is susceptible to static damage to some degree. What makes it so Anti stat shoesinsidious is that the damage may be done in handling or in assembly but might not show up until the unit fails in the field.

The whole world knows how to keep electronics safe (that's an exaggeration, but at least most people in the Industry know how), and the whole industry understands the risks, so why would anti-static handling or packaging be an extra cost option? If it's you're own stuff, then fine. It's up to you. But someone you're paying? I don't get it.

Take a close look at the picture on the right. If you ever get a tour through Screaming Circuits, you'll see a lot of this. The floor is conductive. The bright green straps on the shoes are not a fashion statement. They're grounding straps. The blue jacket is conductive. Parts and PCBs are protected from static through these means and others all the way in and all the way back out to the customer. It's the right thing to do and the healthy way to do it and it doesn't cost extra. It shouldn't cost extra. Follow good static mitigation procedures yourself and make sure that whomever is assembling your parts does the same. That's my two cents worth.

Duane Benson
Frankenstein was grounded through his neck bolts, so he's okay.

 

Thru-Hole Parts

Screaming Circuits uses machines to place surface mount parts; even if it's just one board. Thru-hole are a different story though. Way back in the cobweby section of the building, we do have a thru-hole part sequencing and insertion machine. Our volume manufacturing division still uses it on occasion, but it's just not efficient for small quantities, which is why thru-hole parts get hand inserted at Screaming Circuits. We have three options for soldering the parts into your prototype. We can hand solder all of the parts, we can send the board through our selective solder machine or we can send it through the wave solder machine. We'll pick whichever route makes the most sense based on quantity and configuration.

It's good that we can solder the thru-hole parts, but how, you might wonder, do we know where to put the thru-hole parts? The SMT has the centroid file to tell our machines where to put them. Thru-hole Thru-hole locationsbeing more of a manual process, we rely on visual data. If your silk screen markings are readable, we can used that as a reference. If the parts will only fit one way into one footprint on the board, then  it's not much of a challenge. Regardless, make sure that the polarity is clear for any polarized components.

Sometimes, though, there isn't enough room on the PCB for clear silk screen and parts will fit in a number of different places. That's where the assembly drawing comes in. This illustrates an example of a suitable assembly drawing. It's got your web order number in the image and all of the parts are clearly pictured and their locations clearly identified. If any of the parts are polarized, make sure you include that information as well. Send the assembly drawing as a .JPG or PDF file format in your ZIP file with the BOM, Gerbers and Centroid.

Duane Benson
It just goes to the back side of the board. It's not a wormhole going to another galaxy.
Or is it?