Partial or total reuse of previous projects in new ones

Good morning,
On the previous days i came across a small issue while importing Eagle projects into Kicad v5, but nevertheless I ended up with my imported Kicad projects.
Namely, we are talking about an Arduino Uno R3 board and a shield for it around which i want to develop the rest of my circuit. My idea is to obtain a board with the Uno circuitry, the shield circuitry, the required connection between the two and the rest of my circuit.
In other words, i do not want to build a “castle” of boards by buying an Uno, the shield, and putting a card with the rest of my circuit on the top of them (by the way, my circuit is too big for an Uno shield PCB.
Therefore, today i started a new Kicad project, with a root sheet (the motherboard) and two hierarchical sub-sheets (the Uno and the shield).
After generating this schematic tree, i tried to copy the sch files i obtained from the importing of their Eagle files into the hierarchy but no way (i copied also the cached lib and symbol table, tried copy-paste between two running instances of KiCad…). I always end with the Uno and the shield schematics “killed” (all component replaced by a square with a ?? inside). I tried to use the rescue tool and it returned a “nothing found to rescue” message.
In another 100% native KiCad project i used the same workflow with success: i prepared the hierarchical structure, copied and renamed the sch files from previous projects and all i had to do was to connect the circuits using hierarchical pins.
Is there a problem with the Eagle imported schematics or am i going off the intended workflow?
Thanks and regards

I don’t know about importing Eagle, but if I understood correctly, you are using one KiCad project for several physical boards. It’s not recommended, rather make one project per board. It may make things easier for importing, too.

Sorry Eelik, but i think i have clearly written my intention: “My idea is to obtain a board with the Uno circuitry, the shield circuitry, the required connection between the two and the rest of my circuit.”
And the main subject is: i have problems in reusing Eagle imported schematics the same way i already did with KiCad native sheets.
Hope it is more clear now.

1 Like

It seems a problem with the path to the libraries. Try to manually replace a ?? symbol with the symbol it should have. Usually the symbols with ?? are placed on the same place as the original schematic.

Then, see the paths to the libraries of the other components. Maybe the library you need it is not loaded in the new project.

Hi Pedro,
I try to clarify what happens:
-when i use a schematic file from a Kicad native project I copy it to the new project, rename it according to the new project hierarchical structure and everything goes fine.
-If i do the same with these imported projects something goes wrong, i cant understand why (yet).
Have you got the time/chance to try it and share your outcome?
TIA

Is it possible that the symbol lib table has absolute paths in there instead of using KIPRJMOD?
If you copy the cache lib you need to make sure it has the same name as the new project file. (or you would need to manually add the cache lib to the sym lib table. This is not really the suggested workflow)

Hi Michael,

It was clear to me from your first post.

And I think that something is the path to the libraries.

I don’t have any imported eagle board at the moment. I imported a board in the past with a lot of effort and I was focused mainly in pcbnew.

But if you want to share your project I will take a look.

Pedro,
The eagle projects i imported so far is just some Arduino boards (you can download their Eagle files from the Arduino website; i used Uno, Mega and Due). All of them are small enough to be hopefully handled by the freeware version of Eagle in case you dont have it.
As soon as i have some time i will look again into the imported projects to see if there are absolute paths or similar troublemakers as also @Rene_Poschl suggested.
BR

Good morning, today i restarted from the beginning with a fresh mind, here is what i did:
-I avoided hacks like replacing files etc.
-Generated a new project, opened Eschema.
-Appended another schematic (the Arduino Uno circuit) in the project sheet, no hierarchy
-Saved, closed and reopened the project;
-Cleared annotation, saved and reopened.
-Re-annotated project. Annotation process appeared to be OK.

So far, so good. Now trouble starts:
-At the moment of saving, got the message "Error creating symbol library “C:\users…\TestProject-cache.lib”
-Closed and reopened the project.
-Now ALL components are killed (included the R, diodes and LEDs that can be found in the default libs!)
The rescue symbols tool when invoked shows the message “this project has nothing to rescue”.

And now i am really stuck and really need your help more than ever.
Thanks and regards

Is this the full error message?

Everything below here is speculation. I never encountered a similar problem.
Does your operating system not allow kicad to create files in that location (check if there are any files ending with bak in that directory. If not then kicad might not be allowed to write there)
Is there already a file with the same name in the directory (windows is case insensitive.)?

Hi Rene,

Yes this is the full error message.

    My OS does allow KiCad to create fles in that directory because it is a subdir of "My Documents" folder. Also overwriting of files behaves as expected (e.g. updating the project and/or schematic file).

    Have you tried to reproduce the issue on your own from the beginning?

    Rene/all please help me with this it is really frustrating getting stuck after walking so much along this path!

Cheers,

Michael

I have downloaded the eagle project, converted it to kicad, no problems. I called this kicad project arduinounoR3.pro and I have an arduinounoR3.sch file

Then I have created a new project with a hierarchical sheet. No problems.

  1. Copy the arduinounoR3.sch file into the project folder of the new project

  2. Open the new blank schematic sheet

  3. Create a hierarchical sheet
    sheet: arduino (the name is not important)
    file: arduinounoR3.sch (same name as the converted .sch file)
    All components with ?? as expected.

  4. manage symbol libraries and add the library “arduinounoR3-eagle-import.lib” to the project. The lib was created when the eagle to kicad conversion took place.

  5. Now all symbols are shown. If not, save the schematic, quit kicad an reopen the project.

Point 4 is what you are missing since the very beginning.

1 Like

Thank you Pedro, it worked!
Following your indications i successfully created my new project, imported the Uno and its shield in two hierarchical sub-sheets, and verified that clearing annotation and re-annotating again doesn’t kill the schematics.

Then I moved forward:
-Copied the .dcm files and the .pretty folders to the new project folder (lesson learned!)
-Verified that cvpcb doesnt have any problems (all footprints found)
-Generated a netlist file
-Started PCBnew and read the netlist. All components have been loaded as normal per a new PCB.

Since the import from Eagle generated also a PCB file, I would like to use these PCB areas for my PCB.

I will try first by running PCBnew and appending the board files, then i will also look at reading a non-eagle board file menu options available only when PCBnew is run in standalone mode.

I will keep you posted.
Cheers

Good morning everybody,

Just a couple of lines to inform you that I have successfully re-used the Uno and its shield PCBs into my larger PCB by appending the board files, which requires to run PCBnew from outside KiCad.
Please note that the other menu option “Import non-kicad board file” clears everything on the destination board.

Thanks for help !
Michael

2 Likes

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