I think the real problem is the Kicad Library footprints were created long before this function was introduced.
To solve this problem correctly requires a huge undertaking by the librarians to:
1/ Introduce a conforming rule for pad orientation in newly submitted footprints (which is yet another check for the librarians).
2/ Upgrade all the existing footprints to conform with this introduced feature (an appallingly massive undertaking).
The first may occur. The second is way beyond the libraries current abilities.
Awareness of the short comings of this feature should be made somewhere, somehow; to avoid confusion and frustration for those trying to use.
Having written all that, if the user is fully conversant with the footprint editor, it is a very quick and easy exercise to modify a Kicad footprint so the pads respond, as expected, with the editing feature.
Using two examples, I found modifying the footprint then using the feature as intended was just as quick and less confusing than attempting any of the above workarounds.
Interesting.
In Altium world, mostly we use ALL our own libraries.
We build them as required all the time… We might use a manufacturers supplied file, but in general, power users and experienced users that have some experience also with fabrication, will always customize or roll their own pads. Only kids and uni students and hobbysists will use a ‘Altium supplied library pad’
I see the kicad footprint libraries are vast, they are huge, but I would probably never use them.
I suggest you have a look at them, then check if you can make your own footprints better.
I am not too sure about this:
Quite big parts of the KiCad libraries are generated by scripts. These scripts have changed and have been updated with suggestions from IPC standards and possibly other sources. One of the changes are for example the change to pads with rounded corners.
I have some mixed feelings here. Default libraries of software packages that have been 30+ years on the market tend to be a mishmash of of different quality content. I once converted a few Nucleo boards (direct downloads from ST’s website) from altium to KiCad, just to do some tests with the importer. The first had a big QFP (I think 144 pin) and the pads were not even at a regular pitch. It seemed like a metric package was truncated to mill resolution values or something similar. With another Nucleo board I tried this did not happen.
In the end it is the quality of the footprint that counts. I don’t know if KiCad’s libraries are better then altium’s, but marking somebody as a “uni student, hobbyist or hobbysist” for the sole reason of using footprints that were shipped with the software is too extreme. I could also turn it around. Re-designing the same footprints again and again for each customer is a waste of effort and drives up costs, on top of that humans are much less accurate then computers, and likely to make the occasional mistake, which would then lead to faulty footprints. It’s common for companies to build up their own preferred (and much more importantly:) individually verified footprint libraries. But once you have them, there is no need to redo that work.
If you’re interested in scripting for footprints in KiCad, then have a look at the link below.
Hi Paul. thanks for the writeup.
just watched " KiCon 2023 Generating Parts the KiCad Way" now I know who Seth is .
The scripting is good and I can writing things to get in and out of scripts. fantastic. Video is good. mmmmm
I guess I do not trust anyone else’s footprints unless you’ve seen them on your or someone elses PCB… it’s an expensive error when a respin of a 10 layer large PCB with $1000 tooling and then the fab and the $$$$ parts on board
Yes of course. No matter what the origin of a footprint is, you should never trust it on sight. Whether it’s from a default library, a script, from websites such as SnapEDA / PCBLibraries / Samasys / etc, or even made by your most beloved spouse. People are inherently sloppy and as a countermeasure you should always have some kind of verification procedure in place. On a hobby level, something like [tutorial] Test fitting Footprints works, and in a company, which generally has higher stakes, but also more resources, having footprints checked by another person that made them is a common procedure. In mechanical engineering it is common to have drawings checked by a second (and possibly third) person before someone on a higher level signs off and the drawing goes to the factory floor.
I make PCB’s on a hobby level, and the “test fitting footprints” way works for me. I do it as a verification step just before sending out gerber files. That way there is a decent amount of time between generating a footprint and the verification, and this makes it less likely to make the same mistake twice. Mentour Pilot calls it “the swiss cheese model”. An error can go unnoticed though a hole in a layer of cheese, but when you have multiple layers of cheese then all holes should be covered.
Paul, nice idea on the Test Fitting footprints. Print wise. should be able to reverse/ invert with Irfanview etc or I can write something in python to transpose . Excellent for thru hole. and some of those thru hole drawings in datasheets are might confusing !
Well, that was over 6 years ago.
In tn the mean time, KiCad has evolved a bit. If such a low resolution picture is all you’ve got, you can use ** … / Place / Add Reference Image** to import images into KiCad’s sub programs and use it as a background reference (scaling and transparency is supported) for direct comparison.
As far as I know, there is no mirroring of the image (yet). In the PCB Editor you can get around that by flipping the footprint itself to the “wrong” side if it’s needed.
Or just print it on tracing paper, or if you have none at hand use a few drops of oil to make regular paper partly translucent after printing on it. Plenty of possibilities with a bit of creativity thrown into the mix.
oh yeah, have full dimensional drawing… some mfrs will supply a CAD footprint in a CAD/PCB program sometimes PADS/Altium/Kicad, sometimes just a DXF zero width line outline
ANyway, it’s not a big deal to create footprints. if its efficient.
In footprint editor , how do I get the orgin to be set at the centre off the copper pad origins ? I see it can snap to pad centres, and it can snap to grid, but cannot see how it will snap to the copper centre of all pads. ?