How to create a power plane (using zones)

This article is about technical aspects of KiCad only, not about using GND or power planes in general.

Working With Power Planes

In short:

  • KiCad uses zones for planes
  • Zone is a copper area which can have an associated net and which can be filled automatically
  • KiCad doesn’t normally fill isolated areas (and normally you shouldn’t even try that because it’s not electrically good)
  • For a zone to be filled, a pad of the same net must be inside it or connected to it
  • A via triggers filling, too, if it’s connected to a pad directly or indirectly
  • Zone fill does not update automatically; use the B hotkey to (re)fill (Or run DRC with the refill option selected)
  • You can have zones of the same net in different layers which overlap and put a via there, the via will automatically be in the same net (that kind of connection with vias is called via stitching)

In KiCad a layer cannot be set up as a power plane functionally. You can select something which looks like it in the board setup, but actually it does nothgin in KiCad (it just gives information for autorouters when exporting data for them).

Instead, you have to create a zone.

image

Select the layer as active layer, here In2.Cu is active:

image

Select the zone tool, click on the board and select the net for the zone. You can select the layer here, too, and the same zone can exist in several layers:

image

Click OK, draw a polygon and you have a plane for your selected net. Just draw a rough rectangle outside the board edges if you want the plane to fill the whole board area.

Appendix

Requirements for Zones to Fill

Planes only fill if they have a connection to a pad of the correct net in some way. This connection can be done by having the center of a pad inside the zone area, by connecting using a trace or by the use of a via.

From: Filled Copper Zones not showing up in Gerbers/Printouts/3D view - #9 by bobc

Not shown in the picture is the new option of version 5 to connect two zones of the same net using a via (so called stitching vias).

Use the B hotkey to (re)fill all zones; make sure that the visibility setting is set as “Show filled areas” with the relevant left hand toolbar button.

6 Likes

Overlapping zones

Zones can overlap. Overlapping zones on different layers don’t affect each other. If they belong to the same net, you can stitch them with vias; otherwise not.

Zone borders can also overlap on the same layer.

image

The behavior in that situation depends on the properties of each zone. Naturally the net is important. Another one is priority.

Zones with different nets

When zones belong to different nets, KiCad locigally can’t just know how they should be filled if you haven’t given information about which one should take precedence. If they have the same priority value, they are both just filled. This leads to a situation where you have a DRC violation.

image

Therefore you have to give them lower and higher priority values (lower value = lower priority). The higher priority zone is filled over the lower priority one, and the lower priority zone isn’t filled in the overlapping area.

image

Clearance values

Each zone has its own clearance value. This doesn’t override the net class clearance (which is set in the Board Settings). They are both used and the larger one is effective. Thefore, if you have two zones of different nets which have the same priority, the gap between them must be at least as wide as “max(zone1_clearance, zone2_clearance, net1_clearance, net2_clearance)” (i.e. the largest of the four clearance values).

image

Fine tuning the gap can be avoided by setting the priority values. Then the lower priority zone avoids the larger priority zone and the largest clearance value is effective.

Zones with the same net

If you draw two overlapping zones with the same net and the same priority, KiCad may fuse them together. (The behavior seems to be a bit unpredictable here in version 5.1.4, but you can’t expect them to remain as two distinct zones.)

Zones with different priorities are kept separate, but as of 5.1.4 the result when filling may be something you don’t want.
image

image

5 Likes