Home > Hardware, Linux > Schematics Capture and PCB Layout in Linux with Kicad

Schematics Capture and PCB Layout in Linux with Kicad

Most schematics capture and PCB layout software run on Windows and are closed source. But if your favorite OS is Linux, there are a few open source software including Kicad and gEDA. There is also Cadsoft Eagle which can be installed in Linux with a free license for hobbyists and educational purposes, but is not open source.

Today, I’ll focus on Kicad. I don’t really capture schematics, let alone layout PCBs, but I sometimes need to use this type of software to locate pins/components on the schematics and PCB and check some parts of the schematics that can affect  software. So I will mainly give an overview of Kicad and write my experience trying to import another project (Beagleboard XM) to Kicad. If you want to learn how to get started with your own project with Kicad, you might want to have a look at Teho Labs Kicad Tutorial.

In Debian/Ubuntu, you can install Kicad as follows

sudo apt-get install kicad fped

Once the installation completes, simply run “kicad” in a terminal to start the program.

Kicad - Schematics capture and PCB Layout in Linux

Kicad (Main Window)

The main KiCad window consists of the project pane on the left and 5 buttons in the right pane to launch the following programs (Left to Right):

  • EESchema – Schematic editor
  • CVpcb – Components to modules (links schematics to footprints).
  • PCBnew – PCB editor
  • GerbView – Gerber viewer
  • Bitmap2Component – Creates a component for EESchema or a footprint for PCBNew that shows a black and white picture.

I’ve tried the Kicad project (Schematics + (incomplete) PCB layout) provided by Rhombus Tech for Allwinner A10 board, and EESchema appears to have many of the features available in Orcad. You can see a zoom one a part of the power section for AllWinner A10 board.

AllWinner A10 Schematics in Kicad

Schematics in Kicad (EESchema)

Now let’s try to import Beagleboard-xM design files in Kicad:

After having downloaded and extracted the files, let’s create a new project in Kicad in the same directory. You’ll (joyfully) notice that Kicad detects automatically the layout file (.brd), but (sadly) its format is not recognized by Kicad.

Let’s take care of the schematics file first. You’ll need to have Cadence Orcad to convert the .dsn file to Electronic Definition Interchange Format (EDIF). Now let’s download edif2kicad, compile it and try to convert BB-xM_SCHEM_REVA3.EDF to Kicad format:

wget http://jaist.dl.sourceforge.net/project/edif2kicad/edif2kicad/edif2kicad-2008-04-01/edif2kicad-2008-04-01.tgz
tar xzvf edif2kicad-2008-04-01.tgz
cd edif2kicad
cd bbxm
../e2sch BB-xM_SCHEM_REVA3.EDF

The program crash and failed to parse the EDF, so I had to delete 2 small items in the EDF file to create the sch files and all related libraries. I also had to delete one empty line in the .sch file and finally I was able to open the Beagleboard-xM “schematics” in Kicad.

Kicad Beagleboard-xM fail

Beagleboard-xM Schematics Converted to Kicad with edif2kicad

As you can see, it did not go exactly according to plan. I’m not sure where the guilt is here, but edif2kicad has not been updated since 2008, and the EDIF file format may have been updated in the meantime. Or it’s simply that this type of conversion (Orcad to Kicad) cannot provide proper working files.

I’ve also been unable to find a way to convert an Allegro brd layout file (binary) to a Kicad brd layout file (text).

Kicad support .b*, .lgr and .pho gerber files, but those were not the format chosen for the Beagleboard-xM gerber files. I’ve tried to load drill files (.drl), but after a long wait, it failed with “Tool not defined”.

Kicad might be a good tool to start you own project from scratch, but you cannot expect to import exciting (Orcad/Allegro…) projects to Kicad without hassle or at all. If you design your hardware with Kicad, make sure the gerber files will be supported by the PCB manufacturer and follow GERBER-274-X.

To know more about Kicad, you can visit the official wiki. A list of Kicad libraries  as well as a search engine for Kicad libaries  are available. Finally, if you have any issues or questions, you can always on Kicad Yahoo Group.

  1. Tiago
    September 18th, 2013 at 01:31 | #1

    I had the same problem as you while opening the EDF file in Kicad. To avoid the blocks that are not found (the ones with “?” written in it), you have to load the library (Preferences->Library) provided by e2sch in the folder you made the conversion.

    Despite no more missing components, the schematics still looks like crap after that.

  1. December 17th, 2012 at 10:40 | #1
  2. July 19th, 2013 at 16:45 | #2
  3. August 1st, 2014 at 14:20 | #3