mirror of
https://github.com/inventree/inventree-website.git
synced 2025-04-28 05:26:44 +00:00
236 lines
12 KiB
HTML
236 lines
12 KiB
HTML
<!DOCTYPE html>
|
||
<html lang=" en-US ">
|
||
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
||
<link rel="stylesheet" href="/assets/splide/css/splide.min.css">
|
||
<link rel="stylesheet" href="/assets/index.css">
|
||
<link rel="shortcut icon" type="image/png" href="/assets/icon/favicon.ico">
|
||
|
||
<script src="/assets/splide/js/splide.min.js"></script>
|
||
|
||
<!-- Fontawesome integration -->
|
||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css">
|
||
|
||
<title>InvenTree - KiCad Integration</title>
|
||
<meta itemprop="description" name="description"
|
||
content="InvenTree is an open-source inventory management system which provides intuitive parts management and stock control. It is at the center of an ecosystem of a..." />
|
||
|
||
<!-- Begin Jekyll SEO tag v2.8.0 -->
|
||
<title>KiCad Integration | InvenTree</title>
|
||
<meta name="generator" content="Jekyll v4.3.3" />
|
||
<meta property="og:title" content="KiCad Integration" />
|
||
<meta name="author" content="SchrodingersGat" />
|
||
<meta property="og:locale" content="en_US" />
|
||
<meta name="description" content="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." />
|
||
<meta property="og:description" content="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." />
|
||
<link rel="canonical" href="/blog/2023/09/26/kicad" />
|
||
<meta property="og:url" content="/blog/2023/09/26/kicad" />
|
||
<meta property="og:site_name" content="InvenTree" />
|
||
<meta property="og:type" content="article" />
|
||
<meta property="article:published_time" content="2023-09-26T00:00:00+00:00" />
|
||
<meta name="twitter:card" content="summary" />
|
||
<meta property="twitter:title" content="KiCad Integration" />
|
||
<script type="application/ld+json">
|
||
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"SchrodingersGat"},"dateModified":"2023-09-26T00:00:00+00:00","datePublished":"2023-09-26T00:00:00+00:00","description":"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.","headline":"KiCad Integration","mainEntityOfPage":{"@type":"WebPage","@id":"/blog/2023/09/26/kicad"},"url":"/blog/2023/09/26/kicad"}</script>
|
||
<!-- End Jekyll SEO tag -->
|
||
|
||
</head>
|
||
|
||
<body class="flex flex-col antialiased cm-gray-1 min-h-screen">
|
||
<div class="flex-none">
|
||
<header class="cm-gray-2 body-font sticky top-0 z-50 bg-gradient-to-r from-white to-secondary">
|
||
<div class="container mx-auto flex flex-wrap p-5 flex-row items-center">
|
||
<a class="flex title-font font-medium items-center cm-gray-1 mb-0 mr-2" href="/">
|
||
<img src="/assets/logo.png" alt="logo" height="32" width="32" class="h-8">
|
||
<span class="ml-3 text-xl">InvenTree</span>
|
||
</a>
|
||
|
||
<div class="flex-grow xs:flex-none"></div>
|
||
|
||
<nav class="md:mr-auto md:py-1 xs:ml-4 xs:pl-4 xs:border-l xs:border-gray-400 flex flex-wrap items-center text-base justify-center">
|
||
<a class="mr-5 hover:cm-gray-1" href="/deploy.html">Deploy</a>
|
||
<a class="mr-5 hover:cm-gray-1" href="https://docs.inventree.org/en/stable/">Docs</a>
|
||
<a class="mr-5 hover:cm-gray-1" href="/blog">Blog</a>
|
||
</nav>
|
||
|
||
|
||
</div>
|
||
</header> <header>
|
||
|
||
<a href="/blog" class="flex items-center m-5 text-xl hover:underline">
|
||
<img class="w-6 h-6" alt="go back" src="/assets/back.svg">
|
||
<span>Back</span>
|
||
</a>
|
||
|
||
</header>
|
||
|
||
<article>
|
||
<h1>KiCad Integration</h1>
|
||
<p>
|
||
26 Sep 2023
|
||
|
||
|
||
<a href="/schrodingersgat">Oliver</a>
|
||
</p>
|
||
<p>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.</p>
|
||
|
||
<p>Ever since InvenTree was first <a href="https://forum.kicad.info/t/inventory-management-open-source/"><em>shamelessly cross-promoted</em></a> on the KiCad forums, I have been searching for a clean way to connect KiCad and InvenTree together. This has been a <a href="https://github.com/inventree/InvenTree/discussions/4133">popular topic of discussion</a> with other InvenTree users too!</p>
|
||
|
||
<p>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.</p>
|
||
|
||
<p>Well now, with great excitement, there is! InvenTree data can now be used as a first-class <em>symbol library</em> - with full support of all of InvenTree’s internal data!</p>
|
||
|
||
<h3 id="http-library-support">HTTP Library Support</h3>
|
||
|
||
<p>In September 2023, <a href="https://gitlab.com/kicad/code/kicad/-/merge_requests/1679">HTTP Library Support</a> was added to the KiCad application.</p>
|
||
|
||
<p>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.</p>
|
||
|
||
<h3 id="inventree-plugin">InvenTree Plugin</h3>
|
||
|
||
<p>The same author who implemented the HTTP library support in KiCad has also released a <a href="https://github.com/afkiwers/inventree_kicad">plugin for InvenTree</a> which provides an API wrapper for the InvenTree database that conforms to the KiCad HTTP library standard.</p>
|
||
|
||
<p>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.</p>
|
||
|
||
<h3 id="configuration-file">Configuration File</h3>
|
||
|
||
<p>Once the plugin is installed, a simple configuration file on the local computer is all that is required to connect to the InvenTree database. All that is required is the URL to the remote server (with the correct plugin extension) and an API token for authentication:</p>
|
||
|
||
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>{
|
||
"meta": {
|
||
"version": 1.0
|
||
},
|
||
"name": "InvenTree",
|
||
"description": "InvenTree Library",
|
||
"source": {
|
||
"type": "REST_API",
|
||
"api_version": "v1",
|
||
"root_url": "http://my.inventree.server/plugin/kicad-library-plugin",
|
||
"token": "usertokendatastring"
|
||
}
|
||
}
|
||
</code></pre></div></div>
|
||
|
||
<h3 id="categories-as-libraries">Categories as Libraries</h3>
|
||
|
||
<p>InvenTree <em>categories</em> can be used as separate <em>libraries</em> in the KiCad application. The InvenTree plugin allows the user to select which part categories are exposed to KiCad.</p>
|
||
|
||
<h3 id="parameters-as-fields">Parameters as Fields</h3>
|
||
|
||
<p>Part <em>parameters</em> are exposed to the KiCad symbol as <em>fields</em>. This means that any extra part information (stored as part parameters in InvenTree) is available to the KiCad symbols.</p>
|
||
|
||
<h4 id="default-values">Default Values</h4>
|
||
|
||
<p>Where certain KiCad values are not defined for a particular part, each <em>library category</em> can optionally specify attributes such as <em>Default Symbol</em> or <em>Default Footprint</em>. This allows a category to be defined where all parts may share a common symbol and/or footprint within KiCad.</p>
|
||
|
||
<h3 id="further-reading">Further Reading</h3>
|
||
|
||
<p>Check out the <a href="https://github.com/afkiwers/inventree_kicad">inventree-kicad-plugin</a> page on GitHub for further details, including installation instructions!</p>
|
||
|
||
|
||
</article>
|
||
</div>
|
||
|
||
<div class="flex-grow"></div>
|
||
<div class="flex-none">
|
||
<footer class="cm-gray-2 body-font">
|
||
<div class="container px-5 pt-8 mx-auto flex md:flex-row md:flex-nowrap flex-wrap flex-col">
|
||
<div class="w-64 flex-shrink-0 md:mx-0 mx-auto text-center md:text-left">
|
||
<div class="flex title-font font-medium items-center md:justify-start justify-center cm-gray-1">
|
||
<img src="/assets/logo.png" alt="logo" height="32" width="32" class="h-8">
|
||
<span class="ml-3 text-xl">InvenTree</span>
|
||
</div>
|
||
<p class="mt-2 text-sm cm-gray-3">Intuitive Inventory Management</p>
|
||
</div>
|
||
|
||
<div class="flex-grow flex flex-wrap md:pl-10 mb-1 md:mt-0 mt-10 md:text-left text-center md:justify-left justify-center">
|
||
|
||
|
||
<div class="md:w-1/4 px-4">
|
||
<h2 class="footer-categorie title-font">
|
||
Quick
|
||
</h2>
|
||
<nav class="list-none mb-10"><ul>
|
||
|
||
<li><a href="/demo.html" class="footer-link">Demo</a></li>
|
||
|
||
<li><a href="/deploy.html" class="footer-link">Deploy</a></li>
|
||
|
||
<li><a href="https://docs.inventree.org/en/stable/" class="footer-link">Docs</a></li>
|
||
|
||
<li><a href="/news" class="footer-link">News</a></li>
|
||
|
||
<li><a href="/plugins" class="footer-link">Plugin List</a></li>
|
||
|
||
</ul></nav>
|
||
</div>
|
||
|
||
<div class="md:w-1/4 px-4">
|
||
<h2 class="footer-categorie title-font">
|
||
<a href="/extend/">Ecosystem</a>
|
||
</h2>
|
||
<nav class="list-none mb-10"><ul>
|
||
|
||
<li><a href="/extend/api.html" class="footer-link">API</a></li>
|
||
|
||
<li><a href="/extend/app.html" class="footer-link">App</a></li>
|
||
|
||
<li><a href="/extend/plugin/" class="footer-link">Plugins</a></li>
|
||
|
||
<li><a href="/extend/integrate/" class="footer-link">Integrations</a></li>
|
||
|
||
</ul></nav>
|
||
</div>
|
||
|
||
<div class="md:w-1/4 px-4">
|
||
<h2 class="footer-categorie title-font">
|
||
Sitemap
|
||
</h2>
|
||
<nav class="list-none mb-10"><ul>
|
||
|
||
<li><a href="/about/" class="footer-link">About</a></li>
|
||
|
||
<li><a href="/alternatives/" class="footer-link">Alternatives</a></li>
|
||
|
||
<li><a href="/blog" class="footer-link">Blog</a></li>
|
||
|
||
<li><a href="/contribute.html" class="footer-link">Contribute</a></li>
|
||
|
||
<li><a href="/support.html" class="footer-link">Support</a></li>
|
||
|
||
</ul></nav>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="bg-gray-100">
|
||
<div class="container mx-auto py-4 px-5 flex flex-wrap flex-col sm:flex-row">
|
||
<p class="cm-gray-2 text-sm text-center sm:text-left">© 2021-now InvenTree by<a href="https://github.com/inventree" rel="noopener" class="cm-gray-2 ml-1" target="_blank">@inventree</a>— website made with ♥ by<a href="https://github.com/matmair" rel="noopener" class="cm-gray-2 ml-1" target="_blank">@matmair</a></p>
|
||
<span class="inline-flex sm:ml-auto sm:mt-0 mt-2 justify-center sm:justify-start">
|
||
<a href="https://github.com/inventree/inventree" alt="github repo" class="ml-3 cm-gray-3">
|
||
<img class="h-5 w-5" alt="GitHub logo" src="/assets/github.svg">
|
||
</a>
|
||
<a href="https://reddit.com/r/inventree" alt="Reddit" class="ml-3 cm-gray-3">
|
||
<img class="h-5 w-5" alt="Reddit logo" src="/assets/reddit.svg">
|
||
</a>
|
||
<a href="https://twitter.com/inventreedb" alt="Twitter" class="ml-3 cm-gray-3">
|
||
<img class="h-5 w-5" alt="Twitter logo" src="/assets/twitter.svg">
|
||
</a>
|
||
<a href="https://chaos.social/@InvenTree" rel="me" alt="Mastodon" class="ml-3 cm-gray-3">
|
||
<img class="h-5 w-5" alt="Mastodon logo" src="/assets/mastodon.svg">
|
||
</a>
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
</div>
|
||
</body>
|
||
|
||
</html>
|