Can Kicad 5.999999 automatically make pad size from drill

Hello. I am a refugee from the Eagle camp (Death and pain to Autodesk!)
so I naturally have some stupid questions.

In Eagle (Again, Death to Autodesk!) when you specified a drill when
making a footprint the copper pad size was chosen for you automatically
by making it a percentage of the size of the drill. Is there a way to do that
with KiCad, or do you have to manually specify the pad shape X and Y?

Another question… In Eagle (Again, Death to Autodesk!) I usually made
my footprints by writing a script. This was actually easier than using a GUI
because you could more precisely specify fine end points (especially if
you made a spread sheet…) For example you can write a script:

(this would draw the part outline…)
layer 20
line(-10 10) (10 10)
line(10 10) (-10 10)

(this would put down the pads)
pad (1.333 2.0)
pad (2.666 2.0)
pad (3.000 2.0)

The scripting language was really useful for making
very large BGA’s etc… and it made it super easy to edit
and re try…

Is there anything like this in KiCad ?

Thank you.

Again, Death to Autodesk… (yes I am bitter!)


I hereby certify that I am not simply asking someone else to design a footprint for me.

This is an auto-generated message that is in place on the “footprints” section of the forum. If I remove it and ask for a footprint to be designed anyway, I understand that I will be subject to forum members telling me to go design my own footprint or referring me to a 3rd party footprint site.

Kicad has some builtin footprint wizards that are GUI based, but the backend is python. There aren’t too many of them, but the builtin ones are reasonably flexible, and you can also write your own (again, they’re python scripts, and the API is reasonable). In the footprint editor, click File -> Create Footprint to use them.

There is also a fairly extensive footprint generator script system that is used to make many of the footprints in the standard library. These are very flexible and there are a lot of them, but the system has evolved over time. These are also python, but they get run outside of kicad.

edit: as for sizing pads relative to hole size, I don’t think you can (could be wrong). That would be nice. You can at least do math in the pad size field, so you could do e.g. 0.5*2 to get a pad that’s twice as big as your 0.5mm hole. I know that’s not really what you’re asking for, though.

There are some nice IPC 7351 generator scripts where you can adjust a variety of parameters here.

The site is in German - the download link is

On a similar line to your script, there is also QEDA which uses yaml files to describe footprints specification.

Not directly on topic but might still be of interest to you I come from Eagle. What should i know about KiCad?

First and foremost:
You should know that it is open source, and cannot
ever be taken away from you remotely because someone
else decided to unilaterally change their mind about
the agreement you entered in to.

Second: It has many rough edges, but so does Eagle.

Third: Its worth the time to suffer though the pain of
learning it, it is a “real” cad tool and not a toy.

You’re clearly in a lot of pain!

There are several ways to script things, one mentioned above is using Python (and the KiCad specific python libraries). That may be a bit though depending on your skills, and the API has to be learnt as well.

All KiCad design files are plain text files. For instance, you can open up some ‘*.kicad_mod’ file and find that a pad is specified in a line like this:
’ (pad 1 thru_hole rect (at -8.89 -0.254) (size 2.286 1.524) (drill 1) (layers *.Cu *.Mask))’

It’s very well possible to compute coordinates, sizes, in an excel file, add a column with the text such as the above built using these coordinates, concenate the entire column, or copy paste it to a file (with or without a macro) and generate your footprint directly.

To know the format, you can just add what you need on a footprint, save the footprint and examine the result in a text editor.

The language/method that you use to generate the text file doesn’t matter - “Python” is no obligation.

Thanks, and thanks for recognizing that. (pain) .

If the part file are just text, then I can write them by hand / write
Python to do it… That kind of stuff is not an issue, I can handle Python
and certainly get the gist of a text file and use its structure.

Let me say, first and foremost, when Eagle was owned by Cadsoft, it was a really good product. I started using it in 1996. They had phone support, Real FREE phone support. They gave a S*it, and kept their customers happy with a fair license agreement and reasonable pricing. I trained at least 40 engineers to use Eagle, and made at least 500 PCB’s in Eagle. I got them hundreds of sales of their product by training others who trained others… While not perfect, it is simple and intuitive (odd behavior in some places, just like KiCad)

I wrote hundreds of scripts and even a few ULP's.   Ed, (the tech support guy)

was nothing short of amazing. You could call Cadsoft at 4:45pm on the Friday before
Labor day and ask him a hard question, and get an answer in 5 minutes. If Ed was not
there (rare as getting hit by lightning) they had someone equally as good. Actual
human tech support! Can you imagine?

Then, they got bought by Autodesk. Again the price is fair and the product is 

good, but you NEVER own the software. If your PC does not check back in with the mother ship (Via internet) your license drops dead. If Autodesk decides they hate you, your license drops dead. If Autodesk decides they no longer want to support Eagle, your license drops dead… What happens X years from now, when your “old customer” needs a small change and Autodesk is no longer interested in the $19/mo agreement you had, and now insists you buy a full copy of Fusion 360, pro version, for XXXX$$$ in order for you to change that one cap to a smaller package? You are screwed.

I will not enter into a unilaterally negotiated contract. Nor should anyone else. 

This is where FOSS community shines. I know I was not the only engineer who
felt this way. Look at the huge amount of parts and symbols in the KiCad libraries.
Look at all of the converters. Go KiCad!!!

Now I just have to get to know its quirks as well as I learned Eagles.

Thanks for letting me rant. You can bill me for the psychiatric care  :)


There were a lot of Eagle refugees when they started making changes and the developers made some effort to help the transition. However, let’s keep hating on other products to valid and needed points of discussion.

1 Like

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