Pcbnew error reading netlist 'pad not found in footprint'


#1

This is my first time heading into the Pcbnew stage of my board’s development. I have opened it up and clicked on “Read netlist”.

I choose my netlist file and click “Read Current Netlist”.

It shows these errors in the messages box:

   Error: Component 'CP2' pad 'K' not found in footprint 'Capacitors_SMD:C_1206_HandSoldering' 
Error: Component 'CP2' pad 'A' not found in footprint 'Capacitors_SMD:C_1206_HandSoldering

Component CP2 - is a polarised tantalum capacitor :

02

In CvPCB I have it associated with "Capacitors_SMD:C_1206_HandSoldering:

I am not sure what it means by pad ‘K’ or pad ‘A’? As far as I am aware this component doesn’t have a pad ‘K’ or ‘A’?

Can somebody help me out, how to I remove these errors?


#2

Where did you get the schematic symbol for CP2 from? It has pin ids as if it were a diode.


#3

I have no idea - it was just in my installed libraries! What should it look like?


#4

In your symbol pins are named K and A, while in the footprint they are named 1 and 2.
You can change the pin names of the symbol to 1 and 2 or the pin names of the footprint to K and A. Pin names must match.


#5

Two things wrong here.

Your symbol is polarised, so C_1206 is wrong as that is not polarised.

Polarised capacitors still use pins 1 and 2, not A and K

What KiCad version is this?


#6

Now we run into one of the fun parts of the kicad 4 series. The symbols come with the kicad version. But the footprints by default are downloaded on demand directly from github.
This creates the problem that your symbol and footprint libs get out of sync over time. (So if you have an older version of kicad installed its symbol lib does not really work with the on demand footprint lib.)

To solve this problem (in the long run) you need to replace the on demand footprint libs with a local installation. Have a look at this FAQ post to learn how you can do that: How can i install a specific version of the footprint library?

For you the easiest way is to download the footprints that are tagged with the same release as your installed kicad version and add them to the fp-lib-table instead of the github link.
Another option is to download the 4.0.7 libraries and install both the symbol and footprint libs (requires a bit more work as there really is no easy way to globally define symbol libs in kicad 4.)

Or if you just started there is also the option to already use the backported kicad 5 libraries. (Will make an eventual switch to kicad 5 a lot easier)


#7

Do I need to append each 4.0.7 .pretty file one at a time? This would take me too long, there are loads and loads…?

I downloaded http://downloads.kicad-pcb.org/libraries/kicad-library-4.0.7.zip – but I don’t see a big list of .pretty to add with the wizard? Which file within this contains what I need to add to fix this capacitor footprint?


#8

Damn i thought these snapshots all contain the footprint libs as well. Well seems like they don’t (Means i need to update my faq post)

I am not sure installing the footprint libs of the 4.0.7 snapshot would fix your problem. The footprints of that release are very similar to the footprints you get via the github plugin. (We did change the pin numbers of the capacitor footprints long before this release)


So assuming your capacitor symbol comes from the official library then this would mean you have a very old version of the symbol libs installed. You can update it using the lib and dcm files found in the snapshot archive you downloaded.

The “simplest” way would be to copy these files into the system directory that currently holds the symbols. (Will need root/administrator access rights) Sadly i do not know where this is for OSx
You can check the eeschema->preferences->component libraries dialog for clues (The system path is one of the paths listed by default in the search path part of that dialog)

Another option is to put the symbol libs anywhere on the system where you have write access and use the component libraries dialog to add the location of these libs as a user search path. In addition to that you might also need to add the libs to the library list. This might be necessary if the names of the libraries changed or if you want to use libs added later. (upper part of the dialog)


If you did not use the symbol from the official library then you will not be able to use the footprints of the official lib with it.
The solution to your problem would then be to exchange the symbol to the one that comes in the official lib.


#9

Right.

SO I found the folder, it was:

/Library/Application Support/kicad/templates
/Library/Application Support/kicad/modules
/Library/Application Support/kicad/library

I have replaced those 3 folders with the ones in the 4.0.7 downloaded snapshot.

I reopoen Kicad, run Cvpcb from eeschema, save the netlist.

I open pcbNew, click Read netlist, read my generated netlist, and still see:

**Error: Component 'CP2' pad 'K' not found in footprint 'Capacitors_SMD:C_1206_HandSoldering' **
**Error: Component 'CP2' pad 'A' not found in footprint 'Capacitors_SMD:C_1206_HandSoldering'** 

Where do I go from here? @davidsrsb mentioned the symbol looks wrong for a polarised capacitor, so is the problem simpler than we are thinking here? Have I made a simple mistake in the association of the footprint? Is Capacitors_SMD:C_1206_HandSoldering a suitable footprint for a solid tantalum capacitor (polarised)?


#10

After replacing the symbol libraries you might need to manually replace the old symbol with the new one.


To explain the errors you get a bit more: The symbol you added to your schematic has the pins defined with “numbers” A and K. Whereas the footprints you get from the official library use pin numbers 1 and 2.
The symbol that is in the 4.0.7 library (Devices) should define the pins with pin numbers 1 and 2.

No. The C_1206 footprint is for normal non polarized capacitor.
The tantulum caps have their own footprints in the Capacitor_Tantulum_SMD library. (The size equivalent would be the EIA_3216 footprint. But check first that you can buy the capacitor with your required capacitance and voltage rating in that size.)


#11

Right.

SO i removed the symbol, and readded this one:

Then I associated with this footprint:

Yet I still get those errors. So where next with the debugging!?


#12

Well the symbol you use does not seem to be from the official library. No wonder it does not work with the footprints of the official lib.
There should be a polarized cap footprint in the “device” library.


#13

Awesome! Found it! and the reading of the netlist now works!

Ok! So how do I know which library my symbol / footprint is from (would be helpful to see that).

Also how do I now remove that horrible nasty symbol which has caused us all such a waste of time – kind of leads to the first question because I am not sure how to identify where it has come from)


#14

I don’t really know where you got that lib from. (google does not really seem to be of much help here) You seem to have somehow installed some third party lib. Maybe you work on an old project that has this lib added as a project local lib?

If you create a new project, is the passive lib in the list of the available libs?


On a different note: I looked into the footprints are missing from the snapshot downloads thing. There is a separate zip archive holding only footprints.


#15

Hover the cursor over the symbol and press ‘e’ to open the “Component Properties” dialog, then press the “Test” button.

For footprints the library name is prefixed to the component name.


#16

My solution would be:

1). EEschem symbol editor: Change “K” & “A” pin numbers to “1” and “2”.
2). Use a capacitor footprint for PCBnew (Tantalum 1206?).
3). Get on with this project.
4). Wait for the release of V5 for better libary integration.

At this point in time it seems silly to spend much effort in organizing libararies for Kicad V4.


#17

It reports the library as ‘device’ – which is the same library as the capacitor which works.

Odd.


#18

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.