Importing EAGLE Projects Into KiCad 7, And How To Fix Them

Migrating a PCB design from one CAD software package to another is no one’s favorite task. It almost never works cleanly. Often there are missing schematic symbols, scrambled PCB footprints, and plenty of other problems. Thankfully [shabaz] shows how to import EAGLE projects into KiCad 7 and fix the most common problems one is likely to encounter in the process. Frankly, the information couldn’t come at a better time.

This is very timely now that EAGLE has gone the way of the dodo. CadSoft EAGLE used to be a big shot when it came to PCB design for small organizations or individual designers, but six years after being purchased by Autodesk they are no more. KiCad 7 is a staggeringly capable open-source software package containing some fantastic features for beginner and advanced designers alike.

Of course, these kinds of tutorials tend to be perishable because software changes over time. So if you’re staring down a migration from EAGLE to KiCad and could use some guidance, there’s no better time than the present. [shabaz]’s video showing the process is embedded below.

Thanks to [problemchild68] for the tip!

10 thoughts on “Importing EAGLE Projects Into KiCad 7, And How To Fix Them

    1. If you have a proper CADsoft licence rather than an Adobe subscription, nothing prevents you from using it ad infinitum.
      Of course, no more support, but I suppose Eagle was in a pretty solid state when Adobe took over.

  1. Quite a nice little write up. Except for a few things.

    @01:55 he says:
    “If I click on this button here, to update the PCB with the schematic changes, all of these component positions are going to move, and I don’t know what the reason for that is.”

    The reason behind this, is that just after the project conversion, there is no link between schematic symbols and PCB footprints. KiCad does this with UUID’s. I don’t know how Eagle does this, and maybe this can be further automated too.

    Then skip a bit over all the python stuff (It’s not needed at all ! ) and @05:25.
    Because the checkbox: “Replace Footprints with those specified in the schematic” is on, KiCad deletes all the existing footprints on the PCB, and as a side effect, all the positions of those footprints are also lost. KiCad then imports all new PCB footprints (which do have the correct UUID’s to link them to their schematic symbols).

    There is also a checkbox with: “Re-link footprints to schematic symbols based on their reference designators.” If you turn on this checkbox, then KiCad just updates the UUID’s to fix the links between the schematic and the PCB.

    —————
    @19:38 he opens the schematic in a text editor for modification. This used to be common a long time ago, but it is rarely needed these days. You can simply use: “Schematic Editor / Edit / Edit text & Graphics Properties” to change this. If you are planning to do “long term maintenance”, then it may be worth updating the imported Eagle schematic symbols with native KiCad versions. You can do this with: “Schematic Editor / Tools / Edit Symbol Library Links”.

    —————
    @20:50 you can see a lot of unconnected pins on U3. KiCad will flag these in the ERC, because KiCad does not know whether these are errors, or if you left them open on purpose. You can put “No connect” flags on these pins to tel KiCad that you really want it like this.

    ———————————————-
    It is of course nice when people make tutorials for KiCad, and quite often these tutorials are made by people who are still learning KiCad themselves. If you identify an area where you get stuck, or don’t completely understand, then ask it on the KiCad forum https://forum.kicad.info/ There are plenty of nice people over there and questions are answered quickly. This can help both in improving your own KiCad skills, and then also in making better tutorials. :)

    1. Thanks for the tips, I have added them to the comments to the video.

      I have always had good experiences with the KiCad forum, but for this particular project, I was in a rush, I wanted to get things out the door the same-day, and decided to work around the problem myself.

      On the plus side, although I did not initially plan on using Python for manipulating component footprint locations, by the end of it all, it’s not a wasted experience, since it’s another tool (the code is very general-purpose, it merely saves off the component positions, and later allows for restoring positions if required) now in the mental toolbox, for arbitrarily moving components under program control, if the need ever arises.

      I was pleasantly surprised that very little Python code was needed, so I’m likely to use the scripting console in future – and I wish to learn how to create plugins at some point too.

  2. I still use an old cadsoft version of eagle. 6.3.0 to be exact, and I am not switching anytime soon. But I do use kicad for mor advanced things like putting images on boards. Just wish I could re-export back to eagle after.

  3. I jumped from Eagle to KiCAD when V5 came out. Best move I ever made. Tried importing my eagle designs into KiCAD and concluded it was more hassle than it was worth. You can get a manufacturable board but the whole thing is ugly and every time you modify the KiCAD version, you have to deal with the eagle cruft. Especially true if you have any custom footprints. Now if I have an old eagle design that I want to update, I just redo it in KiCAD. Since the eagle design is done, it is fairly easy. Schematic is a breeze to redo and layout/routing is easy by following what was done on the eagle pcb. You wind up with a good PCB that is easy maintain.

    KiCAD is incredibly superior to Eagle at this point, I can’t imagine going back. Putting a bullet through the head of Eagle is a kindness to the world.

  4. If only KiCad could draw arcs I’d finally be able to leave Eagle.

    KiCad is clearly the better software for circuit design, but Eagle is way better for drawing them. I feel like I’m fighting KiCad every time because every decision has to be backed up by actual data instead of just letting me freewheel it. I’d put up with it if I could actually draw the traces the way I want to.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.