Changing Footprints in PCB Editor: Easy or Difficult? - Page 1
Forum section: electronics / general

author: EPAIII
author_rank: Super Contributor
timestamp: January 26, 2023, 12:25:47 am
content: I am an old hand at making PCBs, going back to the days of pasting donut holes and connecting them with narrow, black adhesive tape and working on a plastic sheet with grid lines. And I have used other PCB programs. I am now turning to KiCAD because it is free and likely to remain so and because it seems to be more than capable enough to handle any boards I am likely to be designing soon. I am tired of learning how to use a program only to find later that they want a large payment or I can't get the files until I make at least one purchase at greatly inflated prices.I tried the KiCADinfo forum with a couple of newbie questions and got non-responsive answers. It seemed that they did not even read the questions beyond one or two words and then just went into their favorite rants. So I looked more closely at the forums here on EEVblog and was surprised to find a KiCAD forum hiding under the cover of the general CAD category. So, here I am, with my next question.I need a very simple PCB that will have only three parts, each repeated five times. I don't even plan to have any in/out connectors. I guess two or four mounting holes. Seems like an easy starting place in a new CAD program. I have started with the schematic editor and I was able to find my IC in the component library. It is a somewhat unique one and I had no problems identifying the version that I have so I think when I start with the board layout I will already have the correct outline selected. At least I hope so.But now I need two SMD style capacitors and unfortunately they are not so unique. I have a schematic symbol, but am not so sure about the footprint. And YES, I have them at hand and have measured them as well as printed the data sheets so I do have the correct dimensions. But none of the footprints that are in the default KiCAD library (I think it's a default library) seem to be an exact match. So, now my question is what should I do at this point (while drawing the schematic).Should I just not choose any footprint? I don't know if that is even possible. The Schematic Editor may force me to choose one.Should I choose one that is close and hope it works out? This could be a problem later.Or should I stop working on the schematic and use the Footprint Editor to create a matching footprint?In the background of my mind is the question of how difficult it would be, in KiCAD, to change to a different footprint while working on the PCB outline. If that would be difficult, then I should ensure that I have a good one now. But if that is an easy change, then I can just choose the first or second option above and not worry.Any help or thoughts would be appreciated.

author: ataradov
author_rank: Super Contributor
timestamp: January 26, 2023, 12:39:28 am
content: You can not have a footprint or have a stub footprint. It does not matter up to the point where you want to export your modifications to the PCB editor. And you can change it later if you want. There is a seamless propagation of changes between the schematic and PCB editor at any time.What way to go depends on your personal preference. I personally never go without assigning a footprint at the time component is placed. I'm already focused on that part of the schematic, might as well do it as much as possible. And if needed, I do switch over and create a footprint. But also, in most cases you can find a close enough footprint in the library, especially for 2 pin component like a capacitor.Whether something works out or not depends on what you want to do with the PCB. With manual assembly the tolerance is pretty high, so there is something close enough for sure. With automated assembly you need to be a bit more careful.

author: EPAIII
author_rank: Super Contributor
timestamp: January 26, 2023, 12:50:37 am
content: Wow, fast answer. And, unlike that KiCADinfo forum, TO THE POINT. Thanks!I guess I will pick one that looks close and see how it works out. Well, two since the two capacitors are different sizes.Thanks again!

author: Doctorandus_P
author_rank: Super Contributor
timestamp: January 26, 2023, 12:52:39 am
content: Welcome to the Open Source side of PCB design. Indeed KiCad is and always will be free to use.Quote from: EPAIII on January 26, 2023, 12:25:47 amKiCad does not do that. By default capacitors do not have a footprint associated with them at all and you have to assign a footprint yourself. You can also always change footprints later if you don't like them. I wonder why you can't find your capacitor footprint. There already are quite a lot of them in KiCad's libraries. I do consider the ability to create my own footprints an essential skill, and it's not difficult in KiCad. The user interface is quite similar to the PCB editor. Lots of new users seem apprehensive of creating their own footprints and I do not really understand why. I guess they expect "all footprints to already exist" or something similar. For starters, it's easier to modify an existing footprint then to create a new one. The simplest way is to:1. Assign footprints in the schematic.2. Update the PCB with the schematic info (netlist and footprints).3. Hover the mouse over a footprint and press>[Ctrl + e]to load it directly into the footprint editor.4. When you are finished editing, just close the footprint editor, it will ask you if you want to update the footprint on the PCB with the modified version.A bit more elaborate (and safer) method is to:1. Create a project specific library.2. Copy a footprint into it and modify it.3. Make sure the schematic has a footprint link to your project specific library.If you have your custom capacitor footprint in a project specific library, then it's easier to update multiple instances of it on the PCB if you want to change it.KiCad is quite flexible in matching footprints with schematic symbols, and links can be updated or changed to different footprints quite easily.Have you seen:https://docs.kicad.org/6.0/en/getting_started_in_kicad/getting_started_in_kicad.htmlChapter 4 is about creating custom footprints.

author: golden_labels
author_rank: Super Contributor
timestamp: January 26, 2023, 12:49:28 pm
content: Also remember that KiCad doesn’t care, if footprints make sense for a given part. You do not need to use a footprint designed for a capacitor.In the “Assign Footprints” dialog, in the toolbar there is a “Footprints Filters” section. You can follow the filters defined for the part (the first button), but you may as well disable this filter and filter by pin count, a library, or any combination of these. If there is a resistor footprint, which matches your needs, it is perfectly fine to use it.Just be careful with parts, where pins are not interchangeable.

author: hpw
author_rank: Frequent Contributor
timestamp: January 27, 2023, 11:39:51 am
content: Currently on the process about my own libraries or use of given?As I have seen, those given are automatic build. Also hand soldered pads are almost on equal size.So it may be better to use only your proofed footprints.In addition most schematics are missing as AKM ADC/DAC or as ESS. The required food prints may requires to checked and foodprints copied and altered on the private library.Or I am missing something, or what may the best approach?

author: berke
author_rank: Frequent Contributor
timestamp: January 27, 2023, 12:05:01 pm
content: If you have the caps at hand, pick an existing footprint that looks close enough. Then route your PCB. On the PCB you can use the measurement tool (normally Ctrl-M) to verify dimensions. Sometimes I print the copper layer on paper and place the component to check the footprint, don't forget to mirror and disable all scaling, but you probably know that kind of thing already since you were doing PCBs the old school way.If you're already comfortable with the footprint editor you can check the measurements from there as well.Be very skeptical about supposedly "standard" footprints. For example recently I saw "SOT-323" in the datasheet for a MOSFET, picked an SOT-323 footprint and tried to order those boards. The order was rejected by the board house (Eurocircuits) even though another SOT-323 MOSFET was OK. I had to create custom footprints. LEDs are also particularly annoying as they are not well standardized.To verify a footprint, you can either open the footprint editor or the PCB editor and then draw rectangles on the "User drawings" layer with the manufacturer-recommended dimensions for their pad layout. If needed move those rectangles over the candidate footprint to see if it's OK. The "Shift+M" "Precise move" and "Ctrl+T" "Create array" functions are particularly handy.Sometimes manufacturers supply footprints. If not and if the footprint available in KiCAD is not good then you better create your own footprint, because hunting them online from third-party sources is hit or miss and you will want to verify them anyway. (Unless the footprint is very complicated.)However creating a footprint is not hard. You just locate the closest existing KiCAD footprint file and copy it to your library, then modify it. In the FP editor you can also update all your pads at once with "Set default pad properties." Don't forget to adjust library paths.You can also modify the footprint of a specific component from the PCB editor but I don't recommend it as it will not affect other boards, and if you delete that component you will lose your changes.Finally, unlike other editors such as Eagle, the KiCAD symbol and footprint files are plaintext files. They are actually S-expression (LISP) syntax files so you can highlight them with a Lisp (or Scheme) mode and edit them easily in a text editor. You can also write a small script to generate or modify footprints, and keep them under version control as Git (or Subversion, Mercurial, CVS, RCS) will be able to compute meaningful differences between different versions.

author: EPAIII
author_rank: Super Contributor
timestamp: January 28, 2023, 10:38:14 am
content: Great! Thanks a lot to all. I think I am beginning to understand a small bit of it.