Skip to content
Notifications
Clear all

Ordering OSH from a board house

1 Posts
1 Users
0 Reactions
364 Views
marcdraco
(@marcdraco)
Posts: 626
Moderator at Large
Topic starter
 

Back in the dark ages of PCBs we’d work very much like you might see in the movies with a photographer developing pictures in a bath.

Only our “enlargers” were UV lights that could blind you if you abused them and the baths were filled with acid. After which you had to find every hole and drill it to the right diameter before finally clearing off the “etch resist” and soldering to bare copper.

Nowadays we can just send our project (or even just a circuit diagram!) of to China and have it made up for less than the price of a couple of Taylor Swift albums and it comes back in a week or less (but rush jobs cost more).

You’ve found a great hardware project, it’s Open Source Hardware and all you have to do is upload the files to a specialist “board house” for production and even assembly and that’s where you hit the wall. What are all these files?!

So we’ll look at a four-layer board from one of my recent variations on the USB-C project. This is a simple circuit with source follower driving a very low-noise op-amp for x100 gain. This is a simplified version of the original circuit – the whole thing is shown below as a KiCAD schematic.

You don’t need to understand any of this to have the board made, but it’s useful to understand what some of the things do. The main one here are the red crosses which indicate components that are part of the circuit but are not fitted (at least, not by the board house).

The example below shows two alternative transistors – one fitted at our board house, the 2SK208 and one optional, the LSK170. The ‘208 is surface mounted and works out quite a bit cheaper than the ‘170 with similar performance in this application. The selection of the ‘208 here saves finding the ‘170 which can be expensive in some locations but the board can take either.

Optional parts can really throw a spanner so they’re worth looking out for.

OK, so I briefly mentioned how PCB’s were made decades ago and while things have moved on apace, they’re still made with an insulating material with one or more usually two sides covered in a thin layer of copper (sometimes called a foil).

For a simple, one or two layer board the manufacturer takes the foil Gerber and uses that to create the etch resist layer using a photographic transfer much as we did back in the stone age. A “Gerber” (not to be confused with those little pet rodents, they’re gerbils) is a vector illustration. Vectors are used because they are infinitely scalable. This is a very efficient system and not prone to breaking down around corners like pixel art is.

But Gerbers do more than just the etch resist, they carry a bunch of information. Here are (most) of the Gerber traces as a bitmap. The actual Gerbers are outlines like an SVG and are used on each layer as black and white, the grey here just helps to stop the ragged edges.

Gerbers

image

These (originally) photographic plate designs may be supplied separately or as a ZIP file. From left to right, top to bottom we have:

Edge cuts: these tell the board house the outline of your board so it can be shaped to something that isn’t a quadrangle. Edge cuts are made with a router, the drilling is separate again.

Etch resist (front): the black areas are where the copper foil remains – our circuit.

Solder mask (front): this is one of the odd ones because it’s inverted the dark areas are where the solder is going to be deposited later in the process. Soldermask is a coating that helps prevent solder from spilling over multiple tracks and causing a short circuit. Although this is helpful for the mass-production, it’s a boon to us because solder won’t stick so if we’re a bit sloppy, cleaning up the extra is usually a simple matter of some solder wick.

Solder paste (front): While constructors usually use solder “wire”, factories use solder paste which is literally a mush made with powdered solder and flux. This is done by making a foil template which is used to mask off the parts of the board where solder should not be applied. For through hole manufacture they use a solder “bath” – wave soldering – where solder is washed across the board. Wave soldering (the old way) is being replaced by SMD because the components are cheaper, smaller and more performant but there are still applications for through hole components, often in power applications. But it’s also prone to catch out the unwary and shorts catch out the unwary designer. In tight boards, it’s sometimes necessary to fit and solder the parts manually which is where we come in.

Inner Copper (1 & 2): The board in this example has two inner copper layers. These are a little more complex to make because every two layers have to be made separately and the “stack” is glued together. Both inner layers on this board are identical so I’ve just shown one. Once again, the copper is show in the dark colour. Note that the copper is also etched away where the holes are – and this is where we can see the “vias”. These are little copper tubes that connect the circuit from front to back and vice versa. Simple boards like this (for cost) avoid “blind and buried” vias because they require extra steps and are only used in very, very tight layouts. JLC for example can create boards up to 20 layers – that’s two outer ones that carry the components and up to 18 carrying signals and power. Predictably they’re pretty expensive!

