From 6f6ab2962a754a3366fb790b9eec9ec5de18985f Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 26 Sep 2023 22:50:08 +1000 Subject: [PATCH] Add blog post --- _posts/2023-09-26-kicad.md | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 _posts/2023-09-26-kicad.md diff --git a/_posts/2023-09-26-kicad.md b/_posts/2023-09-26-kicad.md new file mode 100644 index 00000000..051b14ee --- /dev/null +++ b/_posts/2023-09-26-kicad.md @@ -0,0 +1,40 @@ +--- +author: SchrodingersGat +title: KiCad Integration +--- + +In the world of electronics design and PCB (Printed Circuit Board) development, KiCad has been a go-to tool for engineers and hobbyists alike. KiCad is a very popular and capable tool, and has continually evolved to meet the changing needs of its users. + +Ever since InvenTree was first [*shamlessly cross-promoted*](https://forum.kicad.info/t/inventory-management-open-source/) on the KiCad forums, I have been searching for a clean way to connect KiCad and InvenTree together. This has been a [popular topic of discussion](https://github.com/inventree/InvenTree/discussions/4133) with other InvenTree users too! + +InvenTree contains all of my part definition data and inventory management information, such as part parameters, supplier data, etc. If only there was a simply way to get all of that information directly out of InvenTree and into KiCad. + +Well now, with great excitement, there is! InvenTree data can now be used as a first-class *symbol library* - with full support of all of InvenTree's internal data! + +### HTTP Library Support + +In September 2023, [HTTP Libary Support](https://gitlab.com/kicad/code/kicad/-/merge_requests/1679) was added to the KiCad application. + +This feature allows KiCad library data to be retrieved from an external API endpoint, rather than a library file on the local filesystem. This is a groundbreaking change which allows us to leverage InvenTree's existing capabilities to provide a fully-featured integration between the two software packages. + +### InvenTree Plugin + +The same author who implemented the HTTP library support in KiCad has also released a [plugin for InvenTree](https://github.com/afkiwers/inventree_kicad) which provides an API wrapper for the InvenTree database that conforms to the KiCad HTTP library standard. + +What does this mean? Simply put, it means that you can now use your InvenTree database as a native KiCad library, and pull your InvenTree data directly in to your KiCad schematic. + +### Categories as Libraries + +InvenTree *categories* can be used as separate *libraries* in the KiCad application. The InvenTree plugin allows the user to select which part categories are exposed to KiCad. + +### Parameters as Fields + +Part *parameters* are exposed to the KiCad symbol as *fields*. This means that any extra part information (stored as part parameters in InvenTree) is available to the KiCad symbols. + +#### Default Values + +Where certain KiCad values are not defined for a particular part, each *library category* can optionally specify attributes such as *Default Symbol* or *Default Footprint*. This allows a category to be defined where all parts may share a common symbol and/or footprint within KiCad. + +### Further Reading + +Check out the [inventree-kicad-plugin](https://github.com/afkiwers/inventree_kicad) page on GitHub for further details, including installation instructions!