Public footprint libs - Is there a reason for having (some) so tiny THT pads?

Most footprints in the official lib are script generated. SMD footprints should mostly follow IPC suggestions (The ones that are scripted at least. I have not come around to script all of them at this point in time.) These suggestions take into account current manufacturing capabilities. (The current standard is a few years old now. A new one might come out within the next few years.)

At least for two terminal SMD components (SMD resistors, capacitors) we also include versions with increased toe fillets for handsoldering. (Toe fillet increased by 0.15mm. I solder the 0603 variant regularly by hand without problem. I even used the 0402 one a few times now.) However you can adapt the respective parameter in the script and generate your own footprints if that increase is too small for your liking.

For THT resistors and similar the script is not that easily modified (There is no parameter that controls drill size/annular increase. All these values are hard-coded instead of being calculated from the lead diameter.)

The THT IC packages (DIP) have a longpad version which is intended to be used when handsoldering. Other IC packages do not come with such a footprint. (They are still hand solderable with a bit of skill.)

The scripts can be found here: https://github.com/pointhi/kicad-footprint-generator

3 Likes

I think you need to look at your drilling procedure? Do you etch or drill first? When you say hand drill do you mean free hand or drill press? Are you using hardware store bits?

1 Like

I think you need to look at your drilling procedure?

Probably. Over the years we have changed/improved our fabrication procedures mostly abandoning the UV-exposing process in favor of toner-transfer techniques. But drilling remained essentially the same.

Do you etch or drill first?

Etching first.

When you say hand drill do you mean free hand or drill press?

We have a drill press in our lab. It does a fairly good job, but it’s not a tool specifically designed for drilling PCB. A CNC drilling machine is out of budget.

Are you using hardware store bits?

Yes. Any advice on that?

1 Like

You should use sharp carbide bits. Something similar to these:

You can find them all over the place, I just grabbed the top non-ad google search for “pcb drill bit”. Many of the electronics vendors like DigiKey, I think SparkFun and/or Adafruit carry them, and I’d be surprised if you couldn’t find them on E-Bay. When shopping for the best price, look for the “re-sharps”. Those are bits that have been sharpened but no longer match the tolerance of the manufacturers. They should be “close enough” for the home-gamer though.

EDIT: FYI, these types of bits are made for high-speed drills (2k-3k rpm range). Standard drill presses aren’t fast enough. But a dremmel-style rotary tool with a drill-press attachment should work a treat.
Something like this: (Again, no particular preference for either Home Depot nor the Dremmel brand. Just the results of a quick search for what I was thinking about.)
https://www.homedepot.com/p/Dremel-Rotary-Tool-WorkStation-for-Woodworking-and-Jewelry-Making-220-01/202263196

4 Likes

I looked into doing my own boards but the price of setup wasn’t even close to justified when you look at what commercial boards cost now. But, in my studies I did see people drilling first. More copper backing to reduce the chance of tearing thin traces.

The drill bit question was already answered. Type and speed counts. Also, look at adding some kind of lubrication. I’d think slow feed in tiny nibbles would help keep the copper in tact but that is just a guess.

2 Likes

I think you are correct and have the best approach. People who design circuits, as well as people who lay out PCB’s, should have a basic understanding of the fabrication process. Sort of like the people who pack parachutes - they should be required to jump once in a while.

I am probably that guy. Not always 80%, but it’s not unusual for library work to be 80% of the total effort on a project that’s totally new and unlike any other recently designed project.

I agree that learning to make footprints and symbols is an important skill for anybody who does more than a board or two per year, but I don’t think that it’ll be efficient to build a working library from a collection of classroom exercises. (Of course, I may be underestimating your students.) If you put forth the effort to make your custom library comply with KLC, please submit it to the KiCAD librarians. They may incorporate it into the KiCAD libraries, thus ensuring your immortality!

