I publish the largest open source database library for Altium and have multiple requests to see if I can do something to port it over to KiCad. I haven’t used KiCad before, so I don’t know what would be involved, or if it’s even possible.
An Altium Database Library (DbLib) works by having a database (in my case, hosting on Azure for now, soon our own dedicated server) which associates footprints to schematic symbols and contains all the parametric information for the part. In my case, I have a single table with all 30k parts, and then database views which break those down into categories (resistors, mlcc caps, ARM controllers, etc) - similar categories as you’d find on DIgiKey. Each part is associated at the moment with a DigiKey part, so when you export the BOM it has the DK link, SKU, etc for ordering the exact part you placed. It also knows the datasheet link and such so from Altium you can jump right to the datasheet for the part from the schematic view.
Altium uses STEP (AP214) 3D models, so every part has a full colour, correct-to-the-manufacturers-datasheet sized 3D models
From what I’ve been able to figure out, there isn’t a way to connect such a DbLib directly, even if there were KiCad compatible schematic and footprint libraries available. So, what would be my best approach to export all the data? I’m guessing I’ll have to write some software to translate the Altium SchLibs and PcbLibs, and generate a KiCad library from the database data?
Looking at the library docs, I think this is going to need to result in a massive number of files, such as ‘capacitor-mlcc-0603-murata’ or something like that? I’d still be likely to blow through the 250 limit really quickly on the passives though. When filtering through say capacitors in Altium i’ll group by component size, then value, then voltage - so I’d dig down through 0603 capacitors that are 0.1uf, and 25v - sorting by price to pick a part. Any suggestions on how such a thing my be accomplished with KiCad?
I feel my sch symbols all comply to the library requirements, if I can figure out how to translate them over from Altium. Footprint naming conventions will not meet requirements… oh well.
Any suggestions on how I might be able to proceed? Or alternatively - would there be any interest in building dblib functionality into KiCad (I’d need a lot of help with that)?