New project : reuse of an existing one

Could someone help me not make the same mistakes I made before: reusing an existing project having complete Eschema with complete BOM info embedded, routing done. All attempts before madxe a mess: either I lost all BOM info or messed up library or files names could not be changed or changes in schematics appeared to have infiltrated into the old files!
Now I need to reuse all of the files but scaled in some ways. Such as the existing design is a 50W converter. I need one at 150W. Nothing much will change other than key power elements, transformer, copper areas etc. Same sch, same netlist, same routing.
But different size pcb, different pins & some vias.
How do I create such a pro - different folder, different names but same symbol library, same BOM info?
thnx

I would of course first start with a simple copy of the project.

Then, if you need to exchange a transistor (for example) for a more powerfull one, do not remove it from the schematic to replace it with another one.
If you do that you loose the annotation info and the timestamp.

The timestamp is probably even more important than the annotation because it is the default for Pcbnew to sync with the schematic.
What you can do is hover over the offending transistor and press “f” for Footprint, and then assign the footprint for the new transistor.
Then update the PCB and Pcbnew should update the footprint of that transistor to the footprint assigned in the schematic.

Changing type numbers for transistors is easy, it’'s just a change of the value field, but for other components it may be more complicated. (For example exchanging a BJT for a MOSfet).

While updating the PCB with schematic changes it is very tempting to just hit OK with the default settings.
So I opened a schematic, changed an IC (U23) to U2443, and hit [F8] to update the PCB.
In the import with “Match Method”. it says:
image

My version of KiCad (V5.1.0) seems to be inconsitent here.
The tooltip text states that the “normal setting” is to import by reference, while the default is to recognise them by timestamp.

I’m not sure if this is some (maybe already fixed) bug, or that I’m just confused myself.

It is probably also a good idea to simply copy your existing project, then change some random schematic symbols and import them into Pcbnew with various settings, just to get a better idea of how those settings influence how the PCB is updated.

If you do this with a copy of your project, with no intention of keeping that copy intact, you can concentrate more on the working of KiCad itself. For me at least not having to worry about such things helps with focussing what KiCad is acutally doing.

Now Im getting really confused.
I’ve got a schematic and PCB that are out of sync.
I press [F8] in Eeschema and this pops up in Pcbnew:
image

Then I cancel, go back to the schematic, and export the netlist (old fashioned style), then:

Pcbnew / Tools / Load Netlist

While both dialogs show:

Keep existing symbol to footprint associatons
they react differently.
The first version renames U1 to U1234, while the second version removes footprint U1 and adds a new footprint U1234, which then has to be placed on the board.

This inconsistency can not be right and looks like a bug.

Application: kicad
Version: 5.1.0+dfsg1-1, release build
Libraries:
wxWidgets 3.0.4
libcurl/7.64.0 OpenSSL/1.1.1b zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.36.0 librtmp/2.3
Platform: Linux 4.19.0-4-amd64 x86_64, 64 bit, Little endian, wxGTK
Build Info:
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
Boost: 1.67.0
OpenCASCADE Community Edition: 6.9.1
Curl: 7.64.0
Compiler: Clang 7.0.1 with C++ ABI 1002

Build settings:
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=ON
KICAD_SCRIPTING=ON
KICAD_SCRIPTING_MODULES=ON
KICAD_SCRIPTING_PYTHON3=ON
KICAD_SCRIPTING_WXPYTHON=ON
KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
KICAD_SCRIPTING_ACTION_MENU=ON
BUILD_GITHUB_PLUGIN=ON
KICAD_USE_OCE=ON
KICAD_USE_OCC=OFF
KICAD_SPICE=ON

Paul
thnx much. Yeah, that is what I do: “archive” an existing project, which is a “copy” in terms you explain.
Ok, I will follow that. maybe rename where possible.
KiCAD is of great interest to us now that we know how to get excellent quality BOM from the xml file generated.
robin

I don’t have a definitive answer to your question.

