When drawing a schematic in Eeschema Editor in KiCAD, there is a button to "Run CvPcb to associate components and footprints", so a schematic symbol on the *.sch file can be associated to a physical component to generate the Netlist and be soldered on the PCB when manufacturered. The component list in this library is kind of small relative to the number of components available for sale online. Is it possible to import components into KiCAD that users of the program have already created, so you don't have to build them from scratch using the Editor? Where can I find them, and how do I import them? I've only been using KiCAD for a week, because I learned it in Ham Radio Club. So I've never drawn a schematic before this week.

enter image description here

  • \$\begingroup\$ This question is very broad, and seems to start from a lacking awareness of the industry norm that a project will typical require creating custom footprints and schematic symbols unless a part has already been used by that designer and the results validated. \$\endgroup\$ Commented Mar 29, 2018 at 15:23
  • \$\begingroup\$ Hi Chris, you and @JRE seem to have more experience in this realm. I'm just a Ham, not an electrical engineer. I'm actually a software engineer myself. But I'm happy you two are answering from the perspective of what is typically done in electrical engineering. Sounds like I'll need to custom build components instead of trusting KiCAD library components being correct before having a board made. Thanks for clarifying. \$\endgroup\$ Commented Mar 29, 2018 at 16:10
  • 1
    \$\begingroup\$ PCB design typically involved a lot of staring at data sheets and often the wielding of digital calipers as well. For larger parts, a good final check can be to print things out at exact 1:1 scale, verify overall printout outline dimensions with calipers, and set your parts on the printout. Watch out for hole sizes as well as positions, and watch out for shields or features that might short to exposed copper. \$\endgroup\$ Commented Mar 29, 2018 at 18:30

2 Answers 2


There are a lot of places where you can import custom-made components that manufacturers provide. For instance, Macrofab, a company here in Houston where I live, has instructions on how to do what you're asking.

Assuming that the manufacturer has components you can import into KiCAD, here are the instructions on how to do so. You may need to contact the manufacturer of the component to see if they have a component for KiCAD. Otherwise, you'll have to end up making it yourself and specifying its characteristics. I know at my job, I typically ask for the vendor if they have any SPICE or CAD components of their own products that I can import into the software and they typically do.

Otherwise, I have two options if they don't have what I am looking for: 1) Don't use their products and move on to the next product that I can use to get the job done... or 2) Ask for a specifications sheet along with its architecture (if I'm dealing with FPGAs or ASICs) and create it on the software... which isn't exactly a lot of fun.

But I'm digressing (but it is important if you're dealing with manufacturers)... Here the steps you can take to import what you need into KiCAD.

1) Open KiCAD

2) On the program/tool list, go to Eeschema.

enter image description here

3) Click Select -> Preferences -> Library.

enter image description here

4) Click Add and choose the newly exported ".lib" file.

enter image description here

enter image description here

5) You're finished!

Now if you want to import the footprints and patterns, then you need to follow these steps:

1) On the program/tool list, go to Pcbnew.

enter image description here

2) Follow the same steps as you would importing symbols, only this time select the ".mod" file.

enter image description here

3) You're done!

This is where I got this tutorial and pictures from.

  • 3
    \$\begingroup\$ You'll find that most of the real engineers recommend drawing your own parts rather than importing parts that someone else made. By the time you've hunted down a source, imported it, checked it for accuracy, and corrected any errors, you could have just drawn it already. They also usually customize the parts, anyway. Slightly different sized solder pads, labeling things consistently, fonts and text size, layers, etc. You really are better off "rolling your own." \$\endgroup\$
    – JRE
    Commented Mar 29, 2018 at 7:47
  • \$\begingroup\$ Good to know, @JRE! @KingDuken, I noticed that the first set of steps did not update the dialog from the button in my question. But rather, the very last step in this answer did. I ended up downloading the library from the digikey.com website, and pointed to the *.pretty folder, containing *.mod files. The "digitkey-footprints" showed up at the very end of the left panel of the association dialog. The *.mod items showed up on the right panel are found after clicking on the the "digikey-footprints" item, so I could associate one of them to a given Annotated symbol in the middle panel. \$\endgroup\$ Commented Mar 29, 2018 at 8:22
  • \$\begingroup\$ @JRE, do you have any resources on what to watch out for on the PCB manufacturer website(s) (ie: I found www.oshpark.com) for common issues if I use an existing library, and how making your own will be better? I'm planning on just making a very basic circuit with a coin battery, voltage regulator, diode, DC-AC relay, and an AC device after the relay is switched. \$\endgroup\$ Commented Mar 29, 2018 at 8:25
  • \$\begingroup\$ @KingDuken, I'm still puzzled with where the *.lib file went to, or how I can see what I added for the first "Add" in your answer. I'll play with again this weekend when I have time. \$\endgroup\$ Commented Mar 29, 2018 at 8:29

The Kicad philosophy is: There are components and there are footprints, and you need to match the component with the footprint. Why? Because the same component might be available in different footprints. AFAIK, all common footprints are already present in Kicad. Only footprints I have had to make were of heatsinks and connectors.

After you draw the schematic (and have run annotate), you have to run CvPCB. This will pull up the browser where you can select your footprints. Only after all components have been assigned footprints, should you create the netlist. Then start the board editor and import netlist. If some components do not have footprints assigned yet, the board editor will issue warnings when you import the netlist there. Go to the schema editor, and run CvPCB to fix that.

The issue with components and footprints also extends to the schematic editor. There are devices and there are components and you need to match the device to the components. e.g. there are 3 leg transistors, 4 leg transistors etc... and you need to match your part with the correct schematic, and then again match the correct footprint with that schematic. Only constraint is the number of pins on the schematic and footprint must match, and they must be numbered the same. You need to check that the numbering is in correct order. e.g. there are transistors with BCE, CBE, ECB... and all of them have pins numbered 123. You will need to make sure 1,2 and 3 correspond to the correct transistor leg. There is a footprint viewer from CvPCB, which will show you which pad corresponds to which pin number. The schematic editor already shows the pin number.

All this is unlike eagle, where footprints are hardcoded with the component. In Kicad, it is perfectly possible to assign a capacitor footprint to a diode, intentionally, or by mistake. Very flexible.

PS: CVPCB may need internet to run. There is a way to force it to use the already installed libraries. Open the settings from CvPCB, and change the KGithub to KISYSMOD. Hope you're using the latest version of Kicad.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.