I have a client with a project done in KiCAD 4.0.7 that needs minor changes. I need to change an 8 pin connector to four 2 pin connectors. I am having trouble getting this to work. All of the tutorials I see are for more recent versions of KiCAD. Their is already a 2 pin connector on the board. I copied it, and updated the netlist. When I try reading the netlist in PCBnew I get the error "IO_ERROR:fp-lib-table files contain no lib with nickname ‘Conn_Header’ "… What do I need to do? Any help is appreciated.
Are you trying to update it in 4.0.7 or in a later version?
My client wants to stay in 4.0.7 so that is what I am using.
Before you modify the schematic you should check that the netlist import works on the existing schematic. You may be missing libraries in your installation.
I just tried that. I generated the netlist from the unmodified schematic and imported into the board with no errors.
Conn_Header I think is the library for the connector that I copied.
Try removing the 8 pin symbol substituting with four 2 pin symbols fresh from the symbol library, then associating the appropriate footprint with them.
I think that works. I am having trouble finding the library that has the 2 pin header that I was trying to copy when I double click on the component and try to assign a footprint. I am new to KiCad ( have lots of experience with Eagle and OrCad). Is there an easy way to search for the footprint or copy it from the other connector?
Sorry, I never used v4, I started with v5, so I’m not familiar with the search facility in v4, or even in v5 anymore. People will probably tell you it’s easier in recent versions, but then you have a job to get done and then you can move on.
I started to use KiCad with 4.0.7 but it was told that in V5 there will be important changes in library management so I decided to wait for V5 to really start with KiCad.
I remember that in V4 library management was for me very un-intuitive but there is certainly the way to use one footprint as a start point to design the next. But don’t remember how it was done there.
Before first time using KiCad V4 I downloaded and printed all pdfs. They were practically about KiCad V3 what I didn’t know when read them but it was enough good to use V4 including library management. As in internet nothing disappears may be it is possible to find them.
First, KiCad-4.0.7 is really prehistoric. Apart from missing out on 7 years of improvements on KiCad, nearly everyone has forgotten what the peculiarities of such old versions are, and this makes it more difficult to help with problems. Maybe you should ask you client to reconsider updating. As long as the old projects are complete updating and converting projects is quite easy.
The biggest change is the transition to V6. In KiCad V6 a new file format for the schematic was introduced, and with it all used schematic symbols got embedded inside the schematic file. Older versions were dependent on external libraries. This is a huge change and makes projects much more robust.
That error message looks pretty much self explanatory to me. Apparently some of the symbols have a link to footprints in the “Conn_Header” library, but KiCad does not know where that library is. You have to add the library to the fp-lib-table file with the “Manage Footprint Libraries” function. I don’t think much changed over there.
The ‘Conn_Header’ library is the library for the part I tried to copy. That part is used multiple places on the board. I will try to find the library, or recreate the footprint, it is only two pins.
My Client had an engineer that did this project in 2017. He recently passed away and some of the document control was questionable. My client’s company only uses Altium know. The client wanted to verify the gerbers could be recreated before I started this update. I tried using version 6. The gerbers generate and look the same, but file compare show many differences ( I feel that the changes do not affect the board, many of them were comments). Using 4.0.7generated gerbers that were nearly identical to the production files. The only difference was the date generated.
There is no need to re-create gerbers. The normal way is to archive a set of gerber files that is used for PCB production.
With KiCad you can also re-create a PCB file by exporting the gerbers from KiCad’s gerber viewer to a PCB project.
I tried looking for online documentation and could only find it for 5.1 onwards.
However it talks about CvPcb for associating symbols to footprints. This function has been absorbed into the schematic editor now. There are screenshots of the v5.1 CvPcb, maybe it is similar to the v4 one. Make whatever of it you can:
With KiCad V4, you have to be keen on your library management. Put all used symbols and footprints in project specific libraries, and make them a part of the project itself.
I don’t know how you tried to copy it. but the library it came from has to be visible by the KiCad project. With newer versions you can very easily export all used footprints to a library (and also do this for all used schematic symbols). I think this was also possible in V4, but I’m not sure. But ever which way you go, if you keep with V4, then you have to take proper care of your library management manually.
The reason he wanted to regenerate the gerbers was to verify we had the correct project files. I can say we do.
I can open the footprint of the connector from the PCBnew file, clicking on it and selecting the footprint editor. I can also get at the symbol from Eeschema. I cant seem to find the library. Can I create a library with that information?
Yes. In KiCad the footprint and symbol editors double up as the library management tools Once you have a footprint (or symbol) in those editors, you can create a library and put the footprint (or symbol) in it.
KiCad V4 is heavily dependent on external libraries, so it’s likely your project already has some libraries. If I remember well, the [Project]-rescue.lib is just a normal library in KiCad V4 (or maybe it was V3). I usually removed the “-rescue” part from the library, and then added the modified name to the library table to make it a permanent part of the project. (Or it was with the [Project]-cache.lib file. It’s too long ago and I forgot the details.
Is there a reason the originally added part in the schematic moves to the PCB but the copies do not?
The only workflow that works good is:
- Create a library, make sure it’s visible in your project (The default libraries already are).
- Put your parts (symbols, footprints) in it. This can be done in various ways.
- Put symbols on the schematic. (Take them out of a library).
- Assign footprints to the schematic symbols. The schematic, and what’s in it is always the reference for KiCad.
- Use: Schematic Editor / Tools / Update PCB from Schematic [F8] to update the PCB. This puts all the footprints and their connections (netlist) in the PCB editor.
You can attempt other workflows (such as directly loading a footprint on the PCB, or even copy / paste from another project), but as long as you do not start with the schematic and the library links, you’re mostly making it difficult for yourself. It’s the difference between smooth sailing over a calm lake versus rowing uphill through a dried out river bed. The choice is yours.
What does it mean originally added?
- you added it or
- it was originally at schematic.
I have probable answer only if you mean 2.
My symbols have footprint attached to them so I have never went through process of assigning footprints to symbols and each symbol I place at schematic has the right footprint attached.
But the typical workflow is to have symbols without footprints and then attach them at schematic.
I don’t know how it works, but may be in V4 the footprint is attached to ‘symbol reference’ and not ‘symbol itself’ and when you copy symbol your copy have no footprint attached.