What is the easiest way to draw a footprint in Kicad

Hi,

I am desperately trying to draw this http://pdfserv.maximintegrated.com/land_patterns/90-0326.PDF here. However things are getting very complicated. I tried to calculate the absolute coordinates of each pad and this is very complicated. How do people actually draw such footprints? There must be something in Kicad which should help you do this(mirror once a side is done , duplicate etc). Place relative using the given dimensions. You should only need to calculate distance between pads and width of pads

That looks like an “LQFP-32_5x5mm_Pitch0.5mm.kicad_mod”

It was TQFP. TQFP, LQFP have same footprints? The only difference seems to be the height

hi,
the best and easiest way is the footprint wizard, but you have to be able to run the footprint plugin first…
have a look at the forum post
New Footprint Wizard - kicad forum
there you can find scripts for qfp, qfn with/without exposed pad and thermal vias
Maurice

I have tried and the footprint wizard doesnt open up at all

I don’t do it in KiCAD… not insane enough :wink:
I use Excel & Notepad++ this is how this looks in there:

If I have to change pin count (44, 48, etc. pp) I got some more work in there though. Not automated. But you can see at the bottom that I got some covered already.

I then just copy&paste the blue part into the footprint file, add silkscreen/etc in the fp-editor and voila, got a 32Pin xQFP 0.5 footprint that I like:

This naturally isn’t the easiest nor the fastest, but many ways lead to Rome and maybe you got an idea for your way or what not to do from my example :open_mouth:

Thats pretty interesting

if you download
http://downloads.kicad.org/windows/kicad-product-r6301.2f92087-x86_64.exe
the footprint wizard should work

  1. install kicad-product-r6301 in standard path
  2. launch pcbnew
  3. open python console and launch sys.path
    you should get the python available path and in particular ‘‘C:/Program Files/KiCad/bin/…/share/kicad/scripting/plugins’’
  4. open footprint editor
  5. launch ‘New Footprint Wizard’
  6. select footprint wizard
    python console

    select wizard

Let me try that now and let you know

Assuming your pads has the 0/0 coordinates then you need to do exactly 5 calculations, 6,32/2 (1) 0.5pitch (2) …3,5pitch(5). Take a pen and note the results. With these five numbers you can create all 32 pins without over challenging your brain. Just flip x and y or + and - appropriately. If you position the pads roughly where they belong then even what to flip becomes obvious.

Once I do one set(vertical), I can flip it on the other side. But what about vertical -horizontal distance(a lot of calculations are needed for this correct?)

You don’t need to calculate pin coords one-by-one. The main “secret” is setting grid to pins’ pitch. Right click on background - Grid. If preset values (e.g. 0.5mm) are not fine, choose “user grid” and set Menu - Dimensions - User grid size.
If grid is set, you can place pins simply by mouse clicks.
I usualyy put pin1 to (0;0), and first line is easy by grid. The x and y coordinates of other columns/rows need some math. If the row/column position is not “round” value (e.g. pitch/grid is 0.5mm, but a line is placed at 4.2mm) use Dimensions - User grid size - Origin (set 0.2mm for above example) for offset.

@Roaming_Ranger have you tried the python footprint wizard?

@maui , yes it works. Just curious. Where exactly did you open up the python shell? Was it somewhere inside kicad or outside on a normal cmd?

@Roaming_Ranger
menu

  • tools
    • scripting console

The real trick to drawing footprints very quickly is using grids. Learn to use them, they are important everywhere, but when making footprints they are indispensable. As an example, if you get your grid right, then an entire row of pads with a 0.5mm pitch becomes a series of mouse clicks.

The second trick is having a properly dimensioned drawing. Unfortunately, many drawings fall short, so before even starting KiCad I usually sit down with a printed copy of the footprint drawing, a pencil and a calculator, and calculate the necessary dimensions.

Grids are certainly useful in layout, but you should almost never use them when drawing footprints. Almost any situation where using a grid is useful (like the 0.5mm pitch row of pads situation you’ve used as an example) is something a computer can do. The ‘A’ in EDA is easily the most important part. Sure, sometimes you may need to tweak something, and grids are vital for that, but footprints, for the most part, are not something you should be doing at all. They’re almost always a pattern, and beyond that, you’re only allowed to ■■■■ up zero times when creating them.

Every footprint drawing has numerical dimensions, and creating the footprint involves typing them in and sometimes, for weird or special footprints, doing some manual tweaking (which often involves numbers that don’t snap to a grid at all).

The footprint wizard is great, but it is not super accessible right now. @Joan_Sparky has the right idea of doing it entirely by entering dimensional data, and is the most accurate and flexible method without a doubt. It’s also a massive pain in the ass :smile:.

In my opinion, every footprint should be generated algorithmically if possible, and if not, then it should be generated algorithmically as much as possible, then tweaked manually.

Also, it’s, uh, about 100 times faster than clickery gridy tedium. First off, I am VERY aware I accidentally selected the wrong H/V pitch offset (I picked OUTSIDE instead of inside) but this gif is in real time, and shows exactly how much (or little) effort one should be spending making most footprints. Also, it removes a ton of human error, though, just as Jeff Goldbloom said about life, so too did my own idiocy ‘find a way’ to mess up the footprint. But at least it’s fixed with a quick change of a drop down menu :). Reddit thread with cross platform program I used: https://www.reddit.com/r/electronics/comments/3kmm06/gif_how_to_footprint/

I am certainly not saying this is the best program, but you should definitely be automating footprint creation to a similar degree through whatever means you prefer. You should not be manually adding most pads with clicks, save for special cases where manual tweaking is unavoidable. But even weird footprints like a PQFN 3.3x3.3 or some terrible TI package with pads that are shaped like a bunch of dicks and with 0.3mm pitch no less, you can usually automate the bulk of it.

Oh, and yes, I know I messed up the soldermask pullback too. Again, it’s a demonstration :).

3 Likes

The tool footprintbuilder looks really great, even if dating from 2008.
But there is a major issue for me: it converts everything from mils to mm with this constant (file UnitType.java):
MM(“mm”, 39.37007874D), // Based on MM_TO_MIL value from pcb (src/const.h)
And the result is slight error in the output footprints, and make it not usable for 0.5mm pitched parts.
But the idea is really great, very easy to create even complex footprints.

Now you can use kicad footprint wizard … if you have python enabled

Yes. The new kicad is pretty cool