KiCad (6x+5x)

Kicad Versions

⚠️ These docs refer to Kicad 6 and Kicad 5. See here for Kicad 7 and newer. These versions have notable differences to the interfaces and certain behaviours.

Design Rule Setup

KiCad requires that you manually set the design rules in PCBNew when you start a new board layout. We also provide a template that you can use when starting a new project.

Generating Manufacturing Files

We accept .kicad_pcb board layout files directly. For most users, this is the best way to order boards designed with KiCad. We currently support uploaded Kicad files from the current stable version, 6.0.4.

We also support uploading gerbers generated with Kicad. For additional details, see our guide on generating and submitting gerbers. We detect KiCad’s output filenames automatically, so it’s not necessary to rename them.

Common Issues

Make sure to run ‘Fill Zones’

Some operations in Kicad do not update fill zones (usually ground pours), which can leave them out of date and not reflecting the intended changes to a PCB. To avoid this, we would suggest re-filling the zone prior to generating gerbers or submitting for production. In Kicad 5.x and 6.x, using the DRC tool will remind you to do this when running a check, or it can be done using the hotkey b.

Due to changes in Kicad 6.x’s file format, we do not process fill zones for submitted .kicad_pcb files. This is due to Kicad removing user specified DRC data from the .kicad_pcb file, and placing it in the .project file instead. Prior to August 2022, we would redraw them as it was safe to do so with data provided by Kicad 5.x files.

Setting Mask Expansion

By default, KiCad sets a very large mask expansion, which can allow solder shorts to be added during board assembly. See our Stop Mask Expansion page for a more detailed explanation of the problem.

The mask expansion setting can be adjusted under the menu option Dimensions > Mask Pads Clearance, and then setting the Solder Mask Clearance box. We typically recommend a value of 0.002in (0.0508mm), although the optimal value depends slightly on the design itself.