How do I setup a Data Base?

I found it relatively easy to set up, but I am not new to databases or programming.
@TheSwede How would you expect to use database libraries, what is your expectation?
I believe this feature only makes sense if you either have an existing database someone built for you or if you have the means to come up with a large set of data you could import.

Regarding existing database: I wanted to make a database containing all JLCPCB assembly passives (at least basic parts plus some extra) so you can drag a 10k 0603 basic resistor into the schematic and have all data (including LCSC order number) set up for PCB assembly. I did this for Altium where I find it extremely useful (Altiums database filter is a bit more advanced though), did not get around to port it to KiCad.

If I were JLCPCB, I would do exactly that and provide the database to KiCad users. I am wondering if any manufacturer jumps in here. Würth seemingly wants to make their complete portfolio available to KiCad, which would be much easier if they would provide a database instead of duplicating symbols millions of times.

Maybe we’ll see more of this in the future. Altium has the manufacturer part search, which kind of goes in this direction (more purchasing centric it seems though). Not sure if component manufacturers might be interested in providing similar datasets.

Yea, that’s about it what would be handy, to be used fast and easy through JLC or similars.

I think jlcpcb used to have database they give out. It just that i couldnt decipher the fileformat

They stopped the XLS download a while ago (was too big anyway to be useful anymore).
Now you can download the cached library from here GitHub - yaqwsx/jlcparts: Better parametric search for components available for JLC PCB assembly as sqlite database.
I just wrote a small converter to filter for say 0402 MLCC and export those to another database, which I then use in Altium (where they have a similar interface). Works the same way in KiCad, as I said didn’t get around to it. Pretty simple for resistors/capacitiors in standard footprints. For nonstandard footprints (even transistors in SOT-23 as there are several possible pinouts) it gets more complicated, as one has to handle varying pinouts or footprints.

I hope KiCad part selection improves somehow, in Altium you can for example filter for selected attributes (like basic component, case size 0603 or value 10k). As far as I have seen, this is not possible in KiCad yet so putting all 50000 LCSC chip capacitors in one database will be of little use.

Thanks again Martin, yea I guess all we can do is to wait, an hope, if you’re not a programmer which loves scripts etc etc etc etc etc etc and can manage this well by yourself like a good baker man who knows how to make the bread to taste good… Btw, I don’t like Altium much, the software, how to work in it, the GUI etc —and all the options in every step— but they at least seem to have ideas about the libraries and how to make it work to get PRODUCTS (final PCB’s) made.

I set up a sqlite db some some ago and it has been great. I documented the setup here:

1 Like

Glad to hear you managed to set that up, teletypeguy!

Jon Evans mentioned in the video it’s also possible to setup the components by making unique components for each value, where also MFR-numbers etc could be added, but’s that’s a hell of a job, it must be possible somehow to import text-lists/tables from the manufacturers in a database which I suppose is the thing with the database Jon is mentioning in the video?

Well obviously it is possible to import the numbers. All you really need is a tabulated or comma separated text file. In general if you can make a Excel sheet of something you can make a database. So if you know how to use excel your like a half a step away from creating your own database.

So if you want to be basic just think of a database conceptually as a spreadsheet.

It should be possible to import it from your wholesalers website somewhat easily (atleast it was for me). Anyway it is a better idea to have internal part number. Because it enables you to make a one to many relationship, where if the vendor changes or you have multiple vendors you can link all in one go trough the database.

Yes, I’m aware of how to use excel but I have no idea how to integrate it with KiCad.

You don’t integrate it with KiCad, you integrate it with your database software

With HTTP libraries in 8.0 this is something that a third party can (and probably will) develop.

Look, guys. your like totally off base. Using a database is not hard, you think it is, its not. Off course you can make your database as hard as you like but then you can make excel into CAM software…

Yes, I’m aware of how to use excel but I have no idea how to integrate it with KiCad.

Start by getting a graphical database editor like say DBeaver (which is the same as used on this video on kicad databases). Its sufficiently close to excel that you should have no problem here. Just dump your data to tables if you have a excel or csv DBeaver can just do this for you.

Then just make the db connection as per the link by John_Pateman posted

Now the only question is who is going to manage your database.

Is HTTP libraries also available in the current 7.99 nightlies builds?

Yes, it just got added. But to make sure you understand: HTTP libraries is a feature that allows KiCad to talk to external software. That external software needs to be written also. After that is done, users who do not want to understand databases may be able to use that external software (assuming it is easier to install and use than a database).

Today I happened to find this plugin, which seems to be pretty useful, at least if you want to go for JLCPCB:

Is there a list/links somewhere with info to most available KiCad plugins?

I use the fabrication toolkit for generating JLC output (find it in the plugin manager).
I also prefer to assign JLC order codes in the schematic already. Unfortunately finding parts available for assembly is rather difficult, as their search function is pretty miserable.
Best alternative: JLC Component Catalogue
Best overview on basic parts: Basic & Preferred Electronic Components | JLCPCB Assembly Parts Library
Good search function at LCSC Buy Electronic Components Online - LCSC Electronics but check if available for assembly.
But we are deviating from the database topic. Maybe we can talk Jan Sponsor @yaqwsx on GitHub Sponsors · GitHub into automatically generating a JLCPCB database library, at least for standard parts where conversion can be done automatically.

Thanks for your ideas/links Martin, and what do you mean with "Maybe we can talk Jan Sponsor @yaqwsx on GitHub Sponsors · GitHub into automatically generating a JLCPCB database library, at least for standard parts where conversion can be done automatically."?

I think jlcpcb used to have database they give out. It just that i couldnt decipher the fileformat

Is this freely available? Would be good to get this imported into my DB so I have a list of all their parts.


The data is availabe at yaqwsx github page as discussed. There is a cached file in sqllite format that is split across several zipped files:

1 Like