(Note on footprints for hand-drilling: Manual drilling works best when you etch away a little dimple at the center of the copper pad. This creates both a visual target and a mechanical guide for the drill bit to align with. KiCAD doesn’t have the ability to create this pad style automatically (unless it slipped into version 5 when I wasn’t looking) but it’s a feature you can incorporate into your custom footprint library. More discussion at Enable drill marks for Gerber files .)

Ordinary twist drills from the hardware store are not good choices for PCB work. The standard tip geometry does not make clean entry or exit holes, and the fiberglass PCB material dulls the drills quickly. The carbide bits mentioned by @SembazuruCDE are a better choice. You probably know that half a dozen sizes will cover about 99% of the holes you need, and you will design your custom footprints around those sizes. Their major disadvantage is that they break easily, so keep plenty of spares on hand.

To minimize broken drill bits you should also pay attention to runout (slop) and eccentricity (wobble) of the chuck holding the bit. I don’t know a particular make and model to suggest, but I DO know that Dremel-style hobby tools come in several models and grades, and bearing quality is often the major difference.

Dale

7 Likes

Ah! irony is a great thing. You made me smile! But also with irony you can distort reality at your will. We’re not speaking of packing parachutes but of designing them. Of course you don’t need to jump to be a good designer, but doing so you may become a better one. Perhaps Bil Booth could elaborate more on this.

1 Like

I agree with dchisholm, I think on many levels this effort is good for the students. I believe the additional time looking at , handling and fabricating a PCB is more likely to embed an understanding of the sizes of components and traces etc. They are more likely to see places where they might say “… I wish this trace were somewhere else…”.

Kicad is a great program in my opinion, but any CAD program can make a TO-92 transistor HUGE, seeing it up close puts things into perspective. I know having the students build a purchased board would give them a chance to work with the board, but it goes much more quickly (the time in hand that is) and I don’t think it begets the same appreciation.

John

2 Likes

Hi orestesmas, - U can easily make your own PCB’s at home using KiCad, & U need not send it to any “board manufacturer” at all. (I have done it for so long,…& so U can also do it easily…at home…!)

  • When I started KiCad, I had the same problem as you, - small pads especially for the resistors (which are mostly used in our simpler projects to teach new students etc.,), So I have used the following method given below, to create a “new footprint” for resistors especially, so that they can replace most of the small pads in my already created PCB board which has the “small pad” resistors on it. Now I can replace all my KiCad default resistors with the “modified” KiCad resistor, & U can do the same for other KiCad default components also:-

