Round (Circular) Boards?

I have been asked if I can build a round board with a large hole in the middle. (Yep-I know-YUK!).
It has to be that way because it is a tight fit and has an optical path down the middle, LEDs around the edges.
My questions are:

  1. Can this be done with KiCAD regarding a circular edge and center circle (didn’t see any way).
  2. Is there at least a way to arrange the LEDs on this board neatly in a circle and angled radially parallel (spacing and position is optically critical).


I just replaced a rectangular outline with two circles and it looks OK in the 3D viewer (KiCad V5.1.9) which is a strong indication that KiCad does not have problems with it.

Rotation of Footprints is as far as I know always rounded to 0.1 degree.

You may want to have a look at the “studio clock” in SKiDL. This uses a script based approach to put many LED’s in a circular orientation.

KiCad V5 is still very limited in drawing circular tracks. This is slowly getting more support in the nightlies.

I’ve done this a few times - not sure if it’s what you want… Perhaps?

All are facing the center/axis v5.1.9

Now I’ve just experimented a bit with the circular array and I got it to draw an array of (presumably, I did not count) 28 LED’s. For the angle I typed “360/28”.
You do have to pick a center position, and put the first LED on the right distance from that radius. ( I find (127, 127) a convenient location because it lines up with both metric and those other grids).

Something I have not figured out yet is how to match the LED RefDes numbering with the schematic. Creating an array of LED’s in Pcbnew does just that. It creates an array with new footprints and gives them all the same RefDes. The “Numbering Options” are greyed out, and I don’t understand how it is supposed to work.
Manually changing the RefDes of all the LED’s in the array and then matching them again with the schematic is doable but a real bore, especially with bigger arrays.

[Edit] It works the same in the nightly. The text “Initial Pad Number:” suggests that this array dialog was first designed for the Footprint Editor and later re-used in Pcbnew and it is just one of the unfinished ends, and it just does not work with renumbering the References of a created array, nor with placing existing footprints that are linked to the schematic and it looks like a bug to me. Shall I report this on Gitlab?

Any ideas about this are welcome.

Without trying anything myself, my first inclination would be to hand annotate the LED array in PCBNew. If you have previously loaded the schematic to the board, make sure you delete the footprints of the components that you have just duplicated by hand annotating. Then update from the schematic using the Re-associate footprints by reference matching method. This should hopefully reconnect your nets to the newly place LED footprints.

Hopefully that works, but just in case make a back copy of the PCBNew file to give you something to go back to just in case things don’t work.

Indeed, hand annotate the array, and “Re-associate footprints by reference” as matching method during an update is the obvious workaround.

It is the manual annotation that is the thing I wanted to avoid.
(Caused by creating an array of new Footprints, instead of moving the existing footprints).

Anyways. Experiment a bit early on in the project so not much is lost if you get yourself into trouble.