KiCad Conversion

I have created a script that can take a kicad library and convert it into a librePCB one. You can see the results on github.com username ouabache repo Kicad_Test.lplib. That is the entire Kicad library.

Some issues that I am still working on:

Some gates do not fill correctly

Some gates do not have pin names so I have to synthesize them

There are issues with comas and quotes in component names

They use a lot of names with ~ () / and other characters that librePCB doesn’t accept

But is is mostly usable. Once I create a map file between kicad footprints and librePCB then it could be used for boards.

This gives us the ability to rapidly build up our library offering.

I will also do the digikey library as well.

John Eaton

Having converters such as this available as plugins would probably be a good thing. Some could be installed with the installer, by choice, and some could be added afterwards on the app already installed.

I forked the STM repo and added 1014 parts from the kicad library. About 500 of them have devices, I can get more as I map kicad footprints -> LibrePCB ones.

These worked because all the signal names were clean. There are issues with duplicate pin names but they should affect funcitonality.

I made a pull request for this commit

I have now converted the entire libraries from Kicad,Digikey and Sparkfun from kicad format into LibrePCB. It totals 13,400 symbols.

There were a total of 3282 parts that do not load because they used a character in a pin name that LibrePCB does not allow. That is about 24% and really impacts our ability to quickly expand our library offering.

The problem characters were:

~ () . / * [] = - ^ < > ’ and whatever this is ϕ1

My conversion repos are on github.com under user ouabache

Kicad_Test.lplib.git
Digikey_Test.lplib.git
Sparkfun_Test.lplib.git

Try them out and let me know of any issues

Just joined the group. I’m trying out LibrePCB for fun. I have manually created a few symbols and packages. It’s more work than I would like, so I located your conversion efforts.

I’m a retired software engineer. I have done a LOT of data converters related to IC software. The character problem might be a UTF-8 to ASCII issue - just a guess. If you still have the problem, I’m willing to look at it. I’d need the code and one input file showing the problem.

The git stuff I downloaded (KiCad, Digikey, and Sparkfun libraries) all had symbols, but no physical representations. Is there any way you know to avoid hand-making them?

Dave

Hi Dave,

Glad you found the project.

I did those conversion scripts over a year ago to see if we have an easy kicad-> librepcb path. They are in perl which should tell you that I am a retired hardware engineer.

They do an ok job on the graphics and give you a lot of symbols. The problem(s) that I ran into was that I needed a kicad → librepcb mapping function for the names of the physical packages

and the kicad libraries did not have a single place to store the package name. I can do a complete symbol/component/device only on some of their libraries and only if I hand create a name
mapping table.

I have put that effort on the shelf until kicad releases their V6.0. I understand that it may have a new library format

John Eaton

Thanks for the information John. I see why you want to wait for KiCad V.6.