Adding custom footprints


#1

Hello!
I have a problem adding one custom footprint. The component is a 10-pin 1.27mm pitch IDC connector. In another post I explained that there is not enough space between 2 pins to draw a wire, so I have made a new footprint with slightly smaller pin holes (0.88 instead of 0.90). Between 2 pins, I have now (1.27 - 0.88) (i.e. 0.39mm) which is enough to draw a wire between 2 pins with minimum width = 0.125 and minimum distance = 0.125.

Now I was using one connector I found in another library, which is something like Conn_02x05_odd_even generic connector. And I assigned the proper pattern. It was fine except with the pins which were too close to eachother to draw wires between. I tried to change to my own pattern (edit component in schematic, select my custom pattern, then generate net list, and read net list from PCB).
I get a warning, but the import doesn’t work. Any hint about how to add my own footprint? I thought one of the merits of Kicad is that footprints and symbols are independent.

There is no hint about what to do. I would guess a warning should not prevent Kicad from continuing, otherwise it’s more likely an error.

Another oddity. I was trying to check whether my new footprint is known by the program. My footprint has been stored in a .pretty folder. I looked here http://kicad-pcb.org/help/file-formats/ and it says that the .pretty folder is the library itself. Indeed, there are .mod files inside. However, my lib is not displayed (I can’t select it) when I open the Preferences -> Components libraries. The path is set, I can open the folder, I can also open the .pretty folder and verify that there are .mod files in it. I can even open the .mod files, but there is no way to view my lib in the component lib preferences.
I haven’t found clear explanation about what .pretty libs and other (.ugly??) libs are. Is there some documentation about this?

Thanks,

Pascal


#2

It sounds like you are trying to add the footprint libraries from the schematic capture portion of the program. You need to open up PCBnew and add your library from there. It’s confusing but the programs started out life separately so the libraries developed separately, each with its own structure. One of the more confusing aspects of this software at the moment.


#3

The warning is simply telling you that the netlist specifies a different footprint than the one currently used on the board, which is what you expect. You need to select “Change” under “Exchange Footprint” when importing the netlist.


#4

I wondered about that but in my version

is Eeschema and not PCBnew.

EDIT: I think maybe two different problems.


#5

The nightlies (and ver. 5) will not use the ambiguous word “component” any longer, “symbols” and “footprints” are now the rule to avoid this confusion. There is a reference contained in this bug report (which is expected to have the fix made into the next nightly): https://bugs.launchpad.net/kicad/+bug/1740440. Also see this short disussion: https://lists.launchpad.net/kicad-developers/msg32678.html. Any other potentially remaining occurrences of “component” in the latest nightlies should be reported on the bugtracker.


#6

Hello!
Thanks for your replies.
It seems to work (the problem was indeed “Change” for exchanging footprint.

About Preferences -> Component libraries is indeed in Eeschema, but anyway, that’s where I’m expected to choose the footprint (with edit command -> assign footprint).
Anyway, I suppose I have more or less reached the functionality level I had with my previous cad soft (i.e. I haven’t tried yet to generate the Gerber files and to panelize, but as for the PCB designing functionality, I think there is already a big gain). Thanks to you all!
Now I have many remarks of things that I think could be improved. I’m not sure this is the right forum. Is there a kind of wishlist somewhere?

Thanks,

Pascal


#7

There are multiple ways to connect a symbol to a footprint. The way you explain here (CvPCP) or via the footprint browser found in the symbol properties. And one can setup the lib such that your symbol already points to the correct footprint. (Fully specified symbol.)