NOTE: U can watch this tutorial on Youtube: “Getting To Blinky 4.0 - Creating A New Library And Footprint”- But ONLY to get an idea of the visual part. But his steps in this video, are not really meant for someone who wants to make PCB’s & drill the holes by himself at home. All tutorials teach how to design a board on KiCad, and then send it to a board manufacturer. Which I have never done, as I have to make one or two PCB at home only. So, I have developed some of my own steps in KiCad, which are much more useful to follow, than the steps that are shown in such tutorials. the following steps will provide a nice way to make PCB’s easily at home, using KiCad:

  1. Suppose you have already created a new project (say: it is inside a “folder” named project-02), & this folder itself, is inside a “master folder” named “KiCad projects”. & U also have already created a schematics inside this folder, & the file (is named say: pro-2). & based on this schematics, you have already created a “pcb board”, on the “Pcbnew window”, & you have also placed properly (routed or not routed yet, all the your pcb board components), & your pcb board contains all the “default KiCad library footprints”, whose pads are too small, & the drill holes too big, which created a problem for U, if U make this pcb at home, as the drill may eat up the small copper pads, and make soldering & even etching of this board difficult at home.
  2. Now open your above existing project-2, (U can also open both the schematics & the PCB board windows of this “project-2” also). But now, go to the your “launch window” (the first basic window of this project) and click on “PCB footprint editor” (icon on top). - a new black (& blank) footprint editor window will appear.
  3. From here U can click on “file” >> new footprint >> “create a new footprint” option >> & U can then “draw” a brand new outline, add pins to it and created a brand new component. But I advise U to “skip” this step no. 3), and instead go to step no. 4) below:-
  4. Click on the “load footprint from library” icon (on this new black & blank window) - now the library list box will appear (& wait - as it may take a few seconds to load). >> scroll on the large component list there, and find the component that U want to modify (or just to change its pad sizes, and the drill holes sizes, to suit your home-made pcb fabrication method). Suppose U selected a “7.5 mm horizontal resistor” (with just two pads to modify), then go into this component in the list of resistors, named: “DIN0207_L6.3mm_D2.5mm_P7.62_Horizantal” & select this one, & >> click “OK” of this list box - then a small box will appear, in which U can write a “new name” to your resistor, >> click OK
  5. Now, this fully designed default resistor will appear on your “footprint editor” with the small KiCad default pads on it, which are too small & the drill holes are too big for home-made drilling. So, now >> “Right Click” on one of the pads, >> & select “Edit pad”, and a “Pad properties” box will appear. U can go the left side of this box & change the “circular” pad type to “oval”. Now go to the Size X and increase it from 1.6 to 2.6 or so, and then go to the Size Y and change it from 1.6 to 2.0 . Then go to the right side of this box and change the drill hole to 0.6 (from whatever size it was before) >> then click OK - >> (repeat the same for the other pad of this resistor). - & now, U find that your resistor pads have become bigger & oval, and now are very nice & easy to be drilled and etched manually at your home. (U can use this resistor size for all your resistors currently placed on your pcb board, but first U have to do the following steps below also):-
  6. Now (from this same footprint editor window) >> click on “create new library and save current footprint” (icon) - a small box will appear with the “path” shown in the 1st. small column (If the path shown there, is correct in leading to your correct folder, then let it remain so, or else, U can also browse here and go to your desired master folder and project folder) & make the path correct. >> Now, In the lower small column of htis box, write a new name for your new library folder >> click OK - (suppose U name your new library folder as “My library-1”, then the extension (.pretty) will automatically be put on your library folder which will contain your modified “footprint resistor” named say: “res-7.5”, U will find it there if U browse to your folder “My library-1”.
  7. Now you have to “ADD” this library to the list of the existing default KiCad list of libraries. So now from this footprint editor window, click on “Preference” >> “Footprint Library Wizard” - & in the box named “Add footprint Wizard” that appears, >> select the dot button >> “files on my computer” (do not select “Gitsub Library …”) - (as that will modify your default library and then create big problems for you. Never change or add to the default KiCad library) >> clink on “next” >> browse to your master folder - then to your project folder then to your new library folder which U named “My Library-1” >> select this folder >> & again click on “next” >> and the “Add footprint wizard” will appear with your new library name on it >> & in the next box that appears >> select “To current project only” - (don’t select “global library config…” ). >> click on “FINISH”.
  8. Note that your status bar on your schematic window still shows “no active library” - so now go to the 1st. icon on the left, >> & click on “select Active Library” - and in the “select library box” that now appears, >> scroll down to the bottom of the list, and find your new library name there: “My library-1” >> select this name >> click OK.
  9. Now U will see your new “My Library-1” displayed there on the top status bar as your “active library” for this project only (see on your schematic window now). (It won’t show on other new projects).
  10. Now from your schematic window >> go to “Run CvPcb …” (icon) & the list of your components will appear together with other libraries and footprint component lists. (Now U can update & replace all your old “small pad resistors” in this list, matching it with your new footprint resistor which has bigger pads). So, now >> click on your present resistor say “R1” and then on the left side column (library list), >> scroll down to its end, and U will find your new library “My library-1” there, >> select it - and U will see on the right had side column, you will find the new modified resistor that U had modified, will be displayed there. >> U can double click it to add this new footprint to your current resistor R1. Then in the same way, U can repeat this process and replace this modified resistor with all your current old KiCad default resistors, one by one. So now U have the bigger sized “pads” with smaller drill holes on all your pcb resistors which U can easily drill at home.
  11. Now after changing all your resistors, >> click on the “save” button on this window - & then close this component list window. Go back to your “schematic window” and >> click on the “Generate Net List” icon >> in the box that appears click on “Generate” button >> the browse box will appear >> find and click on your “Net file” and select it >> now click on “save” button, & then >> click on the “close” button of this box. - So now U have updated your “net-list” file.
  12. Now go to your existing “PCB window” and select one resistor say R1 >> from the option list that will appear, go to & clink on “delete footprint”, & the old existing R1 , resistor will be deleted, & in the same way U can select and delete all the old resistors like R2, R3, etc., from your pcb. >> then click the “read Net-list” icon above. >> & in the net list box that appears >> click on “read current net list” button & a lot of messages will appear in that box, >> click on the “close” button on this box (close this box) - now U will see Ur new modified resistor appearing with long wires attached to it. >> U can move it back to your pcb board area. So now U can have all your pcb board resistors replaced with bigger pads and smaller drill hole sizes, to make their fabrication at home very easy.
  13. Now U can, also modify the footprints of any other component from the existing KiCad library, and just “save” them inside your same newly created “My library-1” folder, - as many components as U need. & also now, U don’t have to go thru’ all the 12- above steps, as it will now become simpler & shorter to modify other components and save them inside your new “My library-1” folder. For this process U can now follow the end part of this tutorial on Youtube: “Getting To Blinky 4.0 - Creating A New Library And Footprint”
    ----------------------------------

Note: I am back to using KiCad after my one year lay-off, bcoz my KiCad loaded computer crashed. & my other laptop somehow, did not install KiCad on it, but it had “Eagle” which I stared using, but soon as also much before, Eagle started “cursing me” soon as I went outside its tiny PCB boundary space. So disgusted,… I came back to KiCad again, & now after my old computer was repaired, with the old KiCad files still there. I had to re-study and practice KiCad again this time, as I had forgotten some of my old KiCad skill learnt b4. So now I have been able to restore most of my old knowledge in KiCad, as an hobbyist & teacher.

& I still remember the great " veterans " here on KiCad, who had helped me greatly (to remove that v. troublesome “Cvpcb loading problem” - which was solved after a long trouble-some time, by their great help, … & still remains as solved), when I had first started using KiCad, & bcoz of this “Cvpcb loading problem” (which used to take a long time of 5 minutes, or even more to load), - I had lost all hopes of continuing in KiCad, … so, I thank them again now, after about one and a half years…, that I am still with KiCad today…!

Also especially that I have made dozens & dozens of PCB’s using KICad - yet I have never once gone to a “board manufacturer” - I have made all these many PCB’s at home - using the same steps but in a little modified way very successfully.

I have also found, simple methods to convert your designed PCB board into a “PDF file” on KiCad , & then take it in your pen-drive, & get it printed on a laser printer, on a “tonal paper” sheet, & then come back home and transfer that print on to your copper clad board (single-sided), using a simple “electric iron”, then clean it slowly, and then “etch” the board in “ferric chloride” solution, and then drill holes in it using 0.8 to 1.2 mm drill bits (as required), using small 12V D.C. pcb drill motors, or any other type of drilling machine,…even manual drill machine would do for simpler pcb’s.

So who says that: “KiCad designed PCB’s” are only meant to be sent to “professional board manufacturers” ?? - that is not true at all. … & I tell U that: KiCad is v. useful & handy, even for a “small home based electronic hobbyist

2 Likes

@orestesmas Please be aware, the people that complain the loudest about “lack of appreciation” towards “volunteer” developers almost always turn out to be non-contributors to FOSS.

Many developers, myself included, are actually given paid time at work to support FOSS projects, do testing, write tutorials, submit professional bug reports, and even contribute code. I’m being paid write now to tell you this. :blush:

And ALL of us appreciate you @orestesmas, the users (and educators) that actually use the software. I can’t speak for KiCAD, but I can speak for a number of FOSS developers:

                                  **You, the users, are really all the gratitude we ever need.**
4 Likes

In some circles, the opposite is true: KiCAD is assumed to be a second-rate tool with limited capabilities, intended for hobbyists who can’t afford a “real” PCB layout program. (Or those who lack the mental ability to use a “real” PCB layout program.)

I think this is partly due to the fact that KiCAD is available without charge, and a cultural belief that “You get what you pay for.”.

Dale

4 Likes

Forcing a student to experience as much of the entire process as possible not only gives him/her a feel for the physical sizes, but also an appreciation for the other people, and other functions, involved in producing a product. Students need to understand that an elegant circuit design may be a nightmare for the manufacturing folks to produce, or may have a reputation for unreliability because it can’t be adequately tested, or may never be profitable because the components are too difficult to obtain in the required price/quantity range.

Dale

2 Likes

I occasionally fantasize about KiCAD (and other software packages) being available in different variants, each optimized for a particular type of user. Sort of like some college classes are organized and presented for non-practitioners of the course topic, e.g., “Statistics for Humanities Students”. The optimization may include specially composed libraries, additional functions and features (even some that may not always work, or may trap the unwary), omission of functions and features that are problematical in some situations, pre-set or hard-coded defaults and options, enhanced or relaxed DRC, etc. Some of the variants I imagine include:

  • KiCAD for Newcomers and Those Unfamiliar with PCB Design

  • KiCAD for RF Applications

  • KiCAD for Hobbyists and Makers

I’m sure you can suggest other target groups.

Dale

1 Like

My favorite quote from Dr. Henry Petroski goes something like,

Design successes sometimes lead to better products, but it’s the design failures that lead to better engineers.

(Everybody who claims to be an engineer - and intelligent people who don’t make such a claim - should read Petroski’s book, “To Engineer is Human: The Role of Failure in Successful Design”.)

Dale

1 Like

I don’t see the justification either.

The primary argument is speed of product design; but, that is what breadboards are for.

Yes, thanks for reminding me, that there can be variations in the steps that I have given
to orestesmas, at his end.
I am using KiCad 4.0.6 version, & I don’t know what new versions have come now in the last two years or more, & which version the person on the other end may be using. My version may be quite old, but for me that is sufficient, bcoz once U know how to create your own custom footprint for any component in KiCad, then for my kind of occasional & simpler single sided PCB use, it serves the purpose fine, since I don’t need to contact any board manufacturer.

That is right, that people are used to the traditional way of thinking, that if U don’t have to pay for a product, then it must be inferior compared to the paid ones. But I have been using Eagle from much earlier times, before I came to learn KiCad, Eagle is fast and simpler, but the size limitation is a problem, & then later, after initial difficulties, … I found KiCad equally good, with no head-ace of size, and also no “cursing & warnings”, bcoz the moment U step out of Eagle’s small limited sized 4" x 3" PCB boundary, the software will almost like, …“bang” - give U a slap …!

Someone here already quoted: “Nobody ever got fired for buying [Big Name]” I can assure you, it is exactly that way at “my” company. :moneybag:

1 Like

Just to be fair:
The eagle guys just try to make a living out of their SW. The free version is just bait.
And they DO HAVE a hobbyist Version at a reasonable price.
What I donate to KiCad is actually more than what I payed for eagle updates.
But I lost several PCB-SWs just because they became greedy or simply vanished (not to speak of LINUX versions). I hope Open Source simply can not go this way !

2 Likes

I’ll see if I can find the link again for proof, but CERN members are using KiCad to design boards for CERN. I don’t think there is any reason to worry about the future of KiCad unless CERN goes bankrupt; and maybe DigiKey as well.