KiCad v5/6 uses the Edge.Cuts layer for board outline. Outline is drawn with graphic items. The traditional method, used in v5, is to use straight lines and arcs. In v6 it’s also possible to use rectangles and polygons if rounded corners aren’t needed. Rounded corners are created with arc shapes and the rest must be drawn with separate straight lines.
Even though it’s possible to draw to Edge.Cuts freely, it must be used under strict rules. These come from the Gerber file format recommendations and from the board manufacturers who interpret and use the Gerber file generated from the layer. Remember: the manufacturers may interpret files differently. Always check the manufacturer’s requirements and recommendations.
Usually, at least these rules should be obeyed:
This maybe self-evident, but a board needs an outline. Don’t rely on any implicit information such as text based measurement or the fact that the 3D viewer of KiCad will show a board outline for a board with no such outline.
The outline must be continuous. When drawn with several lines, the end point (the exact coordinates) of the first line must overlap with the start point of the second line, and so on. The end point of the last line must overlap with the start point of the first line. KiCad allows a very small gap and manufacturers allow that, too, because sometimes it’s impossible to collide perfectly when arcs are used.
A normal geometrical polygon, rectangle and circle are examples of closed shapes. A very common shape for boards is a rectangle with rounded corners.
Lines of the outline must not cross.
Only one outline
There should be no more than one board outline in one file. KiCad is designed so that there’s one board in one project, also, manufacturers often don’t like several board outlines in one file.
Nothing but the outline
There should be no extra markings, items, or text in the Edge.Cuts layer.
Edge is in the middle of the line
Graphic lines have thickness; the actual board edge is the middle of the line.
Recommendations and tips
Internal cutouts are possible
Adding another closed line totally inside the outer outline adds a hole to the board. Follow manufacturer’s recommendation for this. Some may want internal cutouts in another layer, although, then, for example, KiCad doesn’t use the DRC check or show the 3D view.
For large circular holes inner cutouts may be recommended instead of drill holes, depending on the drill bit sizes manufacturers will supply.
Note: some popular manufacturers have a maximum drill size of 6.3 mm.
Sharp inner corners may be impossible to manufacture
Sharp inner corners can be drawn without problems, however, manufacturers often use a round router bit to route the edges resulting in inner corners having a radius. If, for example, you have some cube shaped object with sharp edges which must be fitted in an inner square hole in the board, the manufacturer may accept extra holes in the corners. These holes are drilled before routing, allowing enough room for the sharp corners of the object.
Drawing complex shapes
KiCad’s graphic drawing capabilities are limited. Straight lines with n*90 degrees orientation and n*90 degree arcs and any combination of these are, with knowledge, very easily handled with KiCad. Otherwise alternate external graphics applications which export to DXF can be used. The file formats (some versions) of these applications can be imported to KiCad.
FreeCAD with StepUp workbench can handle complex shapes and can write directly to KiCad files.
Edge plating is possible
Usually manufacturers interpret copper over an edge to mean plated edge. It’s important to check the manufacturer’s capabilities, recommendations and charges.
Castellated edge is possible
In v6 Copper to Edge clearance is in Board Setup -> Design Rules -> Constraints. In v5 it was possible to add more clearance by changing the Edge.Cuts graphic line width. The clearance was from the line edge, not from the middle of the line. In v6 the clearance is from the middle of the line. For a different clearance for part of the edge, a rule area with a keepout or a defined custom DRC rule is needed.