PCB & manufacturing
BOM, Gerber, CPL and Drill Files: What Each PCB Manufacturing File Does
What each manufacturing file contains, who uses it, how they relate, and the four ways a centroid file goes wrong.
What does each PCB manufacturing file do?
Four file types carry most of the information needed to build a board. They are often sent together in one ZIP, which hides the fact that they go to different people and answer different questions.
| File | Answers | Used by | Generated from |
|---|---|---|---|
| Gerber | what shapes go on each layer | fabricator | PCB layout |
| Drill (Excellon) | where the holes are and how big | fabricator | PCB layout |
| BOM | which parts, how many | purchasing, assembler | schematic |
| CPL / centroid | where each part goes and at what angle | assembler's machine | PCB layout |
The useful mental split: Gerber and drill describe the board. BOM and CPL describe what goes on it.
Gerber files
A Gerber file describes the shapes on one layer — copper, soldermask, silkscreen, paste stencil — as a set of apertures and the coordinates where they are flashed or drawn.
A six-layer board typically produces somewhere around twelve to sixteen Gerber files: six copper, two soldermask, two silkscreen, two paste, plus an outline. The exact count depends on what is on each side.
Two format versions are in common use. RS-274X embeds aperture definitions in the file and is the long-standing default. X2 adds metadata — which layer this is, what it is for — so the fabricator does not have to infer layer roles from file names. Ask which your fabricator prefers; many accept both.
Drill files
The drill file lists hole positions and diameters, in Excellon format. Plated and non-plated holes are usually separate files, because they are different manufacturing operations.
The thing that bites people: the diameter in the file can be the finished hole size or the tooling size. Plating adds material and shrinks the hole, so the two differ — typically by a few hundredths of a millimetre, which is enough to stop a connector pin fitting.
ECAD tools differ in what they export, and some let you choose. State in your fabrication drawing which one you exported. It costs one line and prevents a whole category of wrong boards.
The BOM
Covered in depth in how to create an electronics BOM. In the context of a manufacturing package, three things matter:
every line has a manufacturer and a manufacturer part number; DNP lines are present and marked, not deleted; * the list states which board revision it belongs to.
The BOM is the only file in the package generated from the schematic rather than the layout. That is why it can drift out of step with the others — it has a different source.
The CPL / centroid file
Also called pick-and-place, placement file, or XY data. Same thing.
It is a table with one row per placed component:
Designator X Y Rotation Side
U1 45.720 31.750 0 top
C12 52.400 28.900 90 top
J1 12.700 55.880 180 top
R22 33.020 41.910 270 bottomFour things go wrong with it, and all four are worth checking every time.
1. Origin. The coordinates are relative to some origin. If the centroid was exported with a different origin from the Gerbers, every part is placed offset by the same amount. The symptom is obvious on the assembler's preview and invisible in the file.
2. Rotation convention. This is not standardised. Whether 0° means pin 1 top-left or pin 1 bottom-left, and whether rotation is clockwise or anticlockwise, varies between tools and assemblers. A connector rotated 180° scraps a build. Agree the convention with your assembler before the first order.
3. Component origin vs body centre. Some footprints have their origin at pin 1 rather than at the body centre. The placement machine wants the body centre. Most tools handle this correctly; some footprints from third-party libraries do not.
4. DNP parts included. If a part is marked DNP on the BOM but still appears in the centroid, the machine places it. Check the two against each other.
How they relate — and where they disagree
Schematic ──────────────→ BOM
│ │
│ │ must agree on:
│ │ designators, quantities, DNP
↓ ↓
PCB layout ──┬───────→ Gerbers
├───────→ Drill
└───────→ CPL
│
└─ must agree with BOM on: designators, DNP
must agree with Gerbers on: originThe failure modes follow directly from this diagram:
BOM and CPL disagree → wrong parts placed, or DNP parts fitted CPL and Gerbers disagree → everything offset Gerbers and drill disagree → holes in the wrong place, or wrong size Schematic and layout disagree → the deepest problem; everything downstream is wrong consistently
What if you send the wrong set?
| You send | To | Result |
|---|---|---|
| Gerbers + drill | fabricator | correct |
| BOM + CPL + assembly drawing + boards | assembler | correct |
| Everything | either | fine — they ignore what they do not need |
| Gerbers only | assembler | they cannot build; expect an email |
| BOM only | fabricator | ignored |
Sending too much is harmless. Sending too little costs a round trip, which on a typical lead time is three to five days.
A quick cross-check before sending
- [ ] Gerber layer count matches the stackup
- [ ] One closed outline, on one layer
- [ ] Drill files present; finished vs tooling stated in the drawing
- [ ] BOM designator list matches the CPL designator list, except DNP parts
- [ ] DNP parts are on the BOM and not in the CPL
- [ ] CPL origin matches Gerber origin
- [ ] Rotation convention agreed in writing with the assembler
- [ ] Board revision stated inside the files, not only in the ZIP name
That fourth item — comparing the designator lists — takes two minutes with a text editor and catches more real errors than any other single check.
Generating these four files is one export. Keeping the four of them consistent across three revisions, so that the BOM in the folder is the one that matches the Gerbers next to it, is the part that goes wrong.
In XKEMA the manufacturing package belongs to a PCB revision and an approved version is frozen, so the set stays together.
Hardware documentation PCB manufacturing package checklist * PCB assembly drawings: the document a person reads