Layers, clearances, etc


I’m trying to finalize a PCB right now and I have a few questions. Here are 2 pictures taken when top
and bottom layers are selected. On top layer, there are lines that correspond (I think) to clearances.
But the settings are apparently the same.
The board settings are common to all layers. The layers (fill, then edit layer) show the same clearances. Why are they shown differently? (With different widths. On top, they are wider and they overlap, not
on bottom.
If I’m wrong (if
these are not the clearances), then what is it, and where
can I modify them to be exactly the same for top and bottom layers.

Screenshot from 2023-07-05 11-46-48

Next, there is a greenish layer around the bottom pads. By disabling successvely the layers, I could
find out that the greenish layer is the B.Mask.

Screenshot from 2023-07-05 11-46-14

And then I tried to enable / disable F.mask and found out that F.mask and B.mask don’t have the same
size (as you can see the space between the pad and the clearance is empty on the top layer.

Here is the F.mask in pink.
Screenshot from 2023-07-05 11-48-01

→ Where do I resize the F.mask and B.mask layers?

Thanks for any hint!

Your top copper footprint pads have a clearance that is not “0”?
Same problem with solder mask?


Thanks for your reply. Indeed, there was a clearance different to 0 on the bottom pattern.
The funny thing is that although I have set the pad clearance to 0, the pad clearances now
overlap. So I’m even more puzzled than before: I hve reduced the clearance of the pads,
and the limits now overlap. So the thin line is not the clearance, right? What is it exacly?

Screenshot from 2023-07-05 16-30-55

When adding the B.mask, I have this:

Screenshot from 2023-07-05 16-37-34

And then the top layer is still like this:

So this question remains: where is the size of the B / F.mask configured?


It’s probably not the mask, it’s probably the min clearance . . . “Minimum Clearance”


Now you have set your values to “0”, the top and bottom are the same and, as @RaptorUK mentions above and the statement pointed to by the red arrow says: Use your “Board Setup Values” which is Minimum clearance for copper. Adjust the clearance value to prove the purpose of the lines. :slightly_smiling_face:


Thanks for your reply.

It’s probably not the mask, it’s probably the min clearance . . . “Minimum Clearance”

I have measured the distance between the pad and the thin line:
Screenshot from 2023-07-05 17-25-08
so it’s 0.125mm.

Now if I look at the board setup, there is not even a single occurrence of 0.125.

And the green B.mask thickness is 0.08mm, and here again, I don’t see a single setting of 0.08mm

The more I dig, the worse it becomes, the less I understand.


There is an explanation . . . you will find it soon :wink:

Are you certain that the footprint properties have not reverted to what was originally set for the footprint ?

Parameters are distributed in several places and some of them are values ‘to be used’ and some are ‘limits not to be exceeded’.
I suppose that at Board Setup-Board Stackup-Solder Mask/Paste you will find 0.08 somewhere.

You are clearly trying to do it too fast. It is clear that you didn’t read the indicated by an arrow sentence.

Global settings can be overwritten by footprint settings and they can be overwritten by each pad settings. Zone fills have also their own settings. Net classes have their own settings. Custom rules can also play.

My brain is now tired, but I have worked this out.

The fine line is the pad clearance.
Individual pad settings can be made in the pad properties “clearance”.
Whole footprint pad settings can be made in the footprint properties “clearance” for every pad with an individual setting of “0”.

BUT this only works for footprints in Private Libraries because Kicad footprints cannot be altered.

This was causing my confusion… I forgot about the dreaded Kicad footprint libraries.
Everything works properly when you move the kicad footprint to a private library.


Hi @roboya

You should find your pad clearance, that will correctly measure, either in the individual pad clearances of the footprint or the footprint pad clearances.

I use my own libraries so when I decide to change something I just do it in library.
But I suppose that when using footprints from KiCad library nothing prevents you from doing some modifications not in library but at PCB (footprint, when used is copied into PCB).

You can only change the footprint properties pad clearance in the PCB editor. You cannot change the pad properties pad clearance, so if the pad properties clearance is anything other than “0” the footprint properties pad clearance cannot be changed.

This refusal to change pad clearance caused my brain to hurt until I realised the problem. The only reason I used a Kicad library footprint in the first place was because I have no SMD footprints with preexisting pad clearances in my own libraries.

Are you sure?

I have just opened one my test project. I have there 2 0603 resistors (from my library). When I pressed E at one of pads I was able to select Clearance Overrides… tab and there I have changed Pad clearance (from 0 to 0.4) and it was shown at PCB.
I just modified a copy of footprint in PCB file. KiCad libraries should not differ in that aspect from my libraries.
To ensure that my modification was only in PCB I opened a library and checked that there 0603 resistor footprint has clearance for both pads still 0.
So if my modification is only at PCB and I didn’t modified library than I don’t understand why it should be not possible with footprint from KiCad libraries.

You’re correct.
What brainless idea came to me… it must be too late in the evening for me.



I’ve been on other tasks for a while…
I’m using only private copies of all the patterns I use. I read this some time ago, it allows to keep
my patterns as they are even if Kicad libaries change.

I was able to select Clearance Overrides… tab and there I have changed Pad clearance (from
0 to 0.4) and it was shown at PCB.

I have tried to modify the pad clearance with a few values.

0 → No effect. Makes sense to ignore.
0.2 → The line is at the limit of the next pad. Makes sense, the pad width is 0.3 and the pitch is 0.5.
therefore the gap is 0.2.
0.1 → Exactly half of the gap, therefore again, makes sense.
0.05 → Hasn’t changed. Might be too small for some reason.
0.09 → Hasn’t changed. Therefore there is a lower limit which seems to be 0.1.

I verified that in the board settings, the minimum clearance is 0.1. Just for test, setting it to 0.5 allows
me to edit the pad and set a 0.5mm limit. Again, this makes sense.

Now I have checked in my footprint definition, and the clearance override is 0, therefore should be
ignored. Therefore, Kicad by default uses a value which is different to my minimum clearance.
Its value seems to be 0.125 when no overriden. Where does it come from?
→ Not from the board settings (it’s 0.1)
→ Not from the override values (they are all 0)
Jyst in case, I checked the Preference dialog (board editor preferences, between the tool and help
menus, not board preferences). No clearance to be setup there.

Thanks for any hint.

… Sorry, I forgot one question:
When I want to fill the plane, the ground thermal connection are setup like a + for the resistors,
and like a x (shifted by 45 degrees) for my custom chip. Is there a way to change this in order to
have a + everywhere?

The reason why I want to do that is that when the grounded pad is between 2 other pads, then the
45 degree spikes cannot connect to the ground plane like on this image:

I can of course trick the system by adding a trace to the ground plane, but I think it should be done automatically since there is a lot of space to add a connetion.


Pad Properties > Clearance Overrides and Settings > Thermal Relief Overrides > Spoke Angle

Is it the hole to hole clearance?
Board Setup > Design Rules > Constraints.


Thanks for your reply. It works.
I have checked in the editor and apparently it reuses the last used setting. Therefore any
new pad will be setup with 0 degree. I don’t understand where the 45 degree setup came from
in the first place, but I will check if I can correct all my libs with a script.


1 Like


I found the reason of this 0.125 setting. The default clearance was set up to 0.125.
After setting it to 0.1, everything is fine.


1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.