Kicad 6.0 Footprint editor, how to set pads as one-sided?

Hi !
I just installed KiCAD 6.0.4 (was using 5.1.10 until now).
I wanted to edit my custom libraries that I made for DIY PCB milling.
Since we cannot make PTH pads, I used to set pads as one-sided (B.cu only) in KiCAD 5, to avoid routing mistakes (especially for headers and sockets, resistors we can solder both sides).

I cannot seem to access the same options in KiCAD 6 (see below pictures).

Is there still a way to do the same thing, or is it a missing feature ? I have also looked at changing the pad types but NPTH mounting hole doesn’t seem right, is it ?

I have looked at the gitlab issue and found nothing related.

Thanks everyone :slight_smile:

@apprentiLAB_Suzanne, change this setting from “Through-hole” to “SMD”


You the can put it on a specific layer.

best regards

If she wants a through-hole, but only have copper on one surface layer this won’t work because SMT pads don’t have drill holes.

@apprentiLAB_Suzanne Instead, try selecting “Connected layers only” for copper layers. This won’t protect you from accidentally routing to the top of the hole so you should remember to output the top copper gerber to look for any copper that shouldn’t be there.

2 Likes

The only way I found to design one or two-sided board for “home production” (i.e. no drill hole metallization) is to use zones around those pins that can be soldered only from one side.

Tedious, but correct - saves you from mistakes.

Nonetheless it would be nice to see “no metallization” option for TH pads one day.

1 Like

Thanks everyone for your replies !


Sorry I wasn’t precise enough in my original message, but I am making double-sided boards, which is the problem : I want to avoid (for myself and mostly my students) to route from the pads on the side where the THT component isn’t soldered (Top side), since the holes are NPTH. I then place vias and route on either side, but I need the tracks to start on a specific side. Of course we could just be careful and check, but since I am working with a wide variety of students, some of them knowing little about PCB routing, I’d like it best if I could just make it impossible to route from the Top side pads.

Ok, I can’t seem to find more info on what that option implies though, could you perhaps explain or help me find documentation ? Thank you !

That’s an interesting workaround !

Although I could make pads B.Cu only in KiCAD 5, so might this be a regression in 6 ?

Indeed the option would be nice, especially since even in KiCAD 5, the one-sided pads weren’t perfect for that purpose. It made a connected pad on the bottom layer, and no pad at all on the other, which meant the component pin wasn’t isolated from whatever zone was at the same spot on the top side… Unless there was a way to do this easily which I would have missed ?
Anyway, indeed NPTH option for THT would be nice, with the ability to select which layer of the pad is connected to the pin.

I thought the “Connected layers only” option is quite self explanatory.
KiCad V6 does not have a full “pad stack” yet. (This would mean that size of a pad can be defined individually for each layer), but it does have a (new) partial pad stack, in which a pad is only drawn on layers where a track is connected to it. The encircled picture also clarifies this.

I threw together a simple test project with two resistors to verify if it works.
For R1 I set the pads to “Connected layers only”, while for R2 I left this at the default value.
In the 3D viewer I disabled the solder mask layer and the PCB is a bit transparent.
I would have liked to make it a bit more transparent, (I could not find that setting) but you can still see that the pads for R1 are only drawn on the layers that a track is connected, while for R2 pads are drawn on both top and bottom layer.

Also:
Are you aware of and/or have experience with PCB rivets?

I had a short peek at them (never used them myself) and I found them at wegstr for 7ct, which seemed ridiculously expensive. A short peek at Aliexpress suggests a price of 0.6ct which does seem much more reasonable. If there are problems with solderability, maybe boiling them in a relatively agressive flux, and then rinsing / coating with a no-clean flux helps (I’m just guessing here).

1 Like

Hi, thanks a lot for the explanation :slight_smile: it’s all clear now…

I don’t think I will use that option then, as I do want pads on both sides, only unconnected ones on the top side.

As for the rivets, I have used them for vias but I find they take a lot of space, si I usually make vias with resistor pin leftovers. I haven’t tried them for making component pads PTH, that’s an interesting idea, although maybe a bit time-consuming. If I try I’ll let you know how it goes !

Apparently not ))

Now, please tell me, how can I change this particular setting for selected pads at once (Copy Pad Properties to Default doesn’t work for this).

Thanks!

There is other downside - setting zones allows to use autorouter.

