Import From Eagle, Hierarchy design

I am trying to do the same thing as this closed post: Import from EAGLE with multiple sheets?

it doesn’t look solved.

I am trying to import a eagle design from Eagle Version 9.6 that is hierarchy based to Kicad 5.1.8, The Layout seems to import very cleanly, but the schematic only shows me a top level page with nets and none of the hierarchy blocks. Is there a trick to this?

The instructions for the import process are pretty minimal

2.7. Importing a foreign project

KiCad is able to import files created using other software packages. Currently only Eagle 6.x or newer (XML format) is supported.

To import a foreign project, you need to select either a schematic or a board file in the import file browser dialog. Imported schematic and board files should have the same base file name (e.g. project.sch and project.brd). Once the requested files are selected, you will be asked to select a directory to store the imported files, which are going to be saved as a KiCad project.

1 Like

Some time ago I read a project on hackaday and the creator of that project had an interest in porting his eagle project to KiCad, but he was not sure how to do that, as KiCad was pretty new to him. I helped him out by copying his eagle project, importing it in KiCad, doing a bit of cleanup and sending it back to him.

It worked quite well, and it was a hierarchical design. In the meantime I have forgotton the details. Part of the cleanup was with labels. It is possible that the conversion process just converted the schematic sheets and I made the hiearchical top sheet and the entries to the other sheets myself, but I’m not sure of that.
I never used eagle myself and don’t know how it handles hierarchical sheets.

The project was:

Sounds like its still on the back burner and not going to get supported any time soon?

That’s a bummer, going to add a ton of work to my design.

I imported many multi page projects from eagle into kicad. I have however never tried one with design blocks (edit: seems i tried it as the bug linked by @eelik is made by me). Is that what you mean with hierarchy design?

If not and it is just a “normal” multi page design then make sure the description of every page in eagle consists of only one line as kicad takes that as the page name and line breaks can be problematic here.

hierarchy design: Advantages of Hierarchical Schematic Design for PCB Schematic Layouts | Altium Designer. Yes it has blocks.

Just to avoid misunderstandings: KiCad supports hierarchical design (in fact it really only supports hierarchical design, it is really quite tricky to get flat designs to work in KiCad). It is just that the eagle importer does not support importing eagle design blocks. Most likely because support for them was added after autodesk (they really redeemed themselfes with eagle 9 after the screwup with eagle 7).

And maybe a bit off topic. But as you seem to know eagle quite well: Is eagles desing block feature still basically a global database of designs or is it now possible to have blocks local to a project?

Also can you provide a few example projects and attach them to the bug report linked above? Best would be if you could also include a pdf printout of the full schematic such that the developers can check if the importer worked correctly. It would also be nice if you could answer the open question by wayne regarding if the blocks can include blocks and if they can include multiple pages. (If the answer is yes to either of these questions then an example project might again be useful) (301.5 KB) I don’t know Eagle that well, I used it to do that design and realized I just don’t like it. They are pushing more and more to use their online based library system.

I did not use any global database so I believe all my blocks were local.

I have attached the project I am working on. It has a PDF schematic included in the zip.

I downloaded your zip file and tried to do an import in KiCad from it. and can confirm it does not work very well. I only got the first page of the schematic with the block diagram. (.pdf has 7 pages, but the index suggests it should have 8 ???)

That first page is also not complete. It looks like:

A relatively quick fix / workaround may be to delete the fist page (block diagram) from the eagle project, and then import the rest in KiCad, or:

  1. Split eagle project in single pages.
  2. “import” each page to a separate KiCad project.
  3. Combine the converted schematics into a final KiCad project.

That is what I got as well.
Don’t think this will be a quick fix as the ref designators won’t line up. Eagle does this terrible thing where in each block it starts them at a preset number or name prefix. So if I set a block to have 100 and another to 300, R1 in the 100 block will be R101. and R1 in the 300 block will be R301… So I would have to go through and renumber all the refs to match.

The PDF output from Eagle is also weird.

But that will be my last ditch choice, or I just redraw it all…

KiCad also has a similar function to add these offsets to page numbers during annotation:

KiCad currently has an annoying habit to erase the ReDes when copying blocks, but if you can split the eagle project and import them as separate pages, then this information probably gets preserved.

It doesn’t actually show the R101 on the schematic page, it shows R1. When you print the PDF it shows R101. Its supper weird. So if I broke it up I would have to renumber each one on the page. Not crazy but tedious.
This just adds room for error. Plus the error of redrawing all the top level schematic and blocks. If I have to this will be the first part of my “work around”.
I was just hoping I was doing something wrong, or I could make some small changes to the Eagle file to make the import work. Sounds like that is not the case. I suggest that Kicad show in their documentation that Eagle hierarchy (block) designs don’t import into Kicad.

That is indeed quite weird.

The closest I gen imagine at the moment (until those eagle design block in KiCad get fixed) is what I already mentioned: Do it in separate pages (or just remove the first page with the blocks)

You have relative few symbols with many pins each, so just fixing the RefDes is a relatively small task.

Another relatively simple way to at least get all schematic symbols is to make a bogus eagle project with those symbols and import that in KiCad. Maybe you’ve already done something similar. I have not looked at the contents of the libraries in:

To reduce the room for error, you can make good use of the converted PCB. The PCB seems to convert quite well to KiCad. KiCad only updates the netlist in the PCB if you tell it to with: Eeschema / Tools / Update PCB from Schematic [F8], and during this update you get a list of the changes that will be applied. You can also save these changes in a text file, then abort the update and use the error report to fix the schematic.

You can also go through with “Update PCB from schematic” and then use the DRC in Pcbnew to let it find discrepancies between the the PCB and schematic.

1 Like