Variations on this question seem to appear in this Forum every two or three weeks of late. At this time, KiCAD does not have menu function for "Save This Project As . . . ", with a new name. (Nor does it have "Save This Schematic As . . . " or "Save This Board As . . . ".)

It sounds like you really want to save the schematic, change a few components, and start with a fresh board. If you search this Forum you can find threads discussing the “Save As . . .” process. The basic procedure is to use the File Mangler in your Operating System to copy the entire folder, then delete everything except the *.pro, *.sch, *-cache.lib, and *.rescue files. At that point you have board and schematic files with the same names as your original project, but in a different project folder (which has both advantages and disadvantages, depending on your high-level approach to file naming and organization). Old threads discuss the nuances of file names, libraries, paths, etc.

Dale

1 Like

Did some reading here and there.
Seems renaming projects is a non-trivial task to do properly.
Also see my post on:
https://bugs.launchpad.net/kicad/+bug/594051

1 Like

I read thru most of the dev exchanges on 'save pro as" issue. Thnx for the link Paul.
Sounds like a big deal & lot of their precious time will go to some function not strictly needed.
#1 I have been using “archive” process to keep a file unconnected to the current pro stuff.
#2 I put the archived file elsewhere.
#3 I rename all files I can after unzipping , file-open…e.g. sch allows you to rename.

Then it is a matter of “remembering” which archived file generated which new system! Because the pro name still refers to some old system.
But this can be overcome more easily than an elaborated process with “save as”
Excepting when it comes to another person in the team has to reuse my files for a new design!
That too can be managed…

@Rene_Poschl

https://bugs.launchpad.net/kicad/+bug/594051

And the cache and rescue libs are not just some libs. They really have to be considered part of the schematic file. (Without these two files a project is unusable as it then depends on the global libraries installed not being changed.)

I do not understand why the rescued symbols are not rescued into the cache library; and possibly the prior existing Global library.

I do not understand the NEED for the “Rescue Library”. It would make sense, during software development to have this Pathway/Library as a way of understanding the development. However, from a user’s point of view, it really does not seem to make sense and appears to create a lot of problems when the official libraries get updated.

As in, the Footprints and 3D Models should also be “rescued” if they previously worked just fine before a KiCad version update.

This feature was not much of a problem when upgrading from V4 to V5, but has become a Royal Pain when Up-Reving V5.x to V5.x+1.

AFAIK the changes coming to the schematic and library file/data formats for v6 neither the cache or rescue libraries will be needed. Just like there isn’t either type used for pcb and footprint files. If this is as true as I think, I don’t think the devs should spend any time trying to optimize a working (all be it sub-optimal and somewhat fragile) system that will be replaced. Unless you personally update the official libraries from git, the official libraries are essentially locked until v6 comes out. Even with the 5.1.x bug fixes, there might be some additions to the libraries but I doubt Rene will let any formatting or organizational changes leak into 5.1.x.

2 Likes

Valid question but at this point in time not worth discussing. The new file format will include assets in the file format itself making both rescue and cache stuff obsolete.

3d models maybe. Footprints are already embedded in the layout file which is much more robust than any cache/rescue mechanism could ever be.

The git libs will stay with very little change until the new file format comes out (We can only plan what we want to do once we know how it will look like.)

In general we do not allow massive changes to the lib (That was a requirement stipulated by @stambaughw to allow updates to the lib at all. I agree with these requirements. I thgink a period of stability is always a good thing as it gives us a chance to evaluate past decisions.)

2 Likes

Well, where does the OverRiding 3D model information come from?

I’m tired of fixing things that keep breaking in my designs.

A Fully Specified Library Part should include the specified 3D model in the Symbol Library; yet this pathway, and file/s never get rescued. I have to delete the prior 3D model reference and hope that there is a new 3D model reference I can find, to again re-assign it in PcbNew, or the Footprint.

Many times, the older .wrl files were “close enough” for an on-screen 3D representation.

And, I just thought up another reason to not ditch the older tool. What if something trivial like an MPN or Digikey number gets lost in the next translation?

Ideally, in my opinion, the ability to select what to recover/change from each, and to save it “where now” would be an awesome feature.

