Making a my own pad

Ring shaped pads can be made by using a graphical circle as the primitive for a custom pad.

To make it:

  • place a graphical circle on any layer with your desired dimensions (radius and width) (f.silk would do)
  • place a circular pad anywhere on the circle (one easy option would be the point [radius, 0] + circle center)
  • select the pad and the circle.
  • right click -> pad from shapes

You can now work with this pad like with any normal pad. But there is a bug regarding mask and paste handling in 5.1.2 (and possibly all previous versions of kicad 5) https://bugs.launchpad.net/kicad/+bug/1828287
This bug means that if you use clearances different to 0 (which you probably want) then the result will not look like you expect. The workaround is to have one pad per layer with the width set such that you get your desired clearances.

Oh and i am working on a python abstraction for ring shaped pads: https://github.com/pointhi/kicad-footprint-generator/pull/351


Another option is to approximate the shape with a polygon primitive for the pad. You will however not want to do this by hand. This would be what you get when using stepup for creating such a pad: Kicad StepUp: The Sketcher for Footprint generation