From 9afd55a603ddfabbfa79b66bbc8876d90cf9f5b8 Mon Sep 17 00:00:00 2001 From: jaseg Date: Fri, 6 Oct 2023 14:14:06 +0200 Subject: Projects: Add kimesh --- content/projects/kimesh/README.rst | 64 +++++++++++++++++++++ content/projects/kimesh/index.rst | 15 +++++ .../projects/kimesh/kicad-mesh-result-large.png | Bin 0 -> 197766 bytes .../projects/kimesh/screenshot-mesh-schematic.png | Bin 0 -> 50833 bytes 4 files changed, 79 insertions(+) create mode 100644 content/projects/kimesh/README.rst create mode 100644 content/projects/kimesh/index.rst create mode 100644 content/projects/kimesh/kicad-mesh-result-large.png create mode 100644 content/projects/kimesh/screenshot-mesh-schematic.png (limited to 'content') diff --git a/content/projects/kimesh/README.rst b/content/projects/kimesh/README.rst new file mode 100644 index 0000000..479690f --- /dev/null +++ b/content/projects/kimesh/README.rst @@ -0,0 +1,64 @@ +KiCAD Security Mesh Generator +============================= + +.. image:: kicad-mesh-result-large.png + :width: 800 + :alt: A screenshot of KiCAD showing a PCB security mesh generated by KiMesh. + +This repository contains KiMesh, a KiCAD pcbnew plugin that generates security mesh traces on a KiCAD PCB. + +Installation +------------ + +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. + +To install the plugin, copy the "kimesh" directory into your KiCAD installation's scripting plugin folder. Usually, this +is `~/.config/kicad/scripting/plugins/` for KiCAD stable installations or +`~/.config/kicad/[major version].99/scripting/plugins/` for nightly builds. On Windows, these paths can be found in your +user account's `AppData/Roaming` directory. + +To install the footprint libraries, the easiest way is to download the library zip from the project's repo +`[link] `__, unpack it to your project folder, and +add the unpacked libraries as project-specific libraries through KiCad's library management thingy. + +Usage +----- + +To work, KiMesh requires four things: + +1. An area free of other features such as footprints or traces where to generate the mesh. +2. One or more "graphic polygons" on a drawing layer that specify the area of the mesh. +3. A closed board outline on the `Edge.Cuts` layer. +4. 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. + +You can choose any layer for the outline polygons, such as the pre-defined `User.Eco1` or `User.X` 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. + +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 `F.Fab` layer that indicates in which direction the mesh will be +generated. + +I recommend adding the mesh to the schematic with one of KiCad's built-in `Connector_02xN_Top_Bottom` footprints. For a +mesh with k wires, choose a symbol with two rows of 2k pins each. For instance, for two mesh wires, choose +`Connector_02x04_Top_bottom`. 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. + +.. image:: screenshot-mesh-schematic.png + :width: 800 + :alt: A screenshot of the connector footprint mentioned in the previous paragraph, shown conencted up as described in + KiCad's schematic editor. + +Theory of operation +------------------- + +I have published a post_ on my blog on the theory of operation behind KiMesh. + +.. _post: https://blog.jaseg.de/posts/kicad-mesh-plugin/ diff --git a/content/projects/kimesh/index.rst b/content/projects/kimesh/index.rst new file mode 100644 index 0000000..7688757 --- /dev/null +++ b/content/projects/kimesh/index.rst @@ -0,0 +1,15 @@ +--- +title: "KiMesh" +external_links: + - name: Sources + url: "https://git.jaseg.de/kimesh.git" + - name: Issues + url: "https://github.com/jaseg/kimesh/issues" + - name: Docs + url: "https://jaseg.de/projects/kimesh" +summary: > + KiMesh is a KiCad plugin that automatically creates security meshes with two or traces covering an + arbitrarily-shaped outline on the board. +--- + +.. include:: content/projects/kimesh/README.rst diff --git a/content/projects/kimesh/kicad-mesh-result-large.png b/content/projects/kimesh/kicad-mesh-result-large.png new file mode 100644 index 0000000..798287b Binary files /dev/null and b/content/projects/kimesh/kicad-mesh-result-large.png differ diff --git a/content/projects/kimesh/screenshot-mesh-schematic.png b/content/projects/kimesh/screenshot-mesh-schematic.png new file mode 100644 index 0000000..2869b5e Binary files /dev/null and b/content/projects/kimesh/screenshot-mesh-schematic.png differ -- cgit