diff options
Diffstat (limited to 'projects')
-rw-r--r-- | projects/index.html | 29 | ||||
-rw-r--r-- | projects/index.xml | 16 | ||||
-rw-r--r-- | projects/kimesh/index.html | 104 | ||||
-rw-r--r-- | projects/kimesh/kicad-mesh-result-large.png | bin | 0 -> 197766 bytes | |||
-rw-r--r-- | projects/kimesh/screenshot-mesh-schematic.png | bin | 0 -> 50833 bytes |
5 files changed, 142 insertions, 7 deletions
diff --git a/projects/index.html b/projects/index.html index fecb7f7..5376a7a 100644 --- a/projects/index.html +++ b/projects/index.html @@ -41,7 +41,24 @@ I strive to keep all of them up to date and maintained, so if you notice an issu open an issue on the project's issue tracker.</p> </div> </div> - <div class="card"><h2><a href="/projects/gerbolyze/">Gerbolyze</a></h2> + <div class="card"><h3><a href="/projects/kimesh/">KiMesh</a></h3> + + <div class="summary"> + <div class="document"> + + +<p>KiMesh is a KiCad plugin that automatically creates security meshes with two or traces covering an arbitrarily-shaped outline on the board.</p> +</div> + <a href="http://jaseg.de/projects/kimesh/">Read more</a> + </div> + <div class="links"> + <a href="https://git.jaseg.de/kimesh.git">Sources</a> + <a href="https://github.com/jaseg/kimesh/issues">Issues</a> + <a href="https://jaseg.de/projects/kimesh">Docs</a> + </div> +</div> + + <div class="card"><h3><a href="/projects/gerbolyze/">Gerbolyze</a></h3> <div class="summary"> <div class="document"> @@ -59,7 +76,7 @@ open an issue on the project's issue tracker.</p> </div> </div> - <div class="card"><h2><a href="/projects/gerbonara/">Gerbonara</a></h2> + <div class="card"><h3><a href="/projects/gerbonara/">Gerbonara</a></h3> <div class="summary"> <div class="document"> @@ -77,7 +94,7 @@ open an issue on the project's issue tracker.</p> </div> </div> - <div class="card"><h2><a href="/projects/lolcat-c/">lolcat-c</a></h2> + <div class="card"><h3><a href="/projects/lolcat-c/">lolcat-c</a></h3> <div class="summary"> <div class="document"> @@ -94,7 +111,7 @@ open an issue on the project's issue tracker.</p> </div> </div> - <div class="card"><h2><a href="/projects/python-mpv/">python-mpv</a></h2> + <div class="card"><h3><a href="/projects/python-mpv/">python-mpv</a></h3> <div class="summary"> <div class="document"> @@ -112,7 +129,7 @@ open an issue on the project's issue tracker.</p> </div> </div> - <div class="card"><h2><a href="/projects/svg-flatten/">svg-flatten</a></h2> + <div class="card"><h3><a href="/projects/svg-flatten/">svg-flatten</a></h3> <div class="summary"> <div class="document"> @@ -129,7 +146,7 @@ open an issue on the project's issue tracker.</p> </div> </div> - <div class="card"><h2><a href="/projects/wsdiff/">wsdiff</a></h2> + <div class="card"><h3><a href="/projects/wsdiff/">wsdiff</a></h3> <div class="summary"> <div class="document"> diff --git a/projects/index.xml b/projects/index.xml index 7644ef9..ee4fa9d 100644 --- a/projects/index.xml +++ b/projects/index.xml @@ -6,7 +6,21 @@ <description>Recent content in Projects on Home</description> <generator>Hugo -- gohugo.io</generator> <language>en-us</language> - <copyright>Jan Sebastian Götte</copyright><atom:link href="http://jaseg.de/projects/index.xml" rel="self" type="application/rss+xml" /> + <copyright>Jan Sebastian Götte</copyright> + <lastBuildDate>Wed, 04 Oct 2023 23:42:00 +0200</lastBuildDate><atom:link href="http://jaseg.de/projects/index.xml" rel="self" type="application/rss+xml" /> + <item> + <title>KiMesh</title> + <link>http://jaseg.de/projects/kimesh/</link> + <pubDate>Wed, 04 Oct 2023 23:42:00 +0200</pubDate> + + <guid>http://jaseg.de/projects/kimesh/</guid> + <description><div class="document"> + + +<p>KiMesh is a KiCad plugin that automatically creates security meshes with two or traces covering an arbitrarily-shaped outline on the board.</p> +</div></description> + </item> + <item> <title>Gerbolyze</title> <link>http://jaseg.de/projects/gerbolyze/</link> diff --git a/projects/kimesh/index.html b/projects/kimesh/index.html new file mode 100644 index 0000000..37d06b2 --- /dev/null +++ b/projects/kimesh/index.html @@ -0,0 +1,104 @@ +<!DOCTYPE html> +<html><head> + <meta charset="utf-8"> + <title>KiMesh | Home</title> + <meta name="description" content=""> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="mobile-web-app-capable" content="yes"> + <meta name="color-scheme" content="dark light"> + <link rel="stylesheet" href="/style.css"> +</head> +<body><nav> + <div class="internal"> + + <a href="/" title="Home">Home</a> + <a href="/blog/" title="Blog">Blog</a> + <a href="/projects/" title="Projects">Projects</a> + <a href="/about/" title="About">About</a> + </div> + <div class="external"> + <a href="https://git.jaseg.de/" title="cgit">cgit</a> + <a href="https://github.com/jaseg" title="Github">Github</a> + <a href="https://gitlab.com/neinseg" title="Gitlab">Gitlab</a> + <a href="https://chaos.social/jaseg" title="Mastodon">Mastodon</a> + </span> +</nav> + + <header> + <h1>KiMesh</h1> +<ul class="breadcrumbs"> + <li><a href="/">jaseg.de</a></li> + <li><a href="/projects/">Projects</a></li><li><a href="/projects/kimesh/">KiMesh</a></li> +</ul> + <strong>2023-10-04</strong> + </header> + <main> + <div class="links"> + <a href="https://git.jaseg.de/kimesh.git">Sources</a> + <a href="https://github.com/jaseg/kimesh/issues">Issues</a> + <a href="https://jaseg.de/projects/kimesh">Docs</a> + </div> + <div class="document" id="kicad-security-mesh-generator"> +<h1 class="title">KiCAD Security Mesh Generator</h1> + +<img alt="A screenshot of KiCAD showing a PCB security mesh generated by KiMesh." src="kicad-mesh-result-large.png" style="width: 800px;" /> +<p>This repository contains KiMesh, a KiCAD pcbnew plugin that generates security mesh traces on a KiCAD PCB.</p> +<div class="section" id="installation"> +<h2>Installation</h2> +<p>KiMesh has two parts: The pcbnew plugin that generates the traces, and the magic footprints that you use to tell the +plugin how many traces of which dimensions to generate where.</p> +<p>To install the plugin, copy the "kimesh" directory into your KiCAD installation's scripting plugin folder. Usually, this +is <cite>~/.config/kicad/scripting/plugins/</cite> for KiCAD stable installations or +<cite>~/.config/kicad/[major version].99/scripting/plugins/</cite> for nightly builds. On Windows, these paths can be found in your +user account's <cite>AppData/Roaming</cite> directory.</p> +<p>To install the footprint libraries, the easiest way is to download the library zip from the project's repo +<a class="reference external" href="https://git.jaseg.de/kimesh.git/plain/mesh_footprints.tar.xz?h=main">[link]</a>, unpack it to your project folder, and +add the unpacked libraries as project-specific libraries through KiCad's library management thingy.</p> +</div> +<div class="section" id="usage"> +<h2>Usage</h2> +<p>To work, KiMesh requires four things:</p> +<ol class="arabic simple"> +<li>An area free of other features such as footprints or traces where to generate the mesh.</li> +<li>One or more "graphic polygons" on a drawing layer that specify the area of the mesh.</li> +<li>A closed board outline on the <cite>Edge.Cuts</cite> layer.</li> +<li>One of the magic footprints from the KiMesh anchor library that defines the mesh's number of wires and their +dimensions, and tells KiMesh where to start the mesh and in which direction to start it.</li> +</ol> +<p>You can choose any layer for the outline polygons, such as the pre-defined <cite>User.Eco1</cite> or <cite>User.X</cite> layers, or you can +define your own. You just have to select that layer later in KiMesh's generator dialog. Note that KiMesh only processes +graphic polygons on that layer, and ignores other shapes such as lines, rectangles or circles. You can still use other +shapes, but you have to manually convert them to polygons before running KiMesh. To convert other shapes to +a polygon, select them, open the context menu with a right click, then choose the "Create from Selection 🞂 Create +Polygon from Selection" entry. For rectangles or circles, use the "Use Centerlines" option. For lines or arcs, use the +"Create bounding hull" option.</p> +<p>Place the magic anchor footprint on the outline of the mesh's shape polygons so that you have space to route out the +traces. The anchor footprint has an arrow on the <cite>F.Fab</cite> layer that indicates in which direction the mesh will be +generated.</p> +<p>I recommend adding the mesh to the schematic with one of KiCad's built-in <cite>Connector_02xN_Top_Bottom</cite> footprints. For a +mesh with k wires, choose a symbol with two rows of 2k pins each. For instance, for two mesh wires, choose +<cite>Connector_02x04_Top_bottom</cite>. Then assign one of the magic footprints to that symbol. To avoid DRC warnings, join the +two halves of the mesh on the output side of the footprint. That's the right side in default orientation, where the +higher-numbered pins are.</p> +<img alt="A screenshot of the connector footprint mentioned in the previous paragraph, shown conencted up as described in KiCad's schematic editor." src="screenshot-mesh-schematic.png" style="width: 800px;" /> +</div> +<div class="section" id="theory-of-operation"> +<h2>Theory of operation</h2> +<p>I have published a <a class="reference external" href="https://blog.jaseg.de/posts/kicad-mesh-plugin/">post</a> on my blog on the theory of operation behind KiMesh.</p> +</div> +</div> + </main><footer> + Copyright © 2023 Jan Sebastian Götte + / <a href="/about/">About</a> + / <a href="/imprint/">Imprint</a> +</footer> +<script> + if(navigator.getEnvironmentIntegrity!==undefined)document.querySelector('body').innerHTML=`<h1>Your browser + contains Google DRM</h1>"Web Environment Integrity" is a Google euphemism for a DRM that is designed to + prevent ad-blocking, and which Google has forced into their browsers against widespread public opposition. + In support of an open web, this website does not function with this DRM. Please install a browser such + as <a href="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> that respects your freedom and supports + ad blockers.`; + </script> + </body> +</html> diff --git a/projects/kimesh/kicad-mesh-result-large.png b/projects/kimesh/kicad-mesh-result-large.png Binary files differnew file mode 100644 index 0000000..798287b --- /dev/null +++ b/projects/kimesh/kicad-mesh-result-large.png diff --git a/projects/kimesh/screenshot-mesh-schematic.png b/projects/kimesh/screenshot-mesh-schematic.png Binary files differnew file mode 100644 index 0000000..2869b5e --- /dev/null +++ b/projects/kimesh/screenshot-mesh-schematic.png |