Custom pad shapes for Dome Buttons (no net assignment in Footprint editor)

I am having a bit of problems with making dome button footprints. I think the base issue I am having is caused by the fact that net assignment option is missing in footprint editor. I would like to know if any of you have encountered this problem before and how would you handle this issue? And possibly is it a good idea to do a feature request about this? Or is the missing assignment to be considered a bug?

What I have tried so far is:

  • A button with one complex custom pad (image 1 left)
    The problem with this is that the tracks want to terminate where my pad is located which inst ideal
  • A button with 4 pads and copper connecting them (image 1 center)
    The problem with this is that unlike in PCB editor you can not assign a net in the Footprint editor to a geometric shape. So when you try to actually make traces then the wires terminate early. More on this later.
  • A button with 5 pads, where one is a complex custom pad (image 1 right)
    This one works. But leaves things to be desired as the copper of the ring is exposed, but i guess its okay. I could also do this with 4 pads but the 5 one is least messy

Dome_button_tried_so_far
Image 1: I have tried 3 permutations but all leave things to be desired

Ideally, I would go for the SW 2 solution if it would work. And it probably would if you could actually assign nets in the footprint editor, but you can not (see image 2 on the right).


Image 1: Arc properties in PCB editor (left) and in Footprint editor (right) are different

However since i need to get this working now i will be going perhaps with:

  • SW3
  • Maybe a variation of SW2 where each arc is a segment that does not reach pad center.
  • A variation of SW 3 with 7 pads so that i can snap to each arc center as well
  • Or just draw 4 arcs so that i can delete them in PCB editor, annoying to distribute but is an option

Any ideas of what is best?

But all of these leave stuff to be desired as a pad is exposed and id like to hide the trace.

In a hypothetical a ideal world the footprint would just eliminate the connection dynamically in the direction one draws the inner trace trace but we can all dream of so advanced functionality.

Dome_dream
Image 3: Animation of a dream

Why do you want to draw the arc in the footprint editor?

What if you just use the 5 simple pads? The effect is that KiCad wants to connect all the pads with the same pad number once the footprint is placed on the PCB, so you route the tracks on the PCB. Would that work for you? Does it really have to be an arc?

Well because there are 50 buttons, and this is a one layer board. And that is the suggested footprint (that is also what it looks on all the pre-existing boards I have). I see nothing wrong with having the wire stubs in the footprint as it makes the layout easier as there is less stuff to worry about.

I understand that i could just have 5 pads.

Still seems like a oversight to me. Is there any deep philosophical reason why this would not be allowed?

Option 3 is the closest you got, but the mask does not work for you. It’s actually quite nice that KiCad automatically creates solder mask cutouts for such constructs.

But for your case:

  • Disable the solder mask layer for that complex pad.
  • Add an additional aperture pad to expose just the copper you want.

Yeah, that works. Complex pads like this behave a bit wonkily for the track routing though. But okay i guess.

Any idea on whether asking functionality should be harmonized as a request would make sense of waste of time…

Or would it be better to have a option for some alternate routing rules that allows you to snap to any border on some center line on a complex pad. A bit more like shapes snap inside the PCB editor?

Easiest workaround for this is a 270 degree arc, and rotate the footprint to get the opening on the right side.

I’m not sure whether it makes sense to create a feature request for … (for what exactly?) You did not think of the aperture pad thing, for me it was quite obvious, and reading your post took me far more time then coming up with the aperture pad, and it looks like a quite decent solution for your problem.

I did think of doing the aperture manually. But it seemed counter to what i was trying to achieve. I wasn’t actually concerned about getting the shape i want. I mean i could even script the placement of the arc no problem there. When i would turn it separately form the footprint.

I was more concerned with how the footprint reacts to the routing in the PCB editor. Ideally i would have wanted to have just more snapping points to the custom shape. But its more of putting this in wiriting that makes me able to vocalize the need. Yeah i can just split each pad into multiple pads that works fine. A lot f extra work though for something that already works in the PCB editor without any hastle.

But yes when I initially tried disabling the automatic solder mask and draw it manually but it failed to work when i tested for some reason. Works now though.

I see though that you have fixed the copy pasting between the editor and the PCB layout. There seems to be a open ticket for that even though its fixed.

I will mark this as solved its adequate for my needs.