Glitch/bug in footprint editor (pad attributes)

In the latest KiCAD (Version: 9.0.2-9.0.2-0~ubuntu24.04.1, release build), the behaviour seems to have changed in the footprint editor, when adding a pad.

Used to be: the pad comes up with the attributes (SMD vs. THT, rectangular, circular, etc.) of the last pad added or the last pad edited. As I recall (not 100.0% certain), this was the case always.

Now, when switching between THT and SMD, things seem to break down — see screenshot below; I opened the editor, created new footprint; click on the “Add Pad” button on the right; it comes up as a rounded rectangle (pad 1), and the cursor now had that same shape; before adding pad 2 (with the cursor still showing me a rounded rectangle pad), I pressed E to edit; I changed to circular; it added pad 2 as expected; the cursor then showed me a circular pad, identical to pad 2; I pressed E again (before clicking to add pad 3), and changed to Through-Hole, and specified a hole diameter; clicked and it added pad 3 as shown, but now the cursor has that weird shape showing as pad 4.

I think it may have to do with the footprint type being enforced now (as I recall, it was not the case before). But still, the behaviour seems weird (after changing to a THT pad, the new one comes up with shape and size never used before — and for that matter, pad 4 in the screenshot below: its width does not seem to correspond to any dimension of anything else … it would seem like its height is the same as the diameter of the last THT pad added, and the aspect ratio is the same as the last rectangle added? I’m just desperately looking for some rationale for that size; not like it would make sense if that was the case).

Yes, it now picks up the default pad type from the footprint type.

Not sure about the dimensions part…

The issue seems to even cover the case of “Unspecified” footprint type. I can’t seem to reproduce it on my Linux system; i.e., when the footprint type is “Unspecified”, I don’t experience the weirdness on my Linux system. On Windows (same 9.0.2 KC version), I just confirmed that the footprint my colleague was working on had “Unspecified” footprint type, and he was still getting a similar odd behaviour where it wouldn’t let him add SMD pads (other than editing each added pad individually).

It’s not as simple as I thought.

The code first looks at the internal “default pad”. It adjusts the type only if it is in direct conflict with the footprint type (and “unspecified” should never be in direct conflict).

You can set the “default pad” by doing a right-click on a pad and selecting Copy Pad Properties to Default.

2 Likes

I suppose your answer indicates that you agree that it needs to be fixed (what priority it may have, that’s a different matter, of course).

As a user, in my mind the behaviour should be:

  • Always (unconditionally) assign the last set of attributes assigned by the user in the current session (i.e., whatever the user did last time they ran KiCAD should not have priority)
    • Ideally, if what the user sets contradicts the footprint type, a pop-up should ask the user whether they want to hold on to this for upcoming pads, or stick to ___ as per footprint type (with whatever proper phrasing, and maybe with a couple of checkboxes to avoid getting asked this in the future)
  • No dependency (that the user needs to be aware of) on the default pad.
    • However, if nothing else applies, then sure, it makes sense to use the default pad settings.