Etch resist (back): once again, the black parts here are where the copper will remain. The large area here is a “copper pour” which is a bit of a misnomer because it’s where copper won’t be taken away. This particular board was originally dual layer but the extra inner layers do help with interference. Every trace (except the DC) needs somewhere for the energy field to follow. This is an advanced subject beyond this discussion, a rule of thumb that for every signal the other side of the board (or the nearest piece of board) should have an identical piece of copper. If not, the energy will jump to the nearest piece of copper and cause interference.

Silkscreen (front/back): Once again the term dates back to days of yore where he board would be painted using a screen rather like that paste stencil. These days it’s all done with inkjet printer designed for the task. JLC has recently expanded this to colour which will require a separate Gerbers for each colour pass.

Drilling (not show): The drill maps are used to guide the drilling machine to drill holes for the through-hole parts and the vias. It’s important to note that these holes are “plated” with copper and there is a limit on how close a routed hole (which isn’t carrying signals) can be to the copper layers that do – think short circuits. This plating also ensures that the components are soldered right the way through the board – which also makes them a bind to remove! The drill files are bundled with the Gerber artwork in the ZIP.

The BOM

Did you say, “bum?” (If that made you chuckle, you’re a fan of classic TV comedy). The Bill of Materials is your parts list. Most board houses will accept these in comma separated text which is human-readable. Some designers will include the project files, but sometimes you’ll just get a BOM – this is the format used by JLC which is quite simple

Reference,Value,Footprint,JLCPCB Part #
C2,30p,603,C1658
C4,100n,603,C14663
...
R1,2k2,603,C4190
Q2,2Sk208,SC-59,C112988

The actual BOM from KiCAD is more like this because it also tells the software how to create the pads. Your board house only needs the basic length so it can drop the part into place:

C2,30p,Capacitor_SMD:C_0603_1608Metric ,C1658

Your board house only needs the basic length so it can drop the part into place but where? That’s the job of the position file, here’s a sample:

Designator,Mid X,Mid Y,Rotation,Side
C1,152.4 mm,-41.15 mm,0,top
C2,153.02 mm,-59.83 mm,90,top
...
R8,137.16 mm,-57.63 mm,180,top

KiCAD’s output looks a lot different.

Ref,Val,Package,PosX,PosY,Rot,Side
"C1","22u","C_0603_1608Metric",152.401735,-41.145764,0.000000,top
"C2","30p","C_0603_1608Metric",153.021735,-59.830764,90.000000,top
…
"R8","10K","C_0603_1608Metric",137.161735,-57.625764,180.000000,top

Note how the format required by your board house might not align with the EDA the designer used. In the case of KiCAD developers have created python plugins to produce the correct format, but they are not always up to date or may not cover the BOM. Aisler’s plugin bundles all the Gerbers in one go, sends it and prepares it for board production.

I’m not an Excel expert and converting the POS file is a PITA (probably idiotic transfer argument, because that’s what I mean, right). The formula to convert from that rather detailed data is like this:

=CONCAT(TEXT(D2,"#.##")," mm")

Not that D2 here refers to the PosX as it appears in the spreadsheet. This formula is then pasted (in this case) into columns D and E for each component in the BOM. These numbers are then pasted (as text!) into the B and C columns and the headers are adjusted so it looks like this – the quotes are added by the exporter around text values, there’s no requirement to put quotes around the numbers.

Designator,Mid X,Mid Y,Rotation,Side
"C1",152.40,-41.15,0.00,top

SHTAP! I just want a board!

The detail here is not to show how much work goes into this and other EDAs (electronic design applications) can vary. I just happen to use KiCAD because it’s FOSS and the most powerful free option. Compared to the price of the market leaders like Altium which could run you over $4,000, there’s no comparison!

I’ll publish all of my designs as the KiCAD project so that anyone can adjust them AND the BOM, POS and Gerber/Drills ready for JLCPCB.

The .zip contains everything for the PCB itself, ".pos" is the position file and the .bom is the parts list for JLC. Any extra parts are listed in the KiCAD project or I'll detail them in the construction notes. As of now, I'm still developing some of the alternative designs for this exciting project.

This is a long post so I’ll leave it here. I might run the ordering process at some time but once you know what each file it, it’s quite straightforward.

The circuit we're creating

image

The completed board. Each copper layer is coloured. Red/Blue are front and back copper layers. The inner layers (used for screening and better signal routing) are show in orange and green hatched. Each hatched area represents a "copper pour" which the EDA will fill with as much copper as it can without shorting out any tracks.

image

 


Take everything I say with a pinch of salt, I might be wrong and it's a very *expensive* way to learn!

 
Posted : 18/05/2024 12:16 pm