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


TrackBack URL for this entry:

Listed below are links to weblogs that reference Speaking of Reference Designators...:


That's another good solution: "iR1, iR2..." and "mR1, mR2..."

That scripting (ULP) capability in Eagle is pretty nice. And having all of the data in XLM format in version 6 is a big improvement too. I would guess that accessing XML with Python is much easier than was accessing a proprietary format.

I've been dealing with this over the last couple weeks, constructing a 'family panel' yesterday for 4 designs that get stacked together. I wrote an Eagle script that outputs BOM + centroid data, and some python scripts that will a) merge those along with gerbmerge placement data into a single BOM, and b) convert that BOM into a compound spreadsheet. For reference designators, I design each board separately, then the merge script finds the first 'unique' letter in the design names and prepends that: R1, R2 on board 'i' and 'm' become iR1, iR2, mR1, mR2, etc. I really ought to try to write up a blog post about how this all works, and try to publish what scripts I have...

Post a comment

If you have a TypeKey or TypePad account, please Sign In.

« BOMs Away | Main | BOM process »