Just curious:
Is that new file format going to have integrated functionality to make projects “portable” and archivable and therefore completely independent from existing libraries?

I find backups pretty important, and when KiCaD 12 comes out with very likely much changed libraries, I still want to be able to work on old projects without too much fuzz.

1 Like

3D models are specified in the footprint, we are talking about schematic symbols here. I agree there should be better integration of the 3D objects, but they have nothing to do with the cache and rescue library.

Quickly touching on the 3D objects, @MitjaN’s archive plugin does copy the used 3D objects to the project folder and re-targets the footprints in the board to the local copies.

1 Like

Your library setup does not matter when the assets are embedded in the files. Meaning with this feature you would only need to copy the schematic and layout file and can continue to work with them.

If you however do not have the same library setup then any feature that updates some property of your asset from the library can not work. (update footprint from library would not find the footprint and can therefore not update it.)

The feature will also not be a archive of your libraries as it only embeds used assets.

So yes in my opinion this can be considered a way to get very easy to use and robust portable project.

I’ve tried to copy and rename a 2 page schema to reuse a core part of the schematic. I cannot get the 2nd sheet to copy.
Is there a “save as” planned? Or can someone give directions. So far I create a new empry sheet open a 2nd incidence and copy and paste. I tried create, close, delete and copy and rename the master, 2nd sheet never copies.

paulvdh already posted this link, but here it is again: https://bugs.launchpad.net/kicad/+bug/594051.

Everyone who needs the whole project (or maybe parts of it) with a new name, please register to launchpad and add “This bug affects” vote there. This way the developers can see how much the feature is needed and wanted.

1 Like

I think there is to much “bikeshedding” issues being brought up. KiCad is going to evolve, it always has. Start with the basics first, then fix/update if needed.

For example, there is mention that the Rescue LIbrary needs to be included with the “Save As” feature. In my opinion, it does not need to be included. No project should rely on some random “Rescue Library” named “Rescue”.

Create the “Save As” feature and add (experimental feature) such that it reads “Save As (experimental feature):” and run with the idea; doing nothing just because it seems it may be a little bit complicated is just not the way to tackle this commonly requested feature.

1 Like

The new schematic file format will make the rescue stuff obsolete anyways. Meaning implementing save as for the new file format will become much more straight forward. V6 will come with the new file format and as save as would be a new feature v6 will be the first possible system to get this feature. Meaning it makes 0 sense to invest time into save as before the new file format is merged.

And i must strongly object to any notion that a half assed implementation is of any use to kicad over all. If that feature only works for a very specific case then we will get one bug report per week where we need to tell users “well is your project in exactly this state? because if not then you are out of luck.” (to be honest i am not really convinced you fully grasp the importance of the rescue lib and especially the cache lib in the current version of kicad. With the danger of repeating myself: The project is kind of dead if you do not preserve at least the cache lib. It will behave strangely if you do not also preserve the rescue lib.)

1 Like

man, all evening I make symbol library parts…they get screwed up in the next screen…yet this is a new project & I thought I will redo all new components. But every time I make one, I get all “?” all over. All evening. I add a new symbol , in next screen , all become “?”.

Now, very tired & frustrated.
I think there are duplicate names, something much sinisterly wrong…BUT how do I fix it once for all?
I have tried to operate manually from inside symbol library "copy paste?..“import”…whatever but nothing worked.
A lot of .lib are duplicated all over from version 4 days.
How do I make a clean break?
I have too many sch & PCBs designed & cannot afford to have all libraries messed up as I make more & more projects.
I am willing to attach a pro file & copies of my “lib” …to have some expert explain what I do I do wrong.
appreciate any help,
robin

It sounds like you are combining two things, reusing a project and migrating it to v5.

Migrating a project to v5 is not trivial, and whatever anyone says doing a proper job takes a while. Yesterday I spent about 2 hours moving a project to v5, and that had about 380 components. I think somewhere I wrote down the process, it has a lot of steps.

I have both v4 and v5 installed, so I can choose whether to leave legacy projects as v4, or take the time to move to v5.