added debounce cap

This commit is contained in:
cpu
2026-05-16 17:57:35 +02:00
parent cd38349be3
commit c799e7ab56
32 changed files with 32363 additions and 15634 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"board": { "board": {
"active_layer": 0, "active_layer": 2,
"active_layer_preset": "", "active_layer_preset": "",
"auto_track_width": true, "auto_track_width": true,
"hidden_netclasses": [], "hidden_netclasses": [],
@@ -16,17 +16,17 @@
"zones": 0.800000011920929 "zones": 0.800000011920929
}, },
"selection_filter": { "selection_filter": {
"dimensions": true, "dimensions": false,
"footprints": true, "footprints": false,
"graphics": true, "graphics": false,
"keepouts": true, "keepouts": false,
"lockedItems": false, "lockedItems": false,
"otherItems": true, "otherItems": false,
"pads": true, "pads": false,
"text": true, "text": false,
"tracks": true, "tracks": true,
"vias": true, "vias": false,
"zones": true "zones": false
}, },
"visible_items": [ "visible_items": [
"vias", "vias",
@@ -49,7 +49,7 @@
"conflict_shadows", "conflict_shadows",
"shapes" "shapes"
], ],
"visible_layers": "ffffffff_ffffffff_ffffffff_ffffffff", "visible_layers": "ffffffff_ffffffff_fffffff7_fffdffff",
"zone_display_mode": 0 "zone_display_mode": 0
}, },
"git": { "git": {

File diff suppressed because it is too large Load Diff

View File

@@ -29,7 +29,7 @@ Designed in **KiCad v9**.
## Hardware Design (KiCad) ## Hardware Design (KiCad)
* **Power:** 5V DC Input (via CNC connector J4). * **Power:** 5V DC Input (via CNC connector J4).
* **Sensor Compatibility:** ZJ-S401 (or similar 5V Hall-effect flow sensors). * **Sensor Compatibility:** ZJ-S401 Water flow sensor (plastic valve body, a water rotor and a hall-effect sensor). See [the working principle of the hall water flow sensor](https://www.seeedstudio.com/blog/2020/05/11/how-to-use-water-flow-sensor-with-arduino/).
* **Output:** 3-pin CNC interface (+5V, GND, ALARM_CNC). Connects directly to standard CNC active-low sinking inputs. * **Output:** 3-pin CNC interface (+5V, GND, ALARM_CNC). Connects directly to standard CNC active-low sinking inputs.
## Panel Design and GCode ## Panel Design and GCode

View File

@@ -13,6 +13,7 @@ kikit panelize \
--layout 'type: grid; rows: 1; cols: 2; space: 0mm' \ --layout 'type: grid; rows: 1; cols: 2; space: 0mm' \
--tabs 'type: fixed; width: 48mm; vcount: 1' \ --tabs 'type: fixed; width: 48mm; vcount: 1' \
--cuts 'type: mousebites; drill: 1mm; spacing: 1.5mm' \ --cuts 'type: mousebites; drill: 1mm; spacing: 1.5mm' \
--post 'origin: tl; script: move_to_origin.py' \
--framing 'type: none' \ --framing 'type: none' \
../Flow_Controller.kicad_pcb panel/Flow_Controller_Panel.kicad_pcb ../Flow_Controller.kicad_pcb panel/Flow_Controller_Panel.kicad_pcb
``` ```

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -20,241 +20,241 @@ G0 Z2.00000
G04 P1.00000 G04 P1.00000
G1 F500.00000 G1 F500.00000
G0 X-58.02000 Y-24.60000 G0 X4.60000 Y-4.60000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-60.78600 Y-36.12000 G0 X12.15400 Y-6.09600
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-60.78600 Y-38.66000 G0 X14.69400 Y-6.09600
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-60.78600 Y-41.20000 G0 X17.23400 Y-6.09600
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-60.78600 Y-43.74000 G0 X5.45000 Y-13.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-60.78600 Y-46.28000 G0 X5.45000 Y-15.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-60.78600 Y-48.82000 G0 X5.45000 Y-18.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-60.78600 Y-51.36000 G0 X4.60000 Y-45.40000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-60.78600 Y-53.90000 G0 X20.00000 Y-44.91800
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-58.02000 Y-65.40000 G0 X20.00000 Y-42.41800
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-71.83500 Y-65.00000 G0 X20.00000 Y-39.91800
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-71.83500 Y-62.46000 G0 X32.15000 Y-29.42500
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-71.83500 Y-59.92000 G0 X32.25000 Y-25.67500
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-83.42000 Y-64.91800 G0 X42.63400 Y-16.12000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-83.42000 Y-62.41800 G0 X42.63400 Y-18.66000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-83.42000 Y-59.91800 G0 X42.63400 Y-21.20000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-68.15200 Y-45.40000 G0 X42.63400 Y-23.74000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-68.02500 Y-41.59000 G0 X42.63400 Y-26.28000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-98.82000 Y-24.60000 G0 X42.63400 Y-28.82000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-21.00000 G0 X42.63400 Y-31.36000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-22.50000 G0 X42.63400 Y-33.90000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-24.00000 G0 X45.40000 Y-45.40000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-25.50000 G0 X50.00000 Y-49.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-108.02000 Y-24.60000 G0 X54.60000 Y-45.40000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-27.00000 G0 X50.00000 Y-47.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-28.50000 G0 X50.00000 Y-46.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-30.00000 G0 X50.00000 Y-44.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-31.50000 G0 X50.00000 Y-43.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-99.42000 Y-32.52600 G0 X50.00000 Y-41.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-99.42000 Y-35.02600 G0 X50.00000 Y-40.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-99.42000 Y-37.52600 G0 X50.00000 Y-38.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-33.00000 G0 X50.00000 Y-37.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-34.50000 G0 X50.00000 Y-35.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-36.00000 G0 X50.00000 Y-34.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-37.50000 G0 X50.00000 Y-32.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-39.00000 G0 X50.00000 Y-31.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-40.50000 G0 X50.00000 Y-29.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-42.00000 G0 X50.00000 Y-28.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-43.50000 G0 X50.00000 Y-26.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-45.00000 G0 X50.00000 Y-25.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-46.50000 G0 X50.00000 Y-23.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-48.00000 G0 X50.00000 Y-22.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-49.50000 G0 X50.00000 Y-20.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-51.00000 G0 X50.00000 Y-19.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-52.50000 G0 X50.00000 Y-17.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-54.00000 G0 X50.00000 Y-16.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-55.50000 G0 X50.00000 Y-14.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-57.00000 G0 X50.00000 Y-13.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-58.50000 G0 X50.00000 Y-11.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-60.00000 G0 X50.00000 Y-10.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-98.82000 Y-65.40000 G0 X50.00000 Y-8.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-69.00000 G0 X45.40000 Y-4.60000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-67.50000 G0 X50.00000 Y-7.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-66.00000 G0 X50.00000 Y-5.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-64.50000 G0 X50.00000 Y-4.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-63.00000 G0 X50.00000 Y-2.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-108.02000 Y-65.40000 G0 X50.00000 Y-1.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-103.42000 Y-61.50000 G0 X54.60000 Y-4.60000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-110.78600 Y-53.90000 G0 X62.15400 Y-6.09600
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-110.78600 Y-51.36000 G0 X64.69400 Y-6.09600
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-110.78600 Y-48.82000 G0 X67.23400 Y-6.09600
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-110.78600 Y-46.28000 G0 X55.45000 Y-13.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-110.78600 Y-43.74000 G0 X55.45000 Y-15.50000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-110.78600 Y-41.20000 G0 X55.45000 Y-18.00000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-110.78600 Y-38.66000 G0 X70.00000 Y-39.91800
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-110.78600 Y-36.12000 G0 X70.00000 Y-42.41800
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-118.02500 Y-41.59000 G0 X70.00000 Y-44.91800
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-118.15200 Y-45.40000 G0 X95.40000 Y-45.40000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-121.83500 Y-59.92000 G0 X92.63400 Y-33.90000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-121.83500 Y-62.46000 G0 X92.63400 Y-31.36000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-121.83500 Y-65.00000 G0 X92.63400 Y-28.82000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-133.42000 Y-59.91800 G0 X92.63400 Y-26.28000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-133.42000 Y-62.41800 G0 X82.25000 Y-25.67500
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-133.42000 Y-64.91800 G0 X82.15000 Y-29.42500
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-148.82000 Y-65.40000 G0 X92.63400 Y-23.74000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-149.42000 Y-37.52600 G0 X92.63400 Y-21.20000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-149.42000 Y-35.02600 G0 X92.63400 Y-18.66000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-149.42000 Y-32.52600 G0 X92.63400 Y-16.12000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000
G0 X-148.82000 Y-24.60000 G0 X95.40000 Y-4.60000
G1 Z-2.20000 G1 Z-2.20000
G1 Z2.00000 G1 Z2.00000

View File

@@ -4,83 +4,83 @@
<svg width="394.205" height="205.228" viewBox="0 0 8212.6 4275.59" version="1.1" <svg width="394.205" height="205.228" viewBox="0 0 8212.6 4275.59" version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"> xmlns:xlink="http://www.w3.org/1999/xlink">
<circle cx="531.496" cy="531.496" r="37.4016" style=""/> <circle cx="7681.1" cy="531.496" r="37.4016" style=""/>
<circle cx="749.291" cy="1438.58" r="37.4016" style=""/> <circle cx="7086.3" cy="649.291" r="37.4016" style=""/>
<circle cx="749.291" cy="1638.58" r="37.4016" style=""/> <circle cx="6886.3" cy="649.291" r="37.4016" style=""/>
<circle cx="749.291" cy="1838.58" r="37.4016" style=""/> <circle cx="6686.3" cy="649.291" r="37.4016" style=""/>
<circle cx="749.291" cy="2038.58" r="37.4016" style=""/> <circle cx="7614.17" cy="1192.91" r="37.4016" style=""/>
<circle cx="749.291" cy="2238.58" r="37.4016" style=""/> <circle cx="7614.17" cy="1389.76" r="37.4016" style=""/>
<circle cx="749.291" cy="2438.58" r="37.4016" style=""/> <circle cx="7614.17" cy="1586.61" r="37.4016" style=""/>
<circle cx="749.291" cy="2638.58" r="37.4016" style=""/> <circle cx="7681.1" cy="3744.09" r="37.4016" style=""/>
<circle cx="749.291" cy="2838.58" r="37.4016" style=""/> <circle cx="6468.5" cy="3706.14" r="37.4016" style=""/>
<circle cx="531.496" cy="3744.09" r="37.4016" style=""/> <circle cx="6468.5" cy="3509.29" r="37.4016" style=""/>
<circle cx="1619.29" cy="3712.6" r="37.4016" style=""/> <circle cx="6468.5" cy="3312.44" r="37.4016" style=""/>
<circle cx="1619.29" cy="3512.6" r="37.4016" style=""/> <circle cx="5511.81" cy="2486.22" r="37.4016" style=""/>
<circle cx="1619.29" cy="3312.6" r="37.4016" style=""/> <circle cx="5503.94" cy="2190.94" r="37.4016" style=""/>
<circle cx="2531.5" cy="3706.14" r="37.4016" style=""/> <circle cx="4686.3" cy="1438.58" r="37.4016" style=""/>
<circle cx="2531.5" cy="3509.29" r="37.4016" style=""/> <circle cx="4686.3" cy="1638.58" r="37.4016" style=""/>
<circle cx="2531.5" cy="3312.44" r="37.4016" style=""/> <circle cx="4686.3" cy="1838.58" r="37.4016" style=""/>
<circle cx="1329.29" cy="2169.29" r="37.4016" style=""/> <circle cx="4686.3" cy="2038.58" r="37.4016" style=""/>
<circle cx="1319.29" cy="1869.29" r="37.4016" style=""/> <circle cx="4686.3" cy="2238.58" r="37.4016" style=""/>
<circle cx="3744.09" cy="531.496" r="37.4016" style=""/> <circle cx="4686.3" cy="2438.58" r="37.4016" style=""/>
<circle cx="4106.3" cy="248.031" r="37.4016" style=""/> <circle cx="4686.3" cy="2638.58" r="37.4016" style=""/>
<circle cx="4106.3" cy="366.142" r="37.4016" style=""/> <circle cx="4686.3" cy="2838.58" r="37.4016" style=""/>
<circle cx="4106.3" cy="484.252" r="37.4016" style=""/> <circle cx="4468.5" cy="3744.09" r="37.4016" style=""/>
<circle cx="4106.3" cy="602.362" r="37.4016" style=""/>
<circle cx="4468.5" cy="531.496" r="37.4016" style=""/>
<circle cx="4106.3" cy="720.472" r="37.4016" style=""/>
<circle cx="4106.3" cy="838.583" r="37.4016" style=""/>
<circle cx="4106.3" cy="956.693" r="37.4016" style=""/>
<circle cx="4106.3" cy="1074.8" r="37.4016" style=""/>
<circle cx="3791.34" cy="1155.59" r="37.4016" style=""/>
<circle cx="3791.34" cy="1352.44" r="37.4016" style=""/>
<circle cx="3791.34" cy="1549.29" r="37.4016" style=""/>
<circle cx="4106.3" cy="1192.91" r="37.4016" style=""/>
<circle cx="4106.3" cy="1311.02" r="37.4016" style=""/>
<circle cx="4106.3" cy="1429.13" r="37.4016" style=""/>
<circle cx="4106.3" cy="1547.24" r="37.4016" style=""/>
<circle cx="4106.3" cy="1665.35" r="37.4016" style=""/>
<circle cx="4106.3" cy="1783.46" r="37.4016" style=""/>
<circle cx="4106.3" cy="1901.57" r="37.4016" style=""/>
<circle cx="4106.3" cy="2019.69" r="37.4016" style=""/>
<circle cx="4106.3" cy="2137.8" r="37.4016" style=""/>
<circle cx="4106.3" cy="2255.91" r="37.4016" style=""/>
<circle cx="4106.3" cy="2374.02" r="37.4016" style=""/>
<circle cx="4106.3" cy="2492.13" r="37.4016" style=""/>
<circle cx="4106.3" cy="2610.24" r="37.4016" style=""/>
<circle cx="4106.3" cy="2728.35" r="37.4016" style=""/>
<circle cx="4106.3" cy="2846.46" r="37.4016" style=""/>
<circle cx="4106.3" cy="2964.57" r="37.4016" style=""/>
<circle cx="4106.3" cy="3082.68" r="37.4016" style=""/>
<circle cx="4106.3" cy="3200.79" r="37.4016" style=""/>
<circle cx="4106.3" cy="3318.9" r="37.4016" style=""/>
<circle cx="3744.09" cy="3744.09" r="37.4016" style=""/>
<circle cx="4106.3" cy="4027.56" r="37.4016" style=""/> <circle cx="4106.3" cy="4027.56" r="37.4016" style=""/>
<circle cx="3744.09" cy="3744.09" r="37.4016" style=""/>
<circle cx="4106.3" cy="3909.45" r="37.4016" style=""/> <circle cx="4106.3" cy="3909.45" r="37.4016" style=""/>
<circle cx="4106.3" cy="3791.34" r="37.4016" style=""/> <circle cx="4106.3" cy="3791.34" r="37.4016" style=""/>
<circle cx="4106.3" cy="3673.23" r="37.4016" style=""/> <circle cx="4106.3" cy="3673.23" r="37.4016" style=""/>
<circle cx="4106.3" cy="3555.12" r="37.4016" style=""/> <circle cx="4106.3" cy="3555.12" r="37.4016" style=""/>
<circle cx="4468.5" cy="3744.09" r="37.4016" style=""/>
<circle cx="4106.3" cy="3437.01" r="37.4016" style=""/> <circle cx="4106.3" cy="3437.01" r="37.4016" style=""/>
<circle cx="4686.3" cy="2838.58" r="37.4016" style=""/> <circle cx="4106.3" cy="3318.9" r="37.4016" style=""/>
<circle cx="4686.3" cy="2638.58" r="37.4016" style=""/> <circle cx="4106.3" cy="3200.79" r="37.4016" style=""/>
<circle cx="4686.3" cy="2438.58" r="37.4016" style=""/> <circle cx="4106.3" cy="3082.68" r="37.4016" style=""/>
<circle cx="4686.3" cy="2238.58" r="37.4016" style=""/> <circle cx="4106.3" cy="2964.57" r="37.4016" style=""/>
<circle cx="4686.3" cy="2038.58" r="37.4016" style=""/> <circle cx="4106.3" cy="2846.46" r="37.4016" style=""/>
<circle cx="4686.3" cy="1838.58" r="37.4016" style=""/> <circle cx="4106.3" cy="2728.35" r="37.4016" style=""/>
<circle cx="4686.3" cy="1638.58" r="37.4016" style=""/> <circle cx="4106.3" cy="2610.24" r="37.4016" style=""/>
<circle cx="4686.3" cy="1438.58" r="37.4016" style=""/> <circle cx="4106.3" cy="2492.13" r="37.4016" style=""/>
<circle cx="5256.3" cy="1869.29" r="37.4016" style=""/> <circle cx="4106.3" cy="2374.02" r="37.4016" style=""/>
<circle cx="5266.3" cy="2169.29" r="37.4016" style=""/> <circle cx="4106.3" cy="2255.91" r="37.4016" style=""/>
<circle cx="5556.3" cy="3312.6" r="37.4016" style=""/> <circle cx="4106.3" cy="2137.8" r="37.4016" style=""/>
<circle cx="5556.3" cy="3512.6" r="37.4016" style=""/> <circle cx="4106.3" cy="2019.69" r="37.4016" style=""/>
<circle cx="5556.3" cy="3712.6" r="37.4016" style=""/> <circle cx="4106.3" cy="1901.57" r="37.4016" style=""/>
<circle cx="6468.5" cy="3312.44" r="37.4016" style=""/> <circle cx="4106.3" cy="1783.46" r="37.4016" style=""/>
<circle cx="6468.5" cy="3509.29" r="37.4016" style=""/> <circle cx="4106.3" cy="1665.35" r="37.4016" style=""/>
<circle cx="6468.5" cy="3706.14" r="37.4016" style=""/> <circle cx="4106.3" cy="1547.24" r="37.4016" style=""/>
<circle cx="7681.1" cy="3744.09" r="37.4016" style=""/> <circle cx="4106.3" cy="1429.13" r="37.4016" style=""/>
<circle cx="7728.35" cy="1549.29" r="37.4016" style=""/> <circle cx="4106.3" cy="1311.02" r="37.4016" style=""/>
<circle cx="7728.35" cy="1352.44" r="37.4016" style=""/> <circle cx="4106.3" cy="1192.91" r="37.4016" style=""/>
<circle cx="7728.35" cy="1155.59" r="37.4016" style=""/> <circle cx="4106.3" cy="1074.8" r="37.4016" style=""/>
<circle cx="7681.1" cy="531.496" r="37.4016" style=""/> <circle cx="4106.3" cy="956.693" r="37.4016" style=""/>
<circle cx="4106.3" cy="838.583" r="37.4016" style=""/>
<circle cx="4468.5" cy="531.496" r="37.4016" style=""/>
<circle cx="4106.3" cy="720.472" r="37.4016" style=""/>
<circle cx="4106.3" cy="602.362" r="37.4016" style=""/>
<circle cx="4106.3" cy="484.252" r="37.4016" style=""/>
<circle cx="4106.3" cy="366.142" r="37.4016" style=""/>
<circle cx="4106.3" cy="248.031" r="37.4016" style=""/>
<circle cx="3744.09" cy="531.496" r="37.4016" style=""/>
<circle cx="3149.29" cy="649.291" r="37.4016" style=""/>
<circle cx="2949.29" cy="649.291" r="37.4016" style=""/>
<circle cx="2749.29" cy="649.291" r="37.4016" style=""/>
<circle cx="3677.17" cy="1192.91" r="37.4016" style=""/>
<circle cx="3677.17" cy="1389.76" r="37.4016" style=""/>
<circle cx="3677.17" cy="1586.61" r="37.4016" style=""/>
<circle cx="2531.5" cy="3312.44" r="37.4016" style=""/>
<circle cx="2531.5" cy="3509.29" r="37.4016" style=""/>
<circle cx="2531.5" cy="3706.14" r="37.4016" style=""/>
<circle cx="531.496" cy="3744.09" r="37.4016" style=""/>
<circle cx="749.291" cy="2838.58" r="37.4016" style=""/>
<circle cx="749.291" cy="2638.58" r="37.4016" style=""/>
<circle cx="749.291" cy="2438.58" r="37.4016" style=""/>
<circle cx="749.291" cy="2238.58" r="37.4016" style=""/>
<circle cx="1566.93" cy="2190.94" r="37.4016" style=""/>
<circle cx="1574.8" cy="2486.22" r="37.4016" style=""/>
<circle cx="749.291" cy="2038.58" r="37.4016" style=""/>
<circle cx="749.291" cy="1838.58" r="37.4016" style=""/>
<circle cx="749.291" cy="1638.58" r="37.4016" style=""/>
<circle cx="749.291" cy="1438.58" r="37.4016" style=""/>
<circle cx="531.496" cy="531.496" r="37.4016" style=""/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -20,93 +20,93 @@ G04 P1.00000 (Wait for spindle to get up to speed)
G04 P0 ( dwell for no time -- G64 should not smooth over this point ) G04 P0 ( dwell for no time -- G64 should not smooth over this point )
G00 Z2.00000 ( retract ) G00 Z2.00000 ( retract )
G00 X-52.36997 Y-69.99999 ( rapid move to begin. ) G00 X101.04999 Y-49.99998 ( rapid move to begin. )
G01 Z-4.00000 F50.00000 ( plunge. ) G01 Z-4.00000 F50.00000 ( plunge. )
G04 P0 ( dwell for no time -- G64 should not smooth over this point ) G04 P0 ( dwell for no time -- G64 should not smooth over this point )
G01 F400.00000 G01 F400.00000
G01 X-52.36999 Y-46.29489 G01 X101.04996 Y-26.29491
G00 Z0.00000 G00 Z0.00000
G01 X-52.37000 Y-43.69489 G01 X101.04996 Y-23.69491
G01 Z-4.00000 F50.00000 G01 Z-4.00000 F50.00000
G01 F400.00000 G01 F400.00000
G01 X-52.37002 Y-19.98980 G01 X101.04993 Y0.01016
G01 X-52.38104 Y-19.84779 G01 X101.03891 Y0.15217
G01 X-52.41119 Y-19.70860 G01 X101.00876 Y0.29136
G01 X-52.43329 Y-19.64085 G01 X100.98666 Y0.35911
G01 X-52.46408 Y-19.56547 G01 X100.95588 Y0.43449
G01 X-52.53169 Y-19.44012 G01 X100.88826 Y0.55984
G01 X-52.61561 Y-19.32506 G01 X100.80434 Y0.67490
G01 X-52.71437 Y-19.22239 G01 X100.70559 Y0.77757
G01 X-52.77673 Y-19.17007 G01 X100.64323 Y0.82989
G01 X-52.83451 Y-19.12833 G01 X100.58544 Y0.87163
G01 X-52.95785 Y-19.05714 G01 X100.46210 Y0.94282
G01 X-53.06085 Y-19.01330 G01 X100.35911 Y0.98666
G01 X-53.17782 Y-18.97827 G01 X100.24214 Y1.02169
G01 X-53.29806 Y-18.95706 G01 X100.12189 Y1.04290
G01 X-53.41998 Y-18.94997 G01 X100.00000 Y1.04999
G01 X-102.11998 Y-18.94997 G01 X51.30001 Y1.04999
G00 Z0.00000 G00 Z0.00000
G01 X-104.71998 Y-18.94997 G01 X48.70001 Y1.04999
G01 Z-4.00000 F50.00000 G01 Z-4.00000 F50.00000
G01 F400.00000 G01 F400.00000
G01 X-153.41998 Y-18.94997 G01 X0.00002 Y1.04999
G01 X-153.50134 Y-18.95312 G01 X-0.08133 Y1.04684
G01 X-153.57216 Y-18.96105 G01 X-0.15215 Y1.03891
G01 X-153.71135 Y-18.99120 G01 X-0.29134 Y1.00876
G01 X-153.77909 Y-19.01330 G01 X-0.35908 Y0.98666
G01 X-153.85448 Y-19.04408 G01 X-0.43447 Y0.95588
G01 X-153.97983 Y-19.11170 G01 X-0.55982 Y0.88826
G01 X-154.09489 Y-19.19562 G01 X-0.67488 Y0.80434
G01 X-154.19755 Y-19.29437 G01 X-0.77755 Y0.70559
G01 X-154.24988 Y-19.35673 G01 X-0.82987 Y0.64323
G01 X-154.29161 Y-19.41452 G01 X-0.87160 Y0.58544
G01 X-154.36281 Y-19.53786 G01 X-0.94280 Y0.46210
G01 X-154.40665 Y-19.64085 G01 X-0.98664 Y0.35911
G01 X-154.44167 Y-19.75782 G01 X-1.02167 Y0.24214
G01 X-154.46288 Y-19.87807 G01 X-1.04288 Y0.12189
G01 X-154.46997 Y-19.99999 G01 X-1.04996 Y0.00000
G01 X-154.46995 Y-43.70507 G01 X-1.04994 Y-23.70507
G00 Z0.00000 G00 Z0.00000
G01 X-154.46994 Y-46.30507 G01 X-1.04994 Y-26.30507
G01 Z-4.00000 F50.00000 G01 Z-4.00000 F50.00000
G01 F400.00000 G01 F400.00000
G01 X-154.46992 Y-70.01015 G01 X-1.04991 Y-50.01014
G01 X-154.45889 Y-70.15216 G01 X-1.03889 Y-50.15215
G01 X-154.42874 Y-70.29135 G01 X-1.00874 Y-50.29134
G01 X-154.40665 Y-70.35909 G01 X-0.98664 Y-50.35908
G01 X-154.37586 Y-70.43448 G01 X-0.95586 Y-50.43447
G01 X-154.30825 Y-70.55983 G01 X-0.88824 Y-50.55982
G01 X-154.22433 Y-70.67489 G01 X-0.80432 Y-50.67488
G01 X-154.12557 Y-70.77756 G01 X-0.70556 Y-50.77755
G01 X-154.06321 Y-70.82988 G01 X-0.64321 Y-50.82987
G01 X-154.00543 Y-70.87161 G01 X-0.58542 Y-50.87160
G01 X-153.88209 Y-70.94281 G01 X-0.46208 Y-50.94277
G01 X-153.77909 Y-70.98665 G01 X-0.35908 Y-50.98664
G01 X-153.66212 Y-71.02168 G01 X-0.24212 Y-51.02167
G01 X-153.54188 Y-71.04289 G01 X-0.12187 Y-51.04285
G01 X-153.41998 Y-71.04997 G01 X0.00002 Y-51.04996
G01 X-104.71489 Y-71.04995 G01 X48.70509 Y-51.04994
G00 Z0.00000 G00 Z0.00000
G01 X-102.11489 Y-71.04995 G01 X51.30509 Y-51.04994
G01 Z-4.00000 F50.00000 G01 Z-4.00000 F50.00000
G01 F400.00000 G01 F400.00000
G01 X-53.40980 Y-71.04992 G01 X100.01016 Y-51.04991
G01 X-53.30820 Y-71.04400 G01 X100.11176 Y-51.04397
G01 X-53.20764 Y-71.02828 G01 X100.21232 Y-51.02824
G01 X-53.10908 Y-71.00291 G01 X100.31087 Y-51.00290
G01 X-53.01345 Y-70.96808 G01 X100.40650 Y-50.96805
G01 X-52.92163 Y-70.92419 G01 X100.49832 Y-50.92418
G01 X-52.83451 Y-70.87161 G01 X100.58544 Y-50.87160
G01 X-52.75288 Y-70.81083 G01 X100.66708 Y-50.81082
G01 X-52.67751 Y-70.74243 G01 X100.74244 Y-50.74242
G01 X-52.60911 Y-70.66707 G01 X100.81084 Y-50.66706
G01 X-52.54833 Y-70.58543 G01 X100.87163 Y-50.58542
G01 X-52.49575 Y-70.49831 G01 X100.92420 Y-50.49830
G01 X-52.44795 Y-70.39709 G01 X100.97201 Y-50.39708
G01 X-52.41409 Y-70.30113 G01 X101.00587 Y-50.30112
G01 X-52.38966 Y-70.20232 G01 X101.03030 Y-50.20231
G01 X-52.37490 Y-70.10164 G01 X101.04506 Y-50.10163
G01 X-52.36997 Y-69.99999 G01 X101.04999 Y-49.99998
G04 P0 ( dwell for no time -- G64 should not smooth over this point ) G04 P0 ( dwell for no time -- G64 should not smooth over this point )
G00 Z35.000000 ( retract ) G00 Z35.000000 ( retract )

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 189 KiB

View File

@@ -4,5 +4,5 @@
<svg width="394.205" height="205.228" viewBox="0 0 8212.6 4275.59" version="1.1" <svg width="394.205" height="205.228" viewBox="0 0 8212.6 4275.59" version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"> xmlns:xlink="http://www.w3.org/1999/xlink">
<g fill-rule="evenodd"><path d="M 169.29,4106.3 L 169.29,169.29 L 8043.31,169.29 L 8043.31,4106.3 L 169.29,4106.3 z " style="fill-opacity:1.000000;fill:rgb(103,198,105);stroke:rgb(0,0,0);stroke-width:2"/></g> <g fill-rule="evenodd"><path d="M 169.291,4106.3 L 169.291,169.291 L 8043.31,169.291 L 8043.31,4106.3 L 169.291,4106.3 z " style="fill-opacity:1.000000;fill:rgb(103,198,105);stroke:rgb(0,0,0);stroke-width:2"/></g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 513 B

After

Width:  |  Height:  |  Size: 518 B

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 189 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 418 KiB

After

Width:  |  Height:  |  Size: 1.5 MiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 191 KiB

After

Width:  |  Height:  |  Size: 882 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 242 KiB

After

Width:  |  Height:  |  Size: 911 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 231 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -14,7 +14,8 @@ output-dir=gcode
# Place a 5x7cm board in the lower right quadrant of the coordinate system # Place a 5x7cm board in the lower right quadrant of the coordinate system
# This will allow you to probe the fixed jaw of the vise for (0,0) on the CNC. # This will allow you to probe the fixed jaw of the vise for (0,0) on the CNC.
mirror-axis=22.54 # set this to half of your board width # For two-sided boards, the PCB needs to be flipped along the axis x=VALUE
mirror-axis=50 # set this to half of your board width
# Drilling # Drilling
zdrill=-2.2 # drilling depth zdrill=-2.2 # drilling depth

33
scripts/move_to_origin.py Normal file
View File

@@ -0,0 +1,33 @@
# move_to_origin.py
from shapely.affinity import translate
def kikitPostprocess(panel, args):
import pcbnew
# Get bounds from the substrate (Shapely polygon, units in nm)
bounds = panel.boardSubstrate.substrates.bounds # (minx, miny, maxx, maxy)
minx = bounds[0]
miny = bounds[1]
dx = int(-minx)
dy = int(-miny)
offset = pcbnew.VECTOR2I(dx, dy)
# Move all board items (footprints, tracks, drawings, zones)
for fp in panel.board.GetFootprints():
fp.Move(offset)
for track in panel.board.GetTracks():
track.Move(offset)
for drawing in panel.board.GetDrawings():
drawing.Move(offset)
for zone in panel.board.Zones():
zone.Move(offset)
# Translate the substrate geometry (this becomes the Edge.Cuts on save)
dx_nm = -bounds[0]
dy_nm = -bounds[1]
panel.boardSubstrate.substrates = translate(
panel.boardSubstrate.substrates,
xoff=dx_nm,
yoff=dy_nm
)

View File

@@ -0,0 +1,124 @@
%TF.GenerationSoftware,KiCad,Pcbnew,9.0.9-9.0.9~ubuntu24.04.1*%
%TF.CreationDate,2026-05-16T13:37:08+02:00*%
%TF.ProjectId,Flow_Controller,466c6f77-5f43-46f6-9e74-726f6c6c6572,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Copper,L2,Bot*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 9.0.9-9.0.9~ubuntu24.04.1) date 2026-05-16 13:37:08*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 Aperture macros list*
%AMRoundRect*
0 Rectangle with rounded corners*
0 $1 Rounding radius*
0 $2 $3 $4 $5 $6 $7 $8 $9 X,Y pos of 4 corners*
0 Add a 4 corners polygon primitive as box body*
4,1,4,$2,$3,$4,$5,$6,$7,$8,$9,$2,$3,0*
0 Add four circle primitives for the rounded corners*
1,1,$1+$1,$2,$3*
1,1,$1+$1,$4,$5*
1,1,$1+$1,$6,$7*
1,1,$1+$1,$8,$9*
0 Add four rect primitives between the rounded corners*
20,1,$1+$1,$2,$3,$4,$5,0*
20,1,$1+$1,$4,$5,$6,$7,0*
20,1,$1+$1,$6,$7,$8,$9,0*
20,1,$1+$1,$8,$9,$2,$3,0*%
G04 Aperture macros list end*
%TA.AperFunction,ComponentPad*%
%ADD10RoundRect,0.250000X0.725000X-0.600000X0.725000X0.600000X-0.725000X0.600000X-0.725000X-0.600000X0*%
%TD*%
%TA.AperFunction,ComponentPad*%
%ADD11O,1.950000X1.700000*%
%TD*%
%TA.AperFunction,ComponentPad*%
%ADD12R,1.700000X1.700000*%
%TD*%
%TA.AperFunction,ComponentPad*%
%ADD13C,1.700000*%
%TD*%
%TA.AperFunction,ViaPad*%
%ADD14C,1.700000*%
%TD*%
%TA.AperFunction,Conductor*%
%ADD15C,0.400000*%
%TD*%
G04 APERTURE END LIST*
D10*
%TO.P,J4,1,Pin_1*%
%TO.N,+5V*%
X46000000Y-17526000D03*
D11*
%TO.P,J4,2,Pin_2*%
%TO.N,GND*%
X46000000Y-15026000D03*
%TO.P,J4,3,Pin_3*%
%TO.N,/ALARM _CNC*%
X46000000Y-12526000D03*
%TD*%
D12*
%TO.P,J1,1,Pin_1*%
%TO.N,GND*%
X18415000Y-45000000D03*
D13*
%TO.P,J1,2,Pin_2*%
%TO.N,+5V*%
X18415000Y-42460000D03*
%TO.P,J1,3,Pin_3*%
%TO.N,/SWIO*%
X18415000Y-39920000D03*
%TD*%
D12*
%TO.P,J3,1,BUTTON_UP*%
%TO.N,Net-(J3-BUTTON_UP)*%
X7366000Y-33900000D03*
D13*
%TO.P,J3,2,BUTTON_DOWN*%
%TO.N,/BUTTON_ADC*%
X7366000Y-31360000D03*
%TO.P,J3,3,BUTTON_#*%
%TO.N,unconnected-(J3-BUTTON_#-Pad3)*%
X7366000Y-28820000D03*
%TO.P,J3,4,BUTTON_\u002A*%
%TO.N,unconnected-(J3-BUTTON_\u002A-Pad4)*%
X7366000Y-26280000D03*
%TO.P,J3,5,I2C_SDA*%
%TO.N,/I2C_SDA*%
X7366000Y-23740000D03*
%TO.P,J3,6,I2C_SCL*%
%TO.N,/I2C_SCL*%
X7366000Y-21200000D03*
%TO.P,J3,7,VCC*%
%TO.N,+5V*%
X7366000Y-18660000D03*
%TO.P,J3,8,GND*%
%TO.N,GND*%
X7366000Y-16120000D03*
%TD*%
D10*
%TO.P,J2,1,Pin_1*%
%TO.N,+5V*%
X30000000Y-44918000D03*
D11*
%TO.P,J2,2,Pin_2*%
%TO.N,GND*%
X30000000Y-42418000D03*
%TO.P,J2,3,Pin_3*%
%TO.N,/RAW_SENSOR*%
X30000000Y-39918000D03*
%TD*%
D14*
%TO.N,/I2C_SCL*%
X14605000Y-21590000D03*
X14732000Y-25400000D03*
%TD*%
D15*
%TO.N,/I2C_SCL*%
X14605000Y-21082000D02*
X14605000Y-25019000D01*
%TD*%
M02*

View File

@@ -0,0 +1,23 @@
%TF.GenerationSoftware,KiCad,Pcbnew,9.0.9-9.0.9~ubuntu24.04.1*%
%TF.CreationDate,2026-05-16T13:37:09+02:00*%
%TF.ProjectId,Flow_Controller,466c6f77-5f43-46f6-9e74-726f6c6c6572,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Profile,NP*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 9.0.9-9.0.9~ubuntu24.04.1) date 2026-05-16 13:37:09*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%TA.AperFunction,Profile*%
%ADD10C,0.050000*%
%TD*%
G04 APERTURE END LIST*
D10*
X0Y0D02*
X50000000Y0D01*
X50000000Y-50000000D01*
X0Y-50000000D01*
X0Y0D01*
M02*

View File

@@ -0,0 +1,87 @@
{
"Header": {
"GenerationSoftware": {
"Vendor": "KiCad",
"Application": "Pcbnew",
"Version": "9.0.9-9.0.9~ubuntu24.04.1"
},
"CreationDate": "2026-05-16T13:37:09+02:00"
},
"GeneralSpecs": {
"ProjectId": {
"Name": "Flow_Controller",
"GUID": "466c6f77-5f43-46f6-9e74-726f6c6c6572",
"Revision": "rev?"
},
"Size": {
"X": 50.05,
"Y": 50.05
},
"LayerNumber": 2,
"BoardThickness": 1.6002,
"Finish": "None"
},
"DesignRules": [
{
"Layers": "Outer",
"PadToPad": 0.127,
"PadToTrack": 0.127,
"TrackToTrack": 0.127,
"MinLineWidth": 0.4,
"TrackToRegion": 0.5,
"RegionToRegion": 0.5
}
],
"FilesAttributes": [
{
"Path": "Flow_Controller-Edge_Cuts.gm1",
"FileFunction": "Profile",
"FilePolarity": "Positive"
}
],
"MaterialStackup": [
{
"Type": "Legend",
"Name": "Top Silk Screen"
},
{
"Type": "SolderPaste",
"Name": "Top Solder Paste"
},
{
"Type": "SolderMask",
"Thickness": 0.01,
"Name": "Top Solder Mask"
},
{
"Type": "Copper",
"Thickness": 0.035,
"Name": "Front"
},
{
"Type": "Dielectric",
"Thickness": 1.5102,
"Material": "FR4",
"Name": "Front/Back",
"Notes": "Type: dielectric layer 1 (from Front to Back)"
},
{
"Type": "Copper",
"Thickness": 0.035,
"Name": "Back"
},
{
"Type": "SolderMask",
"Thickness": 0.01,
"Name": "Bottom Solder Mask"
},
{
"Type": "SolderPaste",
"Name": "Bottom Solder Paste"
},
{
"Type": "Legend",
"Name": "Bottom Silk Screen"
}
]
}

View File

@@ -0,0 +1,47 @@
M48
; DRILL file {KiCad 9.0.9-9.0.9~ubuntu24.04.1} date 2026-05-16T13:37:09+0200
; FORMAT={-:-/ absolute / metric / decimal}
; #@! TF.CreationDate,2026-05-16T13:37:09+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,9.0.9-9.0.9~ubuntu24.04.1
; #@! TF.FileFunction,MixedPlating,1,2
FMAT,2
METRIC
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T1C0.950
; #@! TA.AperFunction,Plated,PTH,ViaDrill
T2C1.000
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T3C1.000
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
T4C3.200
%
G90
G05
T1
X30.0Y-39.918
X30.0Y-42.418
X30.0Y-44.918
X46.0Y-12.526
X46.0Y-15.026
X46.0Y-17.526
T2
X14.605Y-21.59
X14.732Y-25.4
T3
X7.366Y-16.12
X7.366Y-18.66
X7.366Y-21.2
X7.366Y-23.74
X7.366Y-26.28
X7.366Y-28.82
X7.366Y-31.36
X7.366Y-33.9
X18.415Y-39.92
X18.415Y-42.46
X18.415Y-45.0
T4
X4.6Y-4.6
X4.6Y-45.4
X45.4Y-4.6
X45.4Y-45.4
M30

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,11 @@
%TF.GenerationSoftware,KiCad,Pcbnew,9.0.9-9.0.9~ubuntu24.04.1*% %TF.GenerationSoftware,KiCad,Pcbnew,9.0.9-9.0.9~ubuntu24.04.1*%
%TF.CreationDate,2026-05-16T12:12:01+02:00*% %TF.CreationDate,2026-05-16T17:55:52+02:00*%
%TF.ProjectId,Flow_Controller_Panel,466c6f77-5f43-46f6-9e74-726f6c6c6572,rev?*% %TF.ProjectId,Flow_Controller_Panel,466c6f77-5f43-46f6-9e74-726f6c6c6572,rev?*%
%TF.SameCoordinates,Original*% %TF.SameCoordinates,Original*%
%TF.FileFunction,Profile,NP*% %TF.FileFunction,Profile,NP*%
%FSLAX46Y46*% %FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 9.0.9-9.0.9~ubuntu24.04.1) date 2026-05-16 12:12:01* G04 Created by KiCad (PCBNEW 9.0.9-9.0.9~ubuntu24.04.1) date 2026-05-16 17:55:52*
%MOMM*% %MOMM*%
%LPD*% %LPD*%
G01* G01*
@@ -15,12 +15,12 @@ G04 APERTURE LIST*
%TD*% %TD*%
G04 APERTURE END LIST* G04 APERTURE END LIST*
D10* D10*
X98500000Y-20000000D02* X0Y0D02*
X98500000Y-70000000D01* X0Y-50000000D01*
X98500000Y-70000000D02* X0Y-50000000D02*
X198500000Y-70000000D01* X100000000Y-50000000D01*
X198500000Y-20000000D02* X100000000Y0D02*
X98500000Y-20000000D01* X0Y0D01*
X198500000Y-70000000D02* X100000000Y-50000000D02*
X198500000Y-20000000D01* X100000000Y0D01*
M02* M02*

View File

@@ -5,7 +5,7 @@
"Application": "Pcbnew", "Application": "Pcbnew",
"Version": "9.0.9-9.0.9~ubuntu24.04.1" "Version": "9.0.9-9.0.9~ubuntu24.04.1"
}, },
"CreationDate": "2026-05-16T12:12:01+02:00" "CreationDate": "2026-05-16T17:55:52+02:00"
}, },
"GeneralSpecs": { "GeneralSpecs": {
"ProjectId": { "ProjectId": {

View File

@@ -1,7 +1,7 @@
M48 M48
; DRILL file {KiCad 9.0.9-9.0.9~ubuntu24.04.1} date 2026-05-16T12:12:01+0200 ; DRILL file {KiCad 9.0.9-9.0.9~ubuntu24.04.1} date 2026-05-16T17:55:52+0200
; FORMAT={-:-/ absolute / metric / decimal} ; FORMAT={-:-/ absolute / metric / decimal}
; #@! TF.CreationDate,2026-05-16T12:12:01+02:00 ; #@! TF.CreationDate,2026-05-16T17:55:52+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,9.0.9-9.0.9~ubuntu24.04.1 ; #@! TF.GenerationSoftware,Kicad,Pcbnew,9.0.9-9.0.9~ubuntu24.04.1
; #@! TF.FileFunction,MixedPlating,1,2 ; #@! TF.FileFunction,MixedPlating,1,2
FMAT,2 FMAT,2
@@ -20,87 +20,87 @@ T5C3.200
G90 G90
G05 G05
T1 T1
X128.5Y-59.918 X30.0Y-39.918
X128.5Y-62.418 X30.0Y-42.418
X128.5Y-64.918 X30.0Y-44.918
X144.5Y-32.526 X44.55Y-13.0
X144.5Y-35.026 X44.55Y-15.5
X144.5Y-37.526 X44.55Y-18.0
X178.5Y-59.918 X80.0Y-39.918
X178.5Y-62.418 X80.0Y-42.418
X178.5Y-64.918 X80.0Y-44.918
X194.5Y-32.526 X94.55Y-13.0
X194.5Y-35.026 X94.55Y-15.5
X194.5Y-37.526 X94.55Y-18.0
T2 T2
X113.105Y-41.59 X17.75Y-25.675
X113.232Y-45.4 X17.85Y-29.425
X163.105Y-41.59 X67.75Y-25.675
X163.232Y-45.4 X67.85Y-29.425
T3 T3
X105.866Y-36.12 X7.366Y-16.12
X105.866Y-38.66 X7.366Y-18.66
X105.866Y-41.2 X7.366Y-21.2
X105.866Y-43.74 X7.366Y-23.74
X105.866Y-46.28 X7.366Y-26.28
X105.866Y-48.82 X7.366Y-28.82
X105.866Y-51.36 X7.366Y-31.36
X105.866Y-53.9 X7.366Y-33.9
X116.915Y-59.92 X32.766Y-6.096
X116.915Y-62.46 X35.306Y-6.096
X116.915Y-65.0 X37.846Y-6.096
X155.866Y-36.12 X57.366Y-16.12
X155.866Y-38.66 X57.366Y-18.66
X155.866Y-41.2 X57.366Y-21.2
X155.866Y-43.74 X57.366Y-23.74
X155.866Y-46.28 X57.366Y-26.28
X155.866Y-48.82 X57.366Y-28.82
X155.866Y-51.36 X57.366Y-31.36
X155.866Y-53.9 X57.366Y-33.9
X166.915Y-59.92 X82.766Y-6.096
X166.915Y-62.46 X85.306Y-6.096
X166.915Y-65.0 X87.846Y-6.096
T4 T4
X148.5Y-21.0 X50.0Y-1.0
X148.5Y-22.5 X50.0Y-2.5
X148.5Y-24.0 X50.0Y-4.0
X148.5Y-25.5 X50.0Y-5.5
X148.5Y-27.0 X50.0Y-7.0
X148.5Y-28.5 X50.0Y-8.5
X148.5Y-30.0 X50.0Y-10.0
X148.5Y-31.5 X50.0Y-11.5
X148.5Y-33.0 X50.0Y-13.0
X148.5Y-34.5 X50.0Y-14.5
X148.5Y-36.0 X50.0Y-16.0
X148.5Y-37.5 X50.0Y-17.5
X148.5Y-39.0 X50.0Y-19.0
X148.5Y-40.5 X50.0Y-20.5
X148.5Y-42.0 X50.0Y-22.0
X148.5Y-43.5 X50.0Y-23.5
X148.5Y-45.0 X50.0Y-25.0
X148.5Y-46.5 X50.0Y-26.5
X148.5Y-48.0 X50.0Y-28.0
X148.5Y-49.5 X50.0Y-29.5
X148.5Y-51.0 X50.0Y-31.0
X148.5Y-52.5 X50.0Y-32.5
X148.5Y-54.0 X50.0Y-34.0
X148.5Y-55.5 X50.0Y-35.5
X148.5Y-57.0 X50.0Y-37.0
X148.5Y-58.5 X50.0Y-38.5
X148.5Y-60.0 X50.0Y-40.0
X148.5Y-61.5 X50.0Y-41.5
X148.5Y-63.0 X50.0Y-43.0
X148.5Y-64.5 X50.0Y-44.5
X148.5Y-66.0 X50.0Y-46.0
X148.5Y-67.5 X50.0Y-47.5
X148.5Y-69.0 X50.0Y-49.0
T5 T5
X103.1Y-24.6 X4.6Y-4.6
X103.1Y-65.4 X4.6Y-45.4
X143.9Y-24.6 X45.4Y-4.6
X143.9Y-65.4 X45.4Y-45.4
X153.1Y-24.6 X54.6Y-4.6
X153.1Y-65.4 X54.6Y-45.4
X193.9Y-24.6 X95.4Y-4.6
X193.9Y-65.4 X95.4Y-45.4
M30 M30

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"board": { "board": {
"active_layer": 0, "active_layer": 17,
"active_layer_preset": "", "active_layer_preset": "",
"auto_track_width": true, "auto_track_width": true,
"hidden_netclasses": [], "hidden_netclasses": [],
@@ -40,6 +40,7 @@
"footprint_references", "footprint_references",
"tracks", "tracks",
"drc_errors", "drc_errors",
"drawing_sheet",
"bitmaps", "bitmaps",
"pads", "pads",
"zones", "zones",

View File

@@ -321,53 +321,17 @@
"net_colors": null, "net_colors": null,
"netclass_assignments": {}, "netclass_assignments": {},
"netclass_patterns": [ "netclass_patterns": [
{
"netclass": "Board_0-Default",
"pattern": "Board_0-unconnected-(J3-BUTTON_*-Pad4)"
},
{
"netclass": "Board_0-Default",
"pattern": "Board_0-/I2C_SCL"
},
{ {
"netclass": "Board_0-Default", "netclass": "Board_0-Default",
"pattern": "Board_0-/ALARM_TRIGGER" "pattern": "Board_0-/ALARM_TRIGGER"
}, },
{
"netclass": "Board_0-Default",
"pattern": "Board_0-/I2C_SDA"
},
{
"netclass": "Board_0-Default",
"pattern": "Board_0-Net-(Q1-G)"
},
{
"netclass": "Board_0-Default",
"pattern": "Board_0-/RAW_SENSOR"
},
{
"netclass": "Board_0-Default",
"pattern": "Board_0-/ALARM _CNC"
},
{
"netclass": "Board_0-Default",
"pattern": "Board_0-Net-(J3-BUTTON_UP)"
},
{ {
"netclass": "Board_0-Default", "netclass": "Board_0-Default",
"pattern": "Board_0-/FLOW_PULSE_MCU" "pattern": "Board_0-/FLOW_PULSE_MCU"
}, },
{ {
"netclass": "Board_0-Default", "netclass": "Board_0-Default",
"pattern": "Board_0-/BUTTON_ADC" "pattern": "Board_0-/I2C_SDA"
},
{
"netclass": "Board_0-Default",
"pattern": "Board_0-/SWIO"
},
{
"netclass": "Board_0-Default",
"pattern": "Board_0-unconnected-(J3-BUTTON_#-Pad3)"
}, },
{ {
"netclass": "Board_0-Default", "netclass": "Board_0-Default",
@@ -377,10 +341,66 @@
"netclass": "Board_0-Default", "netclass": "Board_0-Default",
"pattern": "Board_0-+5V" "pattern": "Board_0-+5V"
}, },
{
"netclass": "Board_0-Default",
"pattern": "Board_0-/I2C_SCL"
},
{
"netclass": "Board_0-Default",
"pattern": "Board_0-/RAW_SENSOR"
},
{
"netclass": "Board_0-Default",
"pattern": "Board_0-unconnected-(J3-#-Pad6)"
},
{
"netclass": "Board_0-Default",
"pattern": "Board_0-/ALARM _CNC"
},
{
"netclass": "Board_0-Default",
"pattern": "Board_0-Net-(J3-UP)"
},
{
"netclass": "Board_0-Default",
"pattern": "Board_0-/SWIO"
},
{
"netclass": "Board_0-Default",
"pattern": "Board_0-Net-(Q1-G)"
},
{
"netclass": "Board_0-Default",
"pattern": "Board_0-unconnected-(J3-*-Pad5)"
},
{
"netclass": "Board_0-Default",
"pattern": "Board_0-/BUTTON_ADC"
},
{
"netclass": "Board_1-Default",
"pattern": "Board_1-/RAW_SENSOR"
},
{
"netclass": "Board_1-Default",
"pattern": "Board_1-+5V"
},
{
"netclass": "Board_1-Default",
"pattern": "Board_1-GND"
},
{
"netclass": "Board_1-Default",
"pattern": "Board_1-/BUTTON_ADC"
},
{ {
"netclass": "Board_1-Default", "netclass": "Board_1-Default",
"pattern": "Board_1-Net-(Q1-G)" "pattern": "Board_1-Net-(Q1-G)"
}, },
{
"netclass": "Board_1-Default",
"pattern": "Board_1-unconnected-(J3-*-Pad5)"
},
{ {
"netclass": "Board_1-Default", "netclass": "Board_1-Default",
"pattern": "Board_1-/ALARM_TRIGGER" "pattern": "Board_1-/ALARM_TRIGGER"
@@ -391,27 +411,7 @@
}, },
{ {
"netclass": "Board_1-Default", "netclass": "Board_1-Default",
"pattern": "Board_1-/ALARM _CNC" "pattern": "Board_1-Net-(J3-UP)"
},
{
"netclass": "Board_1-Default",
"pattern": "Board_1-unconnected-(J3-BUTTON_*-Pad4)"
},
{
"netclass": "Board_1-Default",
"pattern": "Board_1-/RAW_SENSOR"
},
{
"netclass": "Board_1-Default",
"pattern": "Board_1-Net-(J3-BUTTON_UP)"
},
{
"netclass": "Board_1-Default",
"pattern": "Board_1-/FLOW_PULSE_MCU"
},
{
"netclass": "Board_1-Default",
"pattern": "Board_1-/BUTTON_ADC"
}, },
{ {
"netclass": "Board_1-Default", "netclass": "Board_1-Default",
@@ -419,19 +419,19 @@
}, },
{ {
"netclass": "Board_1-Default", "netclass": "Board_1-Default",
"pattern": "Board_1-GND" "pattern": "Board_1-/FLOW_PULSE_MCU"
}, },
{ {
"netclass": "Board_1-Default", "netclass": "Board_1-Default",
"pattern": "Board_1-+5V" "pattern": "Board_1-unconnected-(J3-#-Pad6)"
},
{
"netclass": "Board_1-Default",
"pattern": "Board_1-unconnected-(J3-BUTTON_#-Pad3)"
}, },
{ {
"netclass": "Board_1-Default", "netclass": "Board_1-Default",
"pattern": "Board_1-/SWIO" "pattern": "Board_1-/SWIO"
},
{
"netclass": "Board_1-Default",
"pattern": "Board_1-/ALARM _CNC"
} }
] ]
}, },