Sunday, February 2, 2014


Sometimes a design needs some non-round cut-outs in the board. These are often in the form of slots. If you need slots, here are some things to keep in mind.

During manufacture, slots are created using CNC routing.  The milling bit used to create them is 0.8mm in diameter, so this sets the minimum width of the slot.

These slots are minimum width
(Image:RikusW, used with permission)
The files you send need to show where you'd like the slots.  There are two ways to do it.

The first way is by putting them into the Excellon drill format.  This format can do simple slots as well as holes.  A simple slot is basically a line that goes from one point to another.  Because it's an extension of a hole, the ends of the slot will be rounded.  It's possible to overlap these slots to make more complex shapes, but it's a bit limited by the format supporting only fixed-width slots, rather than arbitrary polygons.

If your design requires plated slots, then make sure the slot definitions go into your plated drill hole file (generally with a .txt ending). If you need unplated slots, put the slot definitions in your unplated drill hole file (generally with a -NPTH.txt ending).

If you'd like to see how to do this with KiCad, see my Slots in KiCad article.

The second way is to put the slot information into your outline file, just as for your board outline.

Consider for a moment how strokes in your outline layer define the size of your board.  The outline of your board isn't affected by the stroke width (it's ignored), but by the centreline of the stroke.  And the same is true of any slots in the outline file: It's the centreline of the strokes that sets the boundaries of the slot.  So apart from keeping in mind that the the minimum slot width is 0.8mm, you don't need to do anything that takes into consideration how the factory will make the boards.  I.e., you don't need to allow for the tool size when defining the slot.

Let's say you want a slot that's 3mm across.  There are two ways to do this.  The first is to have a stroke in your outline layer with a width of 3mm.  The second way is to have two very thin parallel strokes, plus corresponding arcs at the end, that form a polygon enclosing a space of width 3mm.

The fabs I use accept both, although my preference is for the latter, for three reasons:
  • The thick stroke method relies on not ignoring the width of the defining stroke.  So it puts the factory in a situation where they have to assess every stroke in your outline layer and work out whether thickness is significant.
  • The thick strokes look terrible when viewed with tools such as gerbv and gerblook.
  • My panelisation tools have trouble panelising designs that use thick strokes. 
If your design uses fat strokes, you can convert them to thin strokes by drawing around the perimeter of the fat stroke with thin strokes, then deleting the fat stroke.  See here for an example of doing this with KiCad.

So, both the drill file method and the outline layer method are valid and common.  When to use one over the other?

If you need plated slots, you have to use the drill file method.
If you want to see the slots using gerbv or gerbview, choose the outline layer method, as these programs don't display drill file slots.

Finally, here's a lovely example of a board that was done using the outline layer method:

Lots of exciting slot action here, using the outline file method.
Design by mog, shared with permission
You can see conventional slots (between the top, middle and bottom board), rectangular slots on the bottom board, and non-rectangular cutouts in the right-hand board.


  1. Replies
    1. V-cuts (aka v-scoring) are cuts that are made from one side of your board to the other. They are often used to allow the sub-boards of a panelised design to be snapped apart. If you'd like v-cuts in your design, please provide them as lines in a separate file, called for example, myproject-V-cut.gbr. I tell the fab that this is a file of v-cut lines, and the fab takes it from there.