Converting from Eagle to KiCad.

Summary of Converting from Eagle to KiCad.


This project provides five Eagle ULP scripts and one include file to convert Eagle 6.xx (and possibly 7.xx) schematics, PCBs, and libraries into KiCad schematics, PCB modules, and libraries, preserving multi-sheet designs, net labels, part gates, and providing tools to handle unconnected vias/tracks and library extraction.

Parts used in the Eagle-to-KiCad conversion project:

  • renumber-sheet.ulp
  • fix_via_hack.ulp
  • eagle6xx-sch-to-kicad-sch.ulp
  • exp-lbrs.ulp
  • eagle-lbr2kicad-1.0.ulp
  • eagle_to_kicad_include.inc
  • Quick Introduction Video
    Recommended video player Firefox 43+ with VLC video player plugin
  • The following 5 ulp (eagle user script file) and one ulp include file, work together or stand alone to convert Eagle sch/pcb version 6.xx(7.xx maybe?) file(s) and any version of Eagle lib(lbr) to KiCad sch/pcb and lib/mod files.
    LT8331 - Low IQ Boost
  • The Programs will do
    • Eagle mulit sheet sch to KiCad mulit sheets.
    • Global and local net labels for mulit sheets.(This is a real nasty bit of hacking!)
    • Mulit part gate’s.
    • Build KiCad PCB modules and SCH libs from Eagle SCH.
    • Make project director to store all the converted files.
    • And basic error checking.
    • Eagle 6.xx PCB files can be directly import to KiCad.
    • Eagle LBR’s(any version of Eagel libs or size ) can be converted to KiCad lib/mod using eagle-lbr2kicad-1.0.ulp see
    • Eagle Lib conversion for more details.
    • Converts Via’s to Pads, which helps with KiCad’s flood fill, when Via’s have no connections.
    • Documents fill’s over SMD pad’s on Eagle Layer 155,156
    • Documents on layer’s 150,152,153,154 of (Eagle) the unconnected Via’s and tracks.
    • The examples director contains a number of converted sch’s/board’s.
  • By using the following ulp’s a consistent link from the SCH to PCB is maintained so forward and backward net-list annotations work under KiCad!

WARNING KiCad via’s and tracks don’t retain NET information from Eagle when they are not connect to a PAD!,** So KiCad flood fill will not connect to them !!! There is an option to convert and document on layer’s 150,152,153,154 of (Eagle) the unconnected Via’s and tracks which will make finding and fixing the problem much easier.**

Installing.

  • Download the zip file, (click on the button on the bottom right of this page. Download ZIP) And unzip using your favorite zip program to your target directory OR if your prefer git:
        git clone https://github.com/lachlanA/eagle-to-kicad.git  
    
  • WARNING: The ULP’s file-name will conflict with Eagles ULP’s file-name’s so
    DO NOT install them in Eagle’s ULP directory.
  • There are 5 ulp’s and one ulp include file have been hack together.
    renumber-sheet.ulp …………………… stage 1: Add missing number(s) to parts Prefix’s.
    fix_via_hack.ulp ………………………… stage 2: Converts unconnected Via’s to Pad’s.
    eagle6xx-sch-to-kicad-sch.ulp …. stage 3: Build sch and project files, etc
    exp-lbrs.ulp ………………………………… stage 4: Extract libs from eagle SCH/PCB
    eagle-lbr2kicad-1.0.ulp……………….. stage 5: Converts Eagle lbr to KiCad lib/mod
    eagle_to_kicad_include.inc ………. Include file used by the other 4 ULP’s

    HOW TO RUN THE ULP’S

    WARNING Always backup your Eagle SCH/PCB files before running this program!

  • 1: Start your Eagle program (Make sure your using version 6.xx of Eagle)
  • 2: Open the eagle SCH/PCB file you wish to convert. Make sure the eagle SCH and PCB file’s are both, Correct and pass all ERC/DRC checks in Eagle.
  • 3: Next Open the top left hand File menu and select Run ULP
  • 4: A file requester window will open. Using this, to select find or type the location of the renumber-sheet.ulp ULP you download from this website. We use this script to make sure all part prefix’s are ending in a number IE: R0, X1 etc. As KiCad will ask to renumber any prefix which dose not end in a number. (It may do this any way, but don’t worry it wont change any Prefix’s which have already been numbered unless you tell it too!) Keeping prefix’s consistent from SCH to PCB will allow net-list forward and back annotation to work in KiCad. Select OK (this will run the scrip). When this completes all references with out a number, should have a number appended to them. Note: This number will start from the largest reference number on the SCH/PCB.

 

For more detail:   Converting from Eagle to KiCad.

Quick Solutions to Questions related to Eagle-to-KiCad conversion:

  • What does this set of ULPs do?
    They convert Eagle 6.xx schematics/PCBs and libraries to KiCad schematics, PCB modules, and libs, handle multi-sheet designs, net labels, part gates, and perform basic error checking.
  • Which Eagle versions are supported?
    The scripts are written for Eagle 6.xx and may work with 7.xx.
  • How many ULPs are included and what are they?
    There are five ULPs and one include file: renumber-sheet.ulp, fix_via_hack.ulp, eagle6xx-sch-to-kicad-sch.ulp, exp-lbrs.ulp, eagle-lbr2kicad-1.0.ulp, and eagle_to_kicad_include.inc.
  • How do I install the ULPs?
    Download the zip from the project or clone the repository with git clone https://github.com/lachlanA/eagle-to-kicad.git and do not place the ULPs in Eagle's ULP directory to avoid filename conflicts.
  • What is the purpose of renumber-sheet.ulp?
    It appends missing numbers to part prefixes so references end in a number (e.g., R0, X1) to maintain consistent SCH-to-PCB prefixes for KiCad annotation.
  • Why use fix_via_hack.ulp?
    It converts unconnected vias to pads so KiCad flood fill can handle them, and documents unconnected vias/tracks on specific Eagle layers for easier fixing.
  • Can Eagle libraries be converted?
    Yes; eagle-lbr2kicad-1.0.ulp converts Eagle LBR files of any version/size to KiCad library and module files, and exp-lbrs.ulp extracts libs from Eagle SCH/PCB.
  • Do I need to prepare my Eagle files before running the ULPs?
    Yes; open the Eagle SCH and PCB, ensure they pass ERC/DRC checks, and back up files before running the scripts.
  • Will nets on unconnected vias/tracks be preserved in KiCad?
    No; KiCad does not retain net information for vias and tracks not connected to a pad, so the scripts offer options to document these on Eagle layers to aid repair.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter