Silkscreen Cleanup and Generating Gerbers, Drill Files and BOM in KiCad 8
A fab does not read KiCad files. It reads a set of standard manufacturing files: Gerber files for each copper, mask, paste, silkscreen and outline layer, Excellon files for drilling, and for assembly a bill of materials and a component position file. If any file is missing or wrong, the fab builds exactly what you sent, not what you meant.
This article covers the final silkscreen pass that makes assembly and debugging easy, then generates every output from KiCad 8 and checks them before upload.
Silkscreen and Assembly Markings
Silkscreen is what you will read with a magnifier when you solder, probe and debug the board. Spend ten minutes on it.
- Readable size: most fabs need silkscreen lines of roughly 0.15 mm or wider and text around 0.8 to 1 mm tall or more. Check your fab's minimums and set them in Board Setup so DRC enforces them.
- Off the pads: text over pads is clipped by the fab or ends up under solder. Move references next to their parts, not on top.
- Consistent orientation: keep text readable from at most two directions, usually bottom and right.
- Polarity and pin 1: diodes, LEDs, electrolytic capacitors and every IC need a clear pin 1 or polarity mark that stays visible after the part is fitted.
- Connector labels: write pin functions next to headers, for example
GND 3V3 SDA SCL, and mark the input voltage at the power connector. - Board identity: project name, revision such as
Rev A, and date. You will thank yourself when several revisions are on the desk.
For dense boards where references do not fit, rely on an assembly drawing instead. Plot the F.Fab layer, which carries the real body outlines and references from each footprint, together with Edge.Cuts to a PDF using File > Plot. This drawing shows where every part goes without cluttering the board.
Generating Gerber Files
Run a final DRC with zone refill first. Then open File > Fabrication Outputs > Gerbers (.gbr), which opens the Plot dialog with Gerber selected.
| Layer to include | Content |
|---|---|
| F.Cu, B.Cu (and In1.Cu, In2.Cu on four-layer) | Copper |
| F.Paste, B.Paste | Stencil openings for SMD assembly |
| F.Silkscreen, B.Silkscreen | Legend printing |
| F.Mask, B.Mask | Solder mask openings |
| Edge.Cuts | Board outline and internal cutouts |
- Set the output directory to a new folder such as
gerbers/. - Tick the layers above. Leave Fab, Courtyard and user layers unticked.
- Keep Plot reference designators and Plot footprint values settings as you intend; values usually stay off.
- Tick Check zone fills before plotting.
- Many fabs prefer Protel file extensions such as
.GTLfor top copper; tick Use Protel filename extensions if your fab asks for them. - Click Plot.
Generating Drill Files
In the same Plot dialog click Generate Drill Files, or use File > Fabrication Outputs > Drill Files (.drl).
- Drill file format: Excellon.
- Choose whether plated (PTH) and non-plated (NPTH) holes go in separate files; many fabs accept either, and separate files make mounting holes unambiguous.
- Drill units: millimetres, with decimal format zeros.
- Drill origin: absolute, matching the Gerbers unless your fab says otherwise.
- Click Generate Drill File, then Close.
BOM and Position Files for Assembly
If the fab will also assemble parts, it needs to know what each part is and where it goes.
- In the Schematic Editor, open Tools > Generate Bill of Materials. Choose the fields to export, group identical parts, and export a CSV. Add a column with the manufacturer part number or the assembler's catalogue number as a symbol field before exporting.
- In the PCB Editor, open File > Fabrication Outputs > Component Placement (.pos). Choose CSV format, millimetres, and separate files for front and back if needed.
- Mark parts you will fit yourself, such as through-hole connectors, with the Do not populate or Exclude from BOM attributes so they are left out.
Example BOM rows (CSV): Reference,Value,Footprint,Qty,MPN C1 C2 C3,100nF,C_0603_1608Metric,3,<part number> R1 R2,10k,R_0603_1608Metric,2,<part number> U1,AMS1117-3.3,SOT-223-3_TabPin2,1,<part number>
Verify in the Gerber Viewer
- Open the Gerber Viewer from the project manager and load all Gerber and drill files from the output folder.
- Toggle layers one at a time: check that the outline is closed, copper pours are filled, mask openings match pads and silkscreen does not overlap pads.
- Confirm drill holes line up with pads; an offset means mismatched origins.
- Zip the folder and also open it in your fab's online viewer after upload, which shows how they interpreted the files.
It also helps to save the plot and drill settings with the project. KiCad remembers the last Plot dialog settings in the board file, so the next revision can be exported with the same choices. Delete the old output folder before every export, because a stale file from a previous revision in the zip is a classic cause of a board built with old copper and new drill holes.
Summary
Clean silkscreen with readable references, polarity marks and a revision label, backed by an F.Fab assembly drawing for dense boards. Export Gerbers for copper, mask, paste, silkscreen and Edge.Cuts, Excellon drill files with a matching origin, and a BOM plus position file for assembly. Always reload the outputs in the Gerber Viewer before uploading.