A surprisingly large number people designing circuit boards do not include any specifications with their gerber files. Specifications have historically been kept in what’s called a readme file, which had to be created manually or copied from someone else. For those who do include specifications, they are often lacking in detail or contain too much irrelevant detail. When you order a burger, as soon as you start specifying things, the price starts going up. Nowadays a good fab service is going to ask questions, just so they don’t end up remaking your boards.
When I order a PCB, the release to production is contingent on approval of panelization unless the design is already panelized and I always require testing. I would typically write specifications on a single line, for example:
4-layer, 1oz ext, 1/2oz int, 1/16″ FR4, green soldermask, white silkscreen, ENIG.
This is all a good fab really needs to know. Wait, I didn’t specify any stackup. Not specifying a stackup isn’t the worst thing. How can that be? First of all, in the vast majority of cases the impedance is going to be 50 ohms. If you ask a fab to produce a different impedance they are going to ask for money and suddenly there is no impedance requirement anymore. So anyway, the fab has a standard stackup they use and that’s what you want and that’s what you’ll get unless you already knew that it costs more to get something different and said so in your readme.
The worst thing is the FR4 itself. FR4 is the substrate, the glass filled epoxy making up the core of the PCB between the layers of copper. Back in the day this was no big deal until the RoHS standard came along and people started using lead-free solder. Now you can get special lead-free solder with lower melting points, but often SAC305 or SN100C is used and so the board has to be processed at a higher temperature. RoHS is a standard banning chemicals, in this case lead, so if someone says that it complies with RoHS all they are saying is that it doesn’t contain lead and other chemicals and that’s it. What you need is FR4 which can withstand reflow temperatures required for lead-free solder.
In order to get FR4 that withstands lead-free soldering most people specify Tg140. Tg140 means that above 140°C the epoxy starts to become squishy and the layers of fiber can start to come apart (delaminate) due to thermal expansion. This temperature is supposed to be 25°C above the maximum operating temperature of the board, so in the case of Tg140, the maximum operating temperature is 115°C. Solder on the other hand, especially lead-free solder melts at a temperature far above this. SAC305 reaches liquid state at 221°C. So what good is it to say Tg140 when you need to withstand 221? Almost nothing. Before lead-free solder, typical FR4 was rated for Tg130 for an operating temperature of 105°C which covers most commercial grade components. By asking for something better than Tg130 you are just hoping that it’s good enough for lead-free soldering, and in most cases it barely is.
By barely I mean that if you are mass producing and throwing out anything that doesn’t work you won’t care either way, but I work with people who produce a thousand or less and try to salvage anything that doesn’t work, especially prototypes. What you want in this case is to say is T288 of 5 minutes or more, which means that the FR4 has been tested to not delaminate for at least 5 minutes at 288°C. If you are thinking of pulling a complex IC off a board using a hot air solder station, how long do you think you need and at what temperature? There are lots of brands of FR4 and different Tg ratings. You may find one brand’s Tg130 is good enough, but another brand you have to go with Tg150 to get something that will be reliable, so just giving a Tg rating isn’t good enough. In most cases you won’t even know which brand of FR4 is used, but it will almost certainly be a Chinese brand and that should make you pause.
For example, Shengyi S1000 is Tg150 and has T288 of 10 minutes. Shengyi S1141 is Tg140 however T288 is only 2 minutes. Kingboard KB-6160 is Tg130 and T288 is 3 minutes and KB-6164 is Tg140 and T288 is 15 minutes. So Kingboard’s Tg130 is sort of better than Shengyi’s Tg140. Most suppliers I have used use either Kingboard or Shengyi. PCBCart.com uses Shengyi S1141 but SAFE-PCB.com uses Shengyi S1000 so I prefer SAFE-PCB. It would be nice to use someone who uses Kingboard Tg140, but in many cases you won’t know what brand of FR4 is used unless you ask directly.
There are several other brands of material of varying quality and people demand cheap and don’t know what matters. Some people resort to asking for Isola or ITEQ which will cost you when you don’t really need it, such as high speed or high temperature. The vast majority of products are running microcontrollers at barely a hundred MHz and don’t reach commercial temperature rating because you will get sued if someone burns themselves.
Usually specifications contain lots of superfluous and sometimes outdated details. Fabs might suggest certain things be in there, but it’s usually deducible from the files if it’s relevant at all. For example, people will say things like LPI or SMOBC without knowing what they mean.
I have never seen any situation that mattered whether a board was produced using LPI vs the alternative DFSM or more modern digital printing, because when you receive the board the soldermask is already cured. The reason for this specification is because in the past there were simpler ways of screenprinting boards more suitable to making T-shirts, and they don’t even make T-shirts this way anymore either.
SMOBC would only need to be specified if you are using HASL finish which you probably shouldn’t be using unless your board is an antique with only through hole or maybe just 1206’s and SOIC’s. And on top of that you are probably using solder containing lead. Lead-free solder is notorious for not flowing, but solder flowing under the soldermask is the reason why SMOBC was originally specified. Almost certainly you don’t need to ask for soldermask over bare copper because that is the defacto standard process.
Dimensional size of the board is a nice to have, but if you have dimensions in your drawings, that is enough. There is no need to manually type out copies of the same information which is where errors really come from.
Trace/space? Back in the day making 6mil traces was expensive. Now it’s not so who cares.
Numbers of holes, hole sizes, number of drill sizes. Back in the day, through hole boards had more holes and they used to charge by the hole. It was also a bigger deal (more expensive) to make small holes. Having drill drawing and table in your gerber files is good enough.
Layer filenames are fairly standard. The only problems might be the mechanical graphical layers which usually aren’t used for manufacturing. If you want them to manufacture something with them, like a special mask or controlled-depth milling, you have to explain exactly what you want and it’s going to cost extra.
Most people order PCB’s online and when you do that usually the online order form has all the specifications right there. If you are maintaining readme files manually, it’s tedious and prone to human error. Because of these two things there will sometimes be inconsistencies between what the specifications say and what the order says, leading the fab to ask questions. So if the fab is going to ask all the time no matter what, it actually deters people from good habits to avoid what seem to be unnecessary questions and back-and-forth delays.
The best way to avoid problems is to tell the fab on the order form to disregard the specifications on the order form and just use what the readme or specifications file says, and you may still have questions but they only refer to the specifications rather than any differences between them and what’s on the the order. If you are in a situation where the person making the specifications and the person ordering the PCB are not the same person, you probably wouldn’t expect the person doing the ordering to make judgements on the specifications.
Readme files can be supplanted by automated outputs from more advanced modern PCB design software. I use Altium’s Draftsman document and render it as a PDF in my OutJob which serves as my readme. I use project parameters to hold the specifications so don’t have to edit the individual files. I use an Excel sheet to define my specifications and just paste them into Altium’s project parameters, rather than try to define them all manually.