How to Build KiCad on Ubuntu 18.04 / 20.04 and Import Altium PCB Files

KiCad open-source EDA (Electronics Design Automation) suite software is now very popular, and many new projects are designed with the utility. AFAIK, some companies like Olimex switched all their new designs to KiCAD. But since many schematics and PCB layouts have been designed with other tools like EAGLE, Orcad Allegro, or Altium PCB design tools, it would be nice to be able to import those designs into KiCad.

Converters have been around for a long time but when I tried to convert Beagleboard-xM OrCAD schematics to import them in KiCAD back in 2012, the results were really awful and unusable. But I recently saw a tweet saying it’s now possible to import Altium files into KiCAD.

This requires the development version though, and while one day it will be in a KiCAD release (KiCAD 6.0?), if we want to try it today, we’ll need to build KiCAD. So I’ll start by showing how to build KiCAD on Ubuntu 18.04 before trying to import an Altium file and see how it goes.

Build KiCAD on Ubuntu 18.04 / 20.04

KiCAD documentation website has generic instructions to build the software, but nothing really specific to any Linux distributions. Let’s do that with Ubuntu 18.04.3 LTS. [Update May 2020: Tested again with Ubuntu 20.04]

First, let’s get the latest source code:


We should then install some dependencies:

Note it’s possible some dependencies are missing as I’ve built other programs before, and some may have already been installed. If you try on your own Ubuntu 18.04 installation and I forgot some do let me know.

We’ll also need to get, build and install NGSpice library since it’s not part of Ubuntu package:


You may want to edit get_libngspice_so.sh script before running it, with make -j <number of cores> for a faster build.

Now we can configure KiCAD as follows:


If you can an error during cmake, you can try to find the missing packages with commands like aptitude.

Upon successful configuration, you should see an output similar to:


Time to build KiCAD:


If you want to install it on your system run:


I just want to try it for now so I’ll run the executable in the build directory:


KiCAD 5.99 First StartWe get “KiCad 5.99” welcome window, and we can click on OK to start the program.

Importing Altium PCB Layout in KiCad

Thomas used LimeSDR PCB layout as an example in his Twitter video. But I’ll try BeagleBone Black Altium PCB layout instead which you can find on Github (BeagleBoardBlack_RevA5_Altium.zip).

At first, I tried to launch kicad to open the file, but I could not find any way to import PCB layouts even switching to “Edit PCB“, and was eventually told I should open pcbnew in standalone mode which I did, and there’s indeed an “Import Non-KiCad Board File” option.

Now we can filter for Altium Designer .PcbDoc files, and load our file.

KiCad Board File Altium

Some errors show up. Altium PCB import function is still in the development branch, so it’s expected some errors may still occur.

pcbnew altium error
Click to Enlarge

Some parts of the PCB layout look fine.

BeagleBone Black Altium KiCad
Click to Enlarge

But in other places, it&8217;s all mixed up for now.

BeagleBone Black Altium KiCad Errors

It’s getting there, but there’s still a bit more work, or BeagleBone Black schematics are based on an older version of Altium that’s not supported by KiCad import function.

[Update: Actually the import worked as expected… This is what it looks in Altium.

Error messages should be fixed with the following commit.

]

Altium schematic support is also coming, and for people wanting to import OrCAD Allegro files. Thomas explains there’s no open-source parser for allegro just yet, but the files could be imported via an Allegro -> Altium -> KiCad conversion. He also mentions it’s possible to create an Allegro parser, but their file format seems to be some custom binary.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

Radxa Orion O6 Armv9 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
18 Comments
oldest
newest
Boardcon CM3588 Rockchip RK3588 System-on-Module designed for AI and IoT applications