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.
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 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
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?
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