What is the meaning of the layers in pcb_new and in the footprint editor?


A pcb is a 3-dimensional object with different materials stacked on top of each other.
If a designer talks about designing a 2 layer board then they typically mean that this board has two copper layers. A 4 layer board has 4 copper layers and so on. In addition to these copper layers there are other technical and documentation layers available.

In KiCad the following layers are available.

  • Layers that have a front and back version start with F. (for front) and B. (for back)
  • The F.Cu and B.Cu layers are the copper layers
    • If there are additional copper layers they use the names In[number].Cu by default
    • The names for copper layers can be changed by the designer.
  • F.Silk and B.Silk define artwork on the silkscreen layers.
    • Typically this is the white artwork printed on the board.
  • F.Mask and B.Mask define the area free of soldermask.
    • It is the negative of the resulting film that covers the board.
  • F.Paste and B.Paste define the area that will be covered with solder paste (In datasheets often called stencil)
  • Edge.cuts: This layer is used to communicate with the manufacturer what the final board shape should look like.
    • The edge-cut is must not contain self intersections
    • Polygons on the edge-cut must be continuous and closed.
    • It is allowed to have internal cutouts
  • F.Adhes and B.Adhes are layers to define adhesive (=glue) areas.
    • Only needed if components are on the bottom side during reflow soldering. (And even with components on the bottom it is not always needed. Check with your manufacturer if you need to define it for your board.)
  • F.CrtYd and B.CrtYd are used to define a courtyard area.
    • The courtyard defines where no other component should be placed.
      • The size of this area depends on your manufacturing capabilities.
      • It also depends on your needs. (If you want the possibility to rework the pcb, you might need a larger area compared to when you do not plan to do this.)
      • The rules used in the official lib are defined in the KLC - Rule F5.3 and are closely aligned to industry standards.
    • In KiCad 4.0.x courtyard violations are not checked by the design rule check
  • F.Fab and B.Fab are documentation layers.
    • These are intended to be used for communicating with board assembly houses and for user documentation.
  • Dwgs.User and Cmts.User are used for user drawings and comments.
    • In the official lib this layer is used to communicate with the user of footprints. (Example to tell them where to place keepout areas as they are not directly supported by KiCad in footprints)
  • Eco1 and Eco2 are layers with no specific defined purpose. (The user can use them for whatever they want. They are not used in footprints supplied by the official lib.)
  • Margin layer: Is there to define a margin relative to the edge cut.
    • There is no DRC check to verify that no copper feature violates the margin definition.

Limitations of the footprint editor

SMD pads in the footprint editor can only be placed on a top or bottom layer.
THT pads typically use *.Cu to communicate that these interact with all copper layers.

The use of layers that have no defined bottom or top layers is undefined. (Dwgs, Cmts, Eco1/2 layers) More info see this wishlist bug

The use of the edge cut layer in footprints can result in problems. As there is no snapping for the drawing tool other then to the grid this might result in polygons that are not closed.
In kicad 4 (and probably also kicad 5) this layer is unsupported by the footprint editor. There is no way to define drawings on that layer from within it. Opening a footprint that has edge cuts drawings will result in them being moved. More details about edge cut support see this wishlist bug

Margin or Edge.Cuts
FAQ Index Thread
Tutorial: How to make a footprint (From scratch)?
Pad peripheral ring, is it keep out?
How to find a specific global label on multiple sheets?
Replicate board layout from image (Reverse engineer comodore C64 board)