I think (since you want to avoid routing errors) that, if you manually edit the footprint file and add : B.Cu B.Mask instead of *.Cu *.Mask you will achieve your goal.

For example:

(pad "4" thru_hole circle (at 7.62 0) (size 2 2) (drill 1) (layers B.Cu B.Mask) (tstamp ba6cf24e-3fac-4e7f-b5a3-97e8d8fe544a))

Tracks can still be routed on the non-copper-pad side, but i think this will raise a DRC error.

TBH i am not sure if this can somehow backfire.

1 Like

Don’t use these if you want long term reliability. My experience with some vintage HiFi equipment is that they are prone to corrosion and dry joints.

1 Like

Nice workaround ! Thank you :slight_smile:

A bit tedious though for the use we make of it.

Anyone know why the B.Cu only and F.Cu only have disappeared from the menu ?

You mean the rivets ? Good to know…

My mistake. I assumed that you were just doing single sided boards. That ups the complexity a bit. You may need to make your own custom footprints for the parts where you can’t fit a soldering iron to the top side of the board because there is a component body in the way. As was mentioned (and I disagreed with) before, you might be able to use SMT pads on the bottom side (don’t forget to change mask to bottom and turn off paste), but with an extra trick. Either:

  1. Put a THT pad with pad size = drill size in the center of the SMT with the THT using the same pad number as the SMT.
  2. Put a NPTH hole of the drill size you want centered on the SMT pad.

Playing around in the footprint editor I created these with a pad diameter of 2mm and a drill diameter of 1mm (pad 1 is number one above, and pad 2 is number 2 above):
2022-04-13 17_26_04-Window
You can see the NPTH hole doesn’t show as a hole like the THT does in the editor. So, I looked at my efforts in the 3D viewer. Here is the top:


You can see the gold in the top hole of KiCad thinking that I wanted a PTH there (though it doesn’t matter since you will be making your own boards and don’t have to explain anything to a fab house). But the bottom view doesn’t show the SMT pad, so I don’t know what I did wrong:

This is in the footprint editor so I should see the pad. Also, note I didn’t try to route to this at all, so I don’t know if the SMT+THT pad will still allow routing to the top side (which you don’t want). I also didn’t save the footprint, so I can’t upload it for someone to play with. Hopefully my description should be enough for someone to duplicate.

As to why the devs removed the F.Cu only and B.Cu only options for THT pads is only known by them. :wink:

Note, I was doing this in KiCad 6.0.4, the same version you say that are using.

1 Like

Humph, got myself stuck with this same issue…no way to specify a pad for a single layer anymore in KiCAD 6.0…

In my case, I have a screw connecting to the B.Cu layer, and obviously going through the board. A high-current power plane on the F.Cu layer goes around this screw hole–but does not need a 10mm gap (as there’s an insulator on the top of the board).

In KiCAD 5.x.x, setting the pad to “B.Cu only” would only apply the “hole clearance” on “F.Cu”, leaving a neat little clearance around the hole. In the meantime, the “B.Cu” would have the pad + the clearance, of a significantly larger circumference.

In KiCAD 6.x.x, I can’t set “B.Cu only”, and now the “F.Cu” layer gets a needlessly huge 9mm clearance around the hole–because of the “B.Cu” pad diameter + clearance. This huge gap reduces the amount of copper available for current carrying on the “F.Cu” layer.

Guess I have to edit the kicad_mod file by hand to get the previous functionality back…because KiCAD 6.0 can easily display it, just as soon as you edit the pad, it all goes wrong due to the missing setting…

KiCAD 6.0 with the B.Cu pad clearance applied to the F.Cu hole clearance.
image

KiCAD 5.x.x with the separate clearance applied to just the F.Cu hole:
image
(also notice that the “mask” layer has an opening for the hole, unlike KiCAD 6.0)

Bit of an annoyance, that’s for sure. Special case, I suppose…but sometimes we move backwards.

Compared the previous kicad_mod file to the new one, and found a very small change–yes, the setting is completely there, just KiCAD 6.0 won’t let you access it via GUI:

image
(notice the “layers *.Cu” specifying ALL layers, even though I only want the pad on B.Cu)

Was easy to fix…
image

And the result is just what I wanted:
image

back side as expected:
image

(sorry I can’t easily keep the scale the same with 3D viewer :wink: )

What you seem to want is essentially a NPTH with an SMD pad on top of it, so that’s how you should design the footprints.