Using and Assigning Footprints - Unsure what to do next

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

I’m quite new to KiCad and am working on my first schematic, other than the tutorial and a few test schematics. This will be my first attempt to design a circuit and to then design the PCB and, after that, to export it, import it into my CNC software, so I can etch it with my CNC.

I’ve been looking for information on footprints for components and I have several questions that, at this point, I’m not at all sure how to answer or just what to search for. (I’m having trouble with searches on a few topics - not always finding the documentation I need and getting the same hits on Google over and over.)

I used several symbols in the Device library because I’m still getting used to everything and I couldn’t find some of the commonly found parts I needed (like LEDs and resistors). Unfortunately, a lot of these parts don’t have accompanying footprints. While trying to find appropriate footprints for the components, I’ve run into a number of questions:

  1. I could not find “electrolytic” in the symbol library at all. I did find a symbol that matched it, so I used it. It’s “Polarized capacitor, small US symbol.” This is one of several situations where I could not find a specific device and used something by matching the symbol with what I’m used to seeing represent it in a schematic. Will this cause other problems in the later steps in this process? For instance, I know a schematic is evaluated to see if it follows the rules before I can do a PCB design. Will this kind of thing cause problems with that?

  2. What would be the right way to deal with the issue above - when I can’t find a specific symbol, or I find a number of symbols, but they’re for specific part numbers. (For instance, I found a few LED symbols, but they had specific model numbers and I’m not sure just how compatible they would be with the LEDs I have.)

  3. I use several gates on a 74HC00. I found a a gate easily as a symbol to use in the schematic, but how do I work with a footprint of an IC chip that has several different gates, all in use, in the circuit? If I use all 4 NAND gates in a 74HC00, how do I set up a single footprint that contains all the gates in use?

  4. While looking for a match on the electrolytic capacitors I’m using (see question #1), I found several footprints listed. They all had numbers in the footprint title, like 4.0x5.8mm (as seen in the image below). It seems to me those numbers would be size. In this case, one would be the height, the other would be the diameter of the device. The caps I have on hand are typical sizing of this component - sizes I’ve seen for caps going back to the 70s. They measure 4mm in diameter and 11mm in height, but there are no devices in the library that match these measurements. Do I just go with one with the right diameter, so the PCB footprint is the right size? Or is there another meaning to these numbers?

5.To power my circuit, I’m using a USB-C jack that has only 4 pins for a connection. I see a number of USB- C connectors in the libraries, but I don’t see one that’s 4 pins and with the connections this jack has (GND, +5V, D+, D-). Do I need another library? What can I do to find the right footprint for this?

  1. I don’t want to just load in any library I find and end up with hundreds of libraries I won’t use, but, as I mentioned, some of the parts I’m using don’t seem to have a fitting footprint in the library. I do see a list of other libraries I can download in the KiCad docs on footprint libraries. Is there any information on which libraries will be the most useful or which most people find helpful with KiCad?

I’ve never done any kind of PCB design before now (well, none with a CAD program, what I did was back in the 70s and 80s, and this was only small stuff, but it was way before desktops could handle anything like PCB design or circuit simulation). I haven’t had to deal with footprints or understanding just what factors are important for me to consider when looking for a footprint to match the actual device I’m using. I’m feeling a bit overwhelmed in trying to explore and understand this particular KiCad feature.

1 Like

Quick hints: Many common symbols like R and C are in the Device library. Electrolytic capacitors use the Polarized capacitor symbol, as do Tantalum capacitors.

I’ll leave the other questions for others.

Electrolytic capacitors are polarised, just as Tantalum caps are, don’t go looking for a Tantalum cap symbol, you won’t find one, you would simply used the polarised symbol. You also won’t find symbols for Polyester, Ceramic, Disc ceramic, etc. they are all Capacitors.

Expand your general Electronics knowledge . . .

Any two pin/wire LED can be represented by the same generic LED symbol, it’s just a symbol after all . . .

Drop the 74HC00 symbol on yur schematic then click again 4 times to drop it again . . . you will see 5 symbols, the 4 gates and the supply for the device

You are looking at Capacitor_SMD, meaning surface mount device, not through hole, if you want through hole capacitors look at Capacitot_THT

Often for USB connectors if you can’t find the correct footprint in the KiCad library and you can’t find a footprint to download from the manufacturer you have two choices, use a different device or make your own footprint. It’s something you will need to learn eventually, embrace the challenge . . .

Have fun. :slight_smile:

1 Like

For the 74HC00. That is called a “multi unit” symbol in KiCad. Al the 5 parts in the screenshot from RaptorUK are from the same IC (U6) and therefore they are all combined in a single footprint (Note their pin numbers). KiCad keeps them apart with their suffix (A though E) after the RefDes.

For the USB connector. With USB-C there are no 4 pin connectors. Pin numbers on USB connectors seem to have standardized names (A1 tough A12 and B1 through B12) and because the plugs can be rotated, all signal pins appear twice in the footprint, and also in the connector symbol, and you make the appropriate connections between pins both on the schematic and the PCB. This makes the manufacturing of the mechanical part of the connector easier, while during PCB design laying down a few extra tracks is a small thing.

Also learn to make your own schematic symbols and to modify existing symbols. It is very easy:

  1. Put a symbol on your schematic.
  2. Select it (or even just hover above it) and press [Ctrl + e] to load it in the symbol editor.
  3. Delete or rename pins, change graphics, etc.
  4. Close the symbol editor. KiCad will prompt you whether you want to replace the symbol on the schematic with your modified version.

Creating custom symbols and footprints is a very common task in any PCB program. Some people spend hours trying to find some part on the internet, while it can be made in 15 minutes. Although parts on the 'net are much easier to find these days, with specialized sites such as Samacsys and PCBlibraries (there are around 10 of such sites). Parts from such sites often need some kind of tweaking to make them compatible with KiCad. i.e, you still need the symbol and footprint editors.

For the capacitor footprint: Your old one from the '70-ies is probably a THT part. The numbers in the footprint name are indeed related to physical properties. In your case Capacitor_THT:C_Radial_D5.0mm_H11.0mm_P2.00mm is a pretty close match:

You will have to learn some library management too. You can make a project specific library, put in just the parts you need for a project, and then throw away the rest of the “big library”. Or you can collect them and keep them in a dark corner of your SSD (HDD) and look into them when you are searching for another part for another project. In KiCad V6 and newer, all relevant information is stored into the project. KiCad does still maintain links to external libraries, but those links are only used if you explicitly update a part (symbol or footprint) in your project. Even if the external libraries completely disappear, the project does not get damaged. KiCad only complains that the links to those external libraries are broken. With: Schematic Editor / File / Export / Symbols to New Library you can also create a (project specific) library which has all the symbols which are used in your project.

KiCad can be a bit overwhelming at the beginning. Have you found: Getting Started in KiCad | 8.0 | English | Documentation | KiCad There are also a bunch of different video tutorials on youtube. But you will always have to put in some time and effort to really understand how the parts fit together.

I’m working through all the advice here (thanks, everyone!), and that’ll take a day or so. But there are a few points I wanted to respond to quickly:

I got them from the device library, but now I know to look under “Polarized Capacitor” instead.

I saw this and thought, “Okay, cool!” I just want to add a clarifying support to this. I had one gate on my schematic already, for a part of the circuit that I’ll need 4 of. I tried copying and pasting that 1st gate and adding new gates. Just for future reference for anyone finding this in a search, you have to do it just like RaptorUK describes - you have to add all 5 symbols at the same time. Click to place gate 1, then 2, and so on, up through the power supply.

Working on it - wish I could do it faster! :wink:

Okay no problem there. My concern is that I don’t know what other properties are included with a symbol and how it will impact any simulations I’d run or the check it requires before using the schematic to build a PCB.

I did find a footprint for the ESP32 Devkit C, so I have seen those can be found. Still learning about that and what to look for. I’m dealing with one thing at a time and I still need to find out just what I’m looking for. I’m hoping I can find a footprint for the USB connector - or switch to another one that has an available footprint. I’m sure at some point I’ll learn about making my own footprint (and maybe what’s needed to include it in a 3D rendering, too - some kind of STL file, maybe?). I’m just hoping I can get other things working first.

I’m also going to go through and see what I can find in the other libraries on the docs page about downloading libraries. My concern was that I could download some of these and find out there’s too much for me to work with until I get a better feel for everything.

I’m still working my way through all the other points made. I appreciate all the help. I’ve learned complex programs before, like Blender for 3D work and creating STL files for printing, and CNC systems, but KiCad is presenting me with some unique challenges since I have never done anything with electronics CAD before. I’ll get it figured out, but not overnight.

1 Like

That’s good practice, but if you forget to place all unit in one go, you can still fix the situation. Just edit the reference descriptor and units to suit. For example if you have placed only gate U14A, then next gate you place, edit it to U14B. Don’t forget the power unit, though the ERC will catch that later.

For simulations you may need to have two schematics, one for making a PCB, and another for simulation, because different versions of the symbols (e.g. transistors) have to be used. Concentrate on getting a PCB layout, then adapt a copy of the schematic for simulations later.

I understand your issues, I had exactly the same when starting with KiCAD a few years back. To begin with, it looks overwhelming. But really it’s not.

First, the symbols are just that, nothing else. They’re graphics, and that’s their basic function. Working with the Device library as a basis will cover 60…90% of your needs.
The symbols can have tags added to them like datasheet, footprint, etc. but that’s just an optional “convenience”. Don’t expect “magic” functions, they’re not there.

Second, footprints are also just the same: graphics, nothing else. They’re far more sophisticated with many layers, but contain nothing magical.

If you start from there and explore further, you’ll see utilites and tools that are helpful, but the basic premise is very simple.

Lots of great advice above.

Another hint to get a large number of symbols and footprints on your drawings is to use the “duplicate” function.
Place a resistor symbol on your page and associate it with a footprint.
Duplicate that symbol, highlight both symbols by enclosing them in a box, duplicate. Highlight all four with a box, Duplicate. Highlight all eight with a box, duplicate.
You now have 16 resistors, all with different Refs. but all with the same footprint.
This works with most everything.
Highlight all 5 parts of a 74xx IC and duplicate. You now have 2 complete ICs.

With regards to your Kicad libraries, download and install all of them and hide the ones you do not need. One day you will need them, particularly the footprints.
You will also need personal libraries for imported or DIY symbols and footprints.
The “Getting Started” doc. is great. I also wrote this FAQ to help newbees with library creation and management.

Just to complete answering this question: look up the data sheet for the part on the internet.
You will find in that data sheet, all the various packages available for that component. Decide on the package you need/want and find it in the Kicad footprint libraries.
eg. A 74HC00 is available in all these packages:

Now go through the various “Package” libraries in Kicad footprints to find the footprint you need.
A hint: Kicad knows all five parts are in the one package, so when you place a footprint on one gate, that footprint will automagically be placed on all the other parts of that symbol.

1 Like

I’m still working my way through here and there are a few replies I haven’t studied closely yet because I’m dealing with a few issues at a time.

I’ve looked over that and I see it’s basically editing the graphics. I take it creating or editing a footprint is similar? I would think the issue there would be to be sure and have accurate measurements of things like the distance between pins (is there a standard for a lot of components - I would think so, since so many easily plug into breadboards so easily)?

I reference the ones from the 70s because it seems to me the electrolytic caps I’m looking at and using now are just like the ones I remember from back then, making me think the proportions have not changed much over time.

I tried looking for the “Capacitor_THT:C” and it doesn’t come up in the list. I’m assuming it’s in a library other than the standard ones included with a KiCad install?

Doesn’t sound too complex from what you say and I can see why using a library for just one project would be a big help. I’m sure a lot of us tend to work with the same parts over and over, so I can also see creating a personal library with the parts I use most often - or maybe one of the parts I have a hard time finding because I forget the actual library name. In other words, I can see having custom libraries that will work for my workflow or situation.

Yes! Thank you - good to know it’s not just me! It’s a lot to deal with! On the other hand, it’s wonderful to be able to make schematics that look so good and are so easy to read instead of sketching them on whiteboards and taking photos of them! I was teaching myself electronics in the 70s and 80s and then had a long gap where I forgot a lot and couldn’t do much at all. Now that I’m getting back in, I’m just stunned that it’s so esay to produce a good looking schematic.

I’ve gone through that particular page and it helped, but even in that, there’s enough I’ve had to review it. I think I’ll have to start going through YouTube videos. I prefer being able to read tutorials and docs over watching them, it’s just the way I learn, but I am glad to know there’s so much out there to help me!

This touches on another point I was going to bring up in its own thread. If I have, say, 5 resistors, and add one and, for whatever reason, I want to make the new one R1 and renumber all the original 5 resistors as R1-R5, is there any kind of refactoring or renumbering ability that would do that for me, so I don’t have to change the number on each one by hand?

Thanks! Makes it easier! So, for the schematic and PCB, just pick the devices with the right symbol and footprint and I’ll be okay. For now, that’ll work, since I’m working with simpler circuits and my test is often working out what I’m doing on the breadboard. I know I’ll get to using simulations in the future, but there’s so much to learn to start with, it helps to know I can kick a few things down the road so I don’t have to deal with everything all at once.

I get the point, thanks! So I don’t have to worry about other properties that might apply to a symbol. As I mentioned above, the one concern I have now is that if I have to make my own footprints, I’ll have to do precision measurements of things like the pins to be sure when I make the PCB, the holes are the right distances for the pins to fit in.

I didn’t (yet) know I could hide libraries. Thanks!

Am I right that when you’re talking about downloading libraries, you’re talking about the ones on this page?

Most people don’t care about the exact numbers that are assigned and they use Tools > Annotate Schematic which can do either left to right and top to bottom or the converse. It can also leave existing numbers alone and only do the unannotated ones, or renumber from scratch. All that really matters is that they are unique for each symbol. Fussy people like me try to give numbers that make sense to me, e.g. in a stero amp, numbers 100-199 for left channel and 200-299 for right channel. To do this I might have to edit manually, but it’s not that tedious. Remember, you don’t have to start at 1 or avoid gaps.

Also hierarchical sheets are generally assigned their own range, e.g. sheet 6 might be assigned numbers 600-699. These sheets help organise schematics.

1 Like

When you download and install the Kicad program, you are given the opportunity to download the official Kicad libraries, if you so wish.
Earlier in this thread, you mention having some libraries and not others (because you will never use them).
I was not sure what you have done with the Kicad libraries, if anything; hence my comment.
Kicad libraries are updated regularly. They arrive with the program. When Kicad 8.0.7 is available, if you update your Kicad 8.0.6 to 8.0.7 you will receive the latest library updates automatically unless you choose to not receive them.
It is only worth having the latest Kicad libraries available. The latest are improvements, corrections and additions to ALL previously published libraries.

Further to Retiredfeline’s comment; when you have a reasonable schematic drawn, save it, then use the “Annotate” icon or Tools > Annotate Schematic to see what can be achieved with the various selections.
When you have finished experimenting, close the schematic without saving, and when you open the schematic again, you will be back to your original drawing and all the experimental messing has gone.
This is the best way to explore most of the functions in Kicad.

This is so easy.
If you wish to create a 14 pad footprint for your 74HC00, set your grid to the distance between holes. In this case use the grid 1/10 inch or 25.4mm. As you place the pads, they will automatically land in the correct position. When your pads are in place, change the grid to something more suitable to draw the graphics.
If you want a resistor with pads 12mm apart, set the grid at 12mm or 6mm or 3mm or something else with grid lines easy to count, then change the grid afterwards for drawing the graphics.

I recommend opening a few Kicad symbols and footprints in their respective editors and disassemble those parts to see how they are constructed. Kicad library parts are “Read Only” so you cannot save the mess you have created back in the Kicad library. :smiley:

The best reference for measurements for footprints is the manufacturer’s datasheet. However most common packages are already represented in the standard KiCad library as those footprints are standardised. Also have a look at the Footprint Wizard in the Footprint Editor for generating footprints for various kinds of arrays of pads. You can twesk the parameters, pad size, spacing, hole size, and so forth.

twesk is good. tweek is better. :rofl:

Actually I meant to write twerk. :crazy_face:

This is something like that. I’m doing a learning project, which is basically a control panel for my CNC and the laser on it. Total of 3 devices to control, so I have a power supply for the panel and a master on/off switch. So I want components numbered 1 or 2 on the power supply or main switch circuit. It’s easier for me to keep track of 'em that way. Then I have a circuit for each of 4 switches (one left open for future use). These are not only to turn each device on and off, but there’s also an input for an ESP32, using ESPHome. While these can’t be controlled through home automation, their status can be read. (That means I can turn on a warning sign outside the shop to tell people not to enter without safety glasses on and it automates the vent fan.) So the lower numbered components are for the main switch and power and the others are sequential for each switch.

I guess some of us are pickier than others, but this kind of thing helps me keep things mentally organized. Maybe as I get used to this and am designing more circuits, it won’t matter as much for me.

I’m used to refactoring in programming IDEs (I come at this from the software side), so I was thinking it might be in KiCad for the hardware, too.

I followed the default setup While I don’t remember the exact dialog boxes that came up, I remember having to make a choice for symbol and footprint libraries and I just stuck with the default choices. Since I can’t find the capacitor symbols mentioned earlier, that’s got me thinking I just need to add the other libraries.

Back in the 80s, when I was using a crappy TRS-80 Color Computer, it had a glitchy power issue on the board. That was my first computer and I quickly learned to hit “CTRL-S” frequently to save my work. That habit has stayed with me ever since then and there are times, before the days of an affordable UPS, that it saved me a decent amount of work. So I use a method close to yours. When I want to experiment, I add an “X-” to the start of the filename, so if I save it out of habit, it won’t overwrite my good work.

Cool! Glad to see it’s pretty easy to do!

I’ll be looking at that later today. I won’t be surprised if there are a lot of packages already done in there, such as 12 or 14 pin ICs, for example.

I think a demonstration would help us get the idea…

Take a look at the whole bunch of options in the Annotate Schematic tool including limiting the (re-)annotation to selected components and so forth. Also as mentioned, hierachical sheets can be numbered within a range and replicated sections of schematics are good candiates for hierarchical sheets.

I see part of what was confusing me. The Footprint Chooser has a similar interface and window as the “Choose A Symbol” window in the Schematic Editor and I was confusing the two. Once I saw that, I was able to get the footprint recommended by @paulvdh, back in the 4th post on this thread. So that’s a good start. I’m going through and getting the footprints for my components now.

There’s another question that comes up. I know if I pick multiple symbols in the Schematic Editor and press E to get properties, I cannot get a list of shared common properties. Is there a way to pick the footprint for multiple components at once?

Also, another question: I have a voltage regulator, an LD1117S33TR, which is a 3 pin package, about the same size and shape as a MOSFET. But the footprint library gives a 4 pin footprint for the same component:


What’s going on here? Is this a different package for a similar component? And is there a way to search for package types? For instance, is there a way to search for 3 pin MOSFET type packages?

There are a lot of different ways to assign footprints to symbols. Some ways in which you can assign a footprint to multiple symbols at once is with:
Schematic Editor / Tools / Assign Footprints Or with:
Schematic Editor / Tools / Edit Symbol Fields (combined with grouping).

That is a footprint for a SOT223, and although it has 3 pins and a tab, the tab has pin number 2. There are only three different pin numbers. This is quite common in KiCad. When pads in a footprint have the same pad number, then you only have to use it as a single pin in the schematic, and on the PCB you have to connect all pads with the same pad number together.