[SOLVED] "Broken Ring" pattern in paste layer for footprint generation

I need to create a footprint for a bottom-port MEMS microphone. The spec sheet is quite specific in its footprint which can be seen in the image linked below (hopefully).

How can I generate the paste ring with the 4 breaks? The closest I’ve managed is to create a through-hole pad, then used the graphic Arc tool to create arcs in the Paste layer. It’s close, but the ends of the segments are rounded not square.

Using 4.0.7 currently.


Check this Arbitrary pad shapes It might help.

1 Like

Thanks! Seems like I’m not the 1st to use this footprint…

I decided to bite the bullet & upgrade to v5 and install the latest Freecad. First impressions of KC5 is it looks nice, though I’ve yet to use it in anger. Not that familiar with FC I had a quick look but didn’t really get anywhere… I’ll take a fresh look another day when my head’s a bit clearer.

OK so after a few hours messing about I’m not too sure if what I want is achievable with custom footprints?

I can create either a DXF, or a FreeCAD sketch, but they both result in a line drawing in the Paste layer when I import them. If I convert my sketch to a surface in order to get the filled area in FreeCAD, I can’t export it.

Am I missing something here ?

This is what I get:

This is what I’m trying to achieve

Then you can use freecad stepup to create a footprint directly from within freecad (click the link or the arrow to read everything. The link gets you to the discussion which might have more information than the initial post):

1 Like

Well that’s what I have been trying to do. I’ve come to the conclusion that either something’s broken or I’m having a stupid attack :frowning:

I’m sure I’m missing something from the workflow, or I’m not putting in some required information somewhere. Note at this stage I’m not trying to create the whole footprint, just a custom pad.

This is what I do:

  1. Import the DXF
  2. Convert it to a sketch
  3. Rename it to the layer F.Paste (I get an error otherwise)
  4. Export to kicad_mod

I tried auto-constrain after (3), no difference

After my last post I found the “convert shape to pad” option in Kicad, but it doesn’t work. It complains that it needs an anchor point, if I add a small pad as suggested then the error goes but all that happens is the outline disappears.

I thought maybe the fact my shape has 4 segments was causing a problem. But I tried again with just one, same result.

I’m sure I’m missing something very fundamental but I can’t see it, and I can’t see anything from the link posted. What am I doing wrong??

Every polygon pad in kicad needs a so called anchor pad (either a rectangle or circular pad that holds the pad information) So add a circular pad inside the area of the polygon, select both the polygon and pad and then “select convert shape to pad”

Regarding stepup, you also need to tell this tool where the anchor pads are located. Do this by adding a circle to every separate “pad”. Have a look at the demo project “complex polygon pad shape” or “rf-antenna” to see how it is done.

1 Like

Hi @nali
this is a stress user case! :smiley:
The pad could be created like in the following image… but I have issue on the discretization routine…

Unfortunately polyline pads doesn’t support arc ATM, so we need to convert arcs to polyline, but the code need more workarounds…
I’ll have a look later on


A small update :slight_smile:
Now the complex arcs+polylines can be exported as for this user case:

Please update ksu through FC addons tools and after a FC restart load the ksu footprint-complex-arc-pads example file.


The above looks to work now, but as a general comment, the exact details of the paste-ends, probably do not matter much, as the paste melts and reflows anyway.
I would not fret too much over rounded ends.

Heh… do you mean the user is stress-testing the application, or the application is stressing the user?

I think the fundamental issue here is that I am not at all familiar with the CAD part of the process. I do have FreeCAD but I’ve only used it for importing/exporting files really. I tried a fresh approach this morning to create a simple sketch and how to constain it - then FreeCAD crashed on me, twice. At that point I decided to leave it for a rainy day…

As for my actual footprint - I decided to just use arcs a long time ago. But it annoys the hell out of me when I don’t understand something, especially something that looks as powerful & useful as this.

@maui - do you have any example Freecad file saved anywhere that I or anyone else could try?

Also, I have a small bug to report: I was exporting to a temporary footprint on my desktop and overwriting every time I tried something. When I use the KiCAD export button to save a footprint then select the existing file I get the “Are you sure?” prompt then “File saved to…”. But it doesn’t actually overwrite the file! I was trying different things but loading the same old file into KiCAD :frowning:

This is Win10 x64 and a fresh install of KiCAD 5.0.0 and FreeCAD 0.17.

the file is included in the demo and can be reached through StepUp Demo menu (see the picture above)


  • latest StepUp
  • FC 0.17 + (fine from stable to dev release)

Where were you trying to export the footprint to? Windows won’t let you save to a system folder, for example anywhere in Program Files. I think in this case it might actually save it elsewhere and not let you know, but I forget where.

Also, if you were trying to save your export into the KiCad supplied libraries, DON’T for another reason. The next time you update KiCad the installer will happily overwrite your changes.

Doh! I didn’t notice the menu right in front of my eyes!

Anyways, that’s perfect, just what I needed. The example imported just fine and gave me a working baseline to start with. It looks like my sketch was broken - I used Sketcher to make a simple outline (basically one of the segments) and it worked OK.

Not sure what the naming conventions mean yet “Pads_Polyxxx” etc, but that’s sure to be a case of RTFM which I can do at leisure. Right now it’s a sunny day and my wife is reminding me I have a house to paint… :smiley:

Thanks for your help & patience!

PS ref the save location - just my desktop which is definitely write-able. I think it may be the fact that something was wrong with the file causing the export to not happen.

If you need help regarding the sketcher, i found a tutorial in the freecad forum:
https://forum.freecadweb.org/download/file.php?id=64732&sid=b487beb523c271f4322e17c947a3a409 (This is a work in progress.)

The discussion thread is found here: https://forum.freecadweb.org/viewtopic.php?f=36&t=30104 (If the file is updated, the new one will appear at that place)

1 Like

I managed to implement also the recently added primitive geometry (only ‘circle’ and ‘polyline’ are supported atm).
Please update your KSU tools.
I updated also the FC demo model…

and here the result in KiCAD


Looks good! Actually I managed to create my footprint after a few days messing about with FreeCAD. I didn’t get on too well with the Sketcher UI which seemed [to me] to be doing strange things so I just used the macro facility then edited the macro with the values I needed to get the arcs / lines right. Then it was a pretty simple task to export it to a module.

The mic in question was a Knowles SPU0410LR5H, the footprint I made is attached.SPU0410LR5H.kicad_mod (3.4 KB)

1 Like

Hi @nali
I would suggest you to remove BackCu (selecting Layers to F.Cu) and BackMask (unchecking B.Mask) from the PAD #6 of the footprint… then you will have a full SMD fp as in the data sheet.

Hi @maui

Thanks for the comment. I did ponder whether to make a B.Cu pad, and decided to include it after all. The footprint is SMD, but because it is a bottom-port type microphone a hole is needed anyway, so I thought I might as well include the bottom pad. It’s a GND connection, so I use it to connect to a B.Cu flood fill.

(In reality nothing will be mounted in this area on the underside of the PCB because it normally fits against whatever case the board is mounted in for sound entry.)

I can actually think of a good reason for not allowing that hole to be a PTH. You don’t have to worry about solder getting in the hole and blocking it during manufacture. The solder on the component side around the hole might have a tendency to wick down a plated hole, especially if there is slightly too much solder paste.