Updating pcb from schematic in 4.0.7

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:

  1. Create a library, make sure it’s visible in your project (The default libraries already are).
  2. Put your parts (symbols, footprints) in it. This can be done in various ways.
  3. Put symbols on the schematic. (Take them out of a library).
  4. Assign footprints to the schematic symbols. The schematic, and what’s in it is always the reference for KiCad.
  5. 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?

  1. you added it or
  2. 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.

You’re assuming that when you make a copy of a symbol on the schematic, the footprint association is also copied. It may not. In fact given that there’s an additional CvPcb step, the associations may be held elsewhere. Things were done differently in those days, and less streamlined compared to now.

Something to check. I seem to remember that libraries used to have aliases. It could be that your predecessor used as alias so you have to assign one for the “missing” library.

The files I received from my client were in a zip file. I created my own directory for the project. When I was trying to find the library with Conn_Header, I clicked on a 2 pin header in PCBnew. i tried changing the footprint and got an error that said my projects .pretty file, along with its full path, did not exist. This was not the path i created to my project but appeared to be the path the original engineer used. I recreated the original file structure and that error goes away. I still cannot find the library for the Conn_Header.

I decided to try and create a library from the footprint for the 2 pin part that is in the PCB file. I was able to create a .pretty file that contains a .mod for the footprint.

Now I go into Eeschema, got to Preferences- component libraries and try to add the library I can find the . pretty file but it does not have a . lib file. How do I create the . lib?

Using Symbol editor you certainly was able to create .lib but I can only say that working with symbols in V4 (like copying symbol to new library) was really against what I would expect (not very against).

Ho do you compare v4.0.7 and v6 gerbers?
If you make a diff comparison the results may not be right.

I would load v4 and v6 gerber pairs (I mean both F.Cu, both B.Cu and so on) in GerbView and overlap them to see the differences.

They didn’t. They were comparing archived gerbers with the ones generated by a fresh install of 4.0.7. v6 doesn’t come into it at all.

Ah, OK.
Anyway, the same procedure is valid to compare old and new v4 gerber files.