component
Sunon MF40200V1-1000U-G99 · 5 V tachometer fan
Public Made by Adomby adom
Tachometer fan with factory flying leads, an explicit Adom connector harness and gentle GLB state demonstration.
← Commit history
Publish 0.2.2
11 files changed
+556−536
README.md+2cad/harness/M20-1060300.kicad_sym+4−4cad/harness/M20-1060300.svg+124−125cad/harness/M20-1060300_unit1.svg+125−125cad/harness/M20-9990346.kicad_sym+4−4cad/harness/M20-9990346.svg+124−144cad/harness/M20-9990346_unit1.svg+125−125package.json+1−1page.json+23−7provenance/native-eda-verification.json+11−1tools/build_connector_symbols.py+13README.md+2@@ -70,3 +70,5 @@ Mouser number 369-MF40200V1100UG99: $8.45 at quantity 1, 11 in stock when checke Adom-authored code and library geometry: MIT. Manufacturer documents and reference CAD retain their own terms. Corrections should include the disputed asset/hash, dimension or lead function, source evidence and a screenshot in this page's issue tracker. Verification: [native EDA checks](provenance/native-eda-verification.json) and [published hero-cycle evidence](provenance/hero-cycle-verification.json).++Library setup: copy `cad/harness` into the consuming project's `cad/harness` directory and register it as the KiCad footprint-library nickname `AdomFan`. The header symbol binds to that nickname and its model uses `${KIPRJMOD}/cad/harness/M20-9990346-ai-nominal.step`. The cable-housing symbol is explicitly excluded from PCB placement (`on_board no`) while remaining in the BOM. Both connector symbols use a 2.54 mm connection grid.
cad/harness/M20-1060300.kicad_sym+4−4@@ -5,7 +5,7 @@ (pin_names (offset 1.016)) (exclude_from_sim no) (in_bom yes)- (on_board yes)+ (on_board no) (property "Reference" "J" (at 0.00 5.08 0) (effects (font (size 1.27 1.27)))@@ -44,9 +44,9 @@ ) ) (symbol "M20-1060300_1_1"- (pin passive line (at -15.24 -2.00 0) (length 2.54) (name "1") (number "1"))- (pin passive line (at -15.24 -4.54 0) (length 2.54) (name "2") (number "2"))- (pin passive line (at -15.24 -7.08 0) (length 2.54) (name "3") (number "3"))+ (pin passive line (at -15.24 -2.54 0) (length 2.54) (name "1") (number "1"))+ (pin passive line (at -15.24 -5.08 0) (length 2.54) (name "2") (number "2"))+ (pin passive line (at -15.24 -7.62 0) (length 2.54) (name "3") (number "3")) ) ) )
cad/harness/M20-1060300.svg+124−125@@ -946,7 +946,6 @@ stroke-linecap:round; stroke-linejoin:round;"> - </g>@@ -1318,238 +1317,238 @@ L93.1371 99.8365 <path d="M93.1371 99.8365 L93.2097 99.8728 " />-</g><path d="M87.3000 102.0000-L84.7600 102.0000+</g><path d="M87.3000 102.5400+L84.7600 102.5400 " /> </g> <g style="fill:none; stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<text x="88.3160" y="102.6350"+<text x="88.3160" y="103.1750" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="start" opacity="0" stroke-opacity="0">1</text> <g class="stroked-text">-<path d="M89.3838 102.5795-L88.6581 102.5795+<path d="M89.3838 103.1195+L88.6581 103.1195 " />-<path d="M89.0209 102.5795-L89.0209 101.3095+<path d="M89.0209 103.1195+L89.0209 101.8495 " />-<path d="M89.0209 101.3095-L88.9000 101.4910+<path d="M89.0209 101.8495+L88.9000 102.0310 " />-<path d="M88.9000 101.4910-L88.7790 101.6119+<path d="M88.9000 102.0310+L88.7790 102.1519 " />-<path d="M88.7790 101.6119-L88.6581 101.6724+<path d="M88.7790 102.1519+L88.6581 102.2124 " /> </g></g> <g style="fill:none; stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<text x="86.0300" y="101.7460"+<text x="86.0300" y="102.2860" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0" stroke-opacity="0">1</text> <g class="stroked-text">-<path d="M86.3929 101.5825-L85.6672 101.5825+<path d="M86.3929 102.1225+L85.6672 102.1225 " />-<path d="M86.0300 101.5825-L86.0300 100.3125+<path d="M86.0300 102.1225+L86.0300 100.8525 " />-<path d="M86.0300 100.3125-L85.9091 100.4940+<path d="M86.0300 100.8525+L85.9091 101.0340 " />-<path d="M85.9091 100.4940-L85.7881 100.6149+<path d="M85.9091 101.0340+L85.7881 101.1549 " />-<path d="M85.7881 100.6149-L85.6672 100.6754+<path d="M85.7881 101.1549+L85.6672 101.2154 " /> </g></g> <g style="fill:none; stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<path d="M87.3000 104.5400-L84.7600 104.5400+<path d="M87.3000 105.0800+L84.7600 105.0800 " /> </g> <g style="fill:none; stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<text x="88.3160" y="105.1750"+<text x="88.3160" y="105.7150" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="start" opacity="0" stroke-opacity="0">2</text> <g class="stroked-text">-<path d="M88.6581 103.9705-L88.7185 103.9100+<path d="M88.6581 104.5105+L88.7185 104.4500 " />-<path d="M88.7185 103.9100-L88.8395 103.8495+<path d="M88.7185 104.4500+L88.8395 104.3895 " />-<path d="M88.8395 103.8495-L89.1419 103.8495+<path d="M88.8395 104.3895+L89.1419 104.3895 " />-<path d="M89.1419 103.8495-L89.2628 103.9100+<path d="M89.1419 104.3895+L89.2628 104.4500 " />-<path d="M89.2628 103.9100-L89.3233 103.9705+<path d="M89.2628 104.4500+L89.3233 104.5105 " />-<path d="M89.3233 103.9705-L89.3838 104.0914+<path d="M89.3233 104.5105+L89.3838 104.6314 " />-<path d="M89.3838 104.0914-L89.3838 104.2124+<path d="M89.3838 104.6314+L89.3838 104.7524 " />-<path d="M89.3838 104.2124-L89.3233 104.3938+<path d="M89.3838 104.7524+L89.3233 104.9338 " />-<path d="M89.3233 104.3938-L88.5976 105.1195+<path d="M89.3233 104.9338+L88.5976 105.6595 " />-<path d="M88.5976 105.1195-L89.3838 105.1195+<path d="M88.5976 105.6595+L89.3838 105.6595 " /> </g></g> <g style="fill:none; stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<text x="86.0300" y="104.2860"+<text x="86.0300" y="104.8260" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0" stroke-opacity="0">2</text> <g class="stroked-text">-<path d="M85.6672 102.9735-L85.7276 102.9130+<path d="M85.6672 103.5135+L85.7276 103.4530 " />-<path d="M85.7276 102.9130-L85.8486 102.8525+<path d="M85.7276 103.4530+L85.8486 103.3925 " />-<path d="M85.8486 102.8525-L86.1510 102.8525+<path d="M85.8486 103.3925+L86.1510 103.3925 " />-<path d="M86.1510 102.8525-L86.2719 102.9130+<path d="M86.1510 103.3925+L86.2719 103.4530 " />-<path d="M86.2719 102.9130-L86.3324 102.9735+<path d="M86.2719 103.4530+L86.3324 103.5135 " />-<path d="M86.3324 102.9735-L86.3929 103.0944+<path d="M86.3324 103.5135+L86.3929 103.6344 " />-<path d="M86.3929 103.0944-L86.3929 103.2154+<path d="M86.3929 103.6344+L86.3929 103.7554 " />-<path d="M86.3929 103.2154-L86.3324 103.3968+<path d="M86.3929 103.7554+L86.3324 103.9368 " />-<path d="M86.3324 103.3968-L85.6067 104.1225+<path d="M86.3324 103.9368+L85.6067 104.6625 " />-<path d="M85.6067 104.1225-L86.3929 104.1225+<path d="M85.6067 104.6625+L86.3929 104.6625 " /> </g></g> <g style="fill:none; stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<path d="M87.3000 107.0800-L84.7600 107.0800+<path d="M87.3000 107.6200+L84.7600 107.6200 " /> </g> <g style="fill:none; stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<text x="88.3160" y="107.7150"+<text x="88.3160" y="108.2550" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="start" opacity="0" stroke-opacity="0">3</text> <g class="stroked-text">-<path d="M88.5976 106.3895-L89.3838 106.3895+<path d="M88.5976 106.9295+L89.3838 106.9295 " />-<path d="M89.3838 106.3895-L88.9604 106.8733+<path d="M89.3838 106.9295+L88.9604 107.4133 " />-<path d="M88.9604 106.8733-L89.1419 106.8733+<path d="M88.9604 107.4133+L89.1419 107.4133 " />-<path d="M89.1419 106.8733-L89.2628 106.9338+<path d="M89.1419 107.4133+L89.2628 107.4738 " />-<path d="M89.2628 106.9338-L89.3233 106.9943+<path d="M89.2628 107.4738+L89.3233 107.5343 " />-<path d="M89.3233 106.9943-L89.3838 107.1152+<path d="M89.3233 107.5343+L89.3838 107.6552 " />-<path d="M89.3838 107.1152-L89.3838 107.4176+<path d="M89.3838 107.6552+L89.3838 107.9576 " />-<path d="M89.3838 107.4176-L89.3233 107.5386+<path d="M89.3838 107.9576+L89.3233 108.0786 " />-<path d="M89.3233 107.5386-L89.2628 107.5991+<path d="M89.3233 108.0786+L89.2628 108.1391 " />-<path d="M89.2628 107.5991-L89.1419 107.6595+<path d="M89.2628 108.1391+L89.1419 108.1995 " />-<path d="M89.1419 107.6595-L88.7790 107.6595+<path d="M89.1419 108.1995+L88.7790 108.1995 " />-<path d="M88.7790 107.6595-L88.6581 107.5991+<path d="M88.7790 108.1995+L88.6581 108.1391 " />-<path d="M88.6581 107.5991-L88.5976 107.5386+<path d="M88.6581 108.1391+L88.5976 108.0786 " /> </g></g> <g style="fill:none; stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<text x="86.0300" y="106.8260"+<text x="86.0300" y="107.3660" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0" stroke-opacity="0">3</text> <g class="stroked-text">-<path d="M85.6067 105.3925-L86.3929 105.3925+<path d="M85.6067 105.9325+L86.3929 105.9325 " />-<path d="M86.3929 105.3925-L85.9695 105.8763+<path d="M86.3929 105.9325+L85.9695 106.4163 " />-<path d="M85.9695 105.8763-L86.1510 105.8763+<path d="M85.9695 106.4163+L86.1510 106.4163 " />-<path d="M86.1510 105.8763-L86.2719 105.9368+<path d="M86.1510 106.4163+L86.2719 106.4768 " />-<path d="M86.2719 105.9368-L86.3324 105.9973+<path d="M86.2719 106.4768+L86.3324 106.5373 " />-<path d="M86.3324 105.9973-L86.3929 106.1182+<path d="M86.3324 106.5373+L86.3929 106.6582 " />-<path d="M86.3929 106.1182-L86.3929 106.4206+<path d="M86.3929 106.6582+L86.3929 106.9606 " />-<path d="M86.3929 106.4206-L86.3324 106.5416+<path d="M86.3929 106.9606+L86.3324 107.0816 " />-<path d="M86.3324 106.5416-L86.2719 106.6021+<path d="M86.3324 107.0816+L86.2719 107.1421 " />-<path d="M86.2719 106.6021-L86.1510 106.6625+<path d="M86.2719 107.1421+L86.1510 107.2025 " />-<path d="M86.1510 106.6625-L85.7881 106.6625+<path d="M86.1510 107.2025+L85.7881 107.2025 " />-<path d="M85.7881 106.6625-L85.6672 106.6021+<path d="M85.7881 107.2025+L85.6672 107.1421 " />-<path d="M85.6672 106.6021-L85.6067 106.5416+<path d="M85.6672 107.1421+L85.6067 107.0816 " /> </g></g> <g style="fill:none;
cad/harness/M20-1060300_unit1.svg+125−125@@ -8,7 +8,7 @@ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.1" width="34.1376mm" height="23.1394mm" viewBox="0.0000 0.0000 34.1376 23.1394"> -<title>SVG Image created as M20-1060300_unit1.svg date 2026-10-09T11:38:02 </title> +<title>SVG Image created as M20-1060300_unit1.svg date 2026-10-09T11:51:48 </title> <desc>Image generated by Eeschema-SVG </desc> <g style="fill:#000000; fill-opacity:1.0000;stroke:#000000; stroke-opacity:1.0000; stroke-linecap:round; stroke-linejoin:round;" @@ -293,238 +293,238 @@ L11.6030 7.8662 <path d="M11.6030 7.8662 L11.6756 7.9025 " /> -</g><path d="M5.7659 10.0297 -L3.2259 10.0297 +</g><path d="M5.7659 10.5697 +L3.2259 10.5697 " /> </g> <g style="fill:none; stroke:#006464; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<text x="6.7819" y="10.6647" +<text x="6.7819" y="11.2047" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="start" opacity="0" stroke-opacity="0">1</text> <g class="stroked-text"><desc>1</desc> -<path d="M7.8497 10.6092 -L7.1240 10.6092 +<path d="M7.8497 11.1492 +L7.1240 11.1492 " /> -<path d="M7.4868 10.6092 -L7.4868 9.3392 +<path d="M7.4868 11.1492 +L7.4868 9.8792 " /> -<path d="M7.4868 9.3392 -L7.3659 9.5207 +<path d="M7.4868 9.8792 +L7.3659 10.0607 " /> -<path d="M7.3659 9.5207 -L7.2449 9.6416 +<path d="M7.3659 10.0607 +L7.2449 10.1816 " /> -<path d="M7.2449 9.6416 -L7.1240 9.7021 +<path d="M7.2449 10.1816 +L7.1240 10.2421 " /> </g></g> <g style="fill:none; stroke:#A90000; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<text x="4.4959" y="9.6741" +<text x="4.4959" y="10.2141" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0" stroke-opacity="0">1</text> <g class="stroked-text"><desc>1</desc> -<path d="M4.8588 9.5106 -L4.1331 9.5106 +<path d="M4.8588 10.0506 +L4.1331 10.0506 " /> -<path d="M4.4959 9.5106 -L4.4959 8.2406 +<path d="M4.4959 10.0506 +L4.4959 8.7806 " /> -<path d="M4.4959 8.2406 -L4.3750 8.4221 +<path d="M4.4959 8.7806 +L4.3750 8.9621 " /> -<path d="M4.3750 8.4221 -L4.2540 8.5430 +<path d="M4.3750 8.9621 +L4.2540 9.0830 " /> -<path d="M4.2540 8.5430 -L4.1331 8.6035 +<path d="M4.2540 9.0830 +L4.1331 9.1435 " /> </g></g> <g style="fill:none; stroke:#840000; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<path d="M5.7659 12.5697 -L3.2259 12.5697 +<path d="M5.7659 13.1097 +L3.2259 13.1097 " /> </g> <g style="fill:none; stroke:#006464; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<text x="6.7819" y="13.2047" +<text x="6.7819" y="13.7447" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="start" opacity="0" stroke-opacity="0">2</text> <g class="stroked-text"><desc>2</desc> -<path d="M7.1240 12.0002 -L7.1844 11.9397 +<path d="M7.1240 12.5402 +L7.1844 12.4797 " /> -<path d="M7.1844 11.9397 -L7.3054 11.8792 +<path d="M7.1844 12.4797 +L7.3054 12.4192 " /> -<path d="M7.3054 11.8792 -L7.6078 11.8792 +<path d="M7.3054 12.4192 +L7.6078 12.4192 " /> -<path d="M7.6078 11.8792 -L7.7287 11.9397 +<path d="M7.6078 12.4192 +L7.7287 12.4797 " /> -<path d="M7.7287 11.9397 -L7.7892 12.0002 +<path d="M7.7287 12.4797 +L7.7892 12.5402 " /> -<path d="M7.7892 12.0002 -L7.8497 12.1211 +<path d="M7.7892 12.5402 +L7.8497 12.6611 " /> -<path d="M7.8497 12.1211 -L7.8497 12.2421 +<path d="M7.8497 12.6611 +L7.8497 12.7821 " /> -<path d="M7.8497 12.2421 -L7.7892 12.4235 +<path d="M7.8497 12.7821 +L7.7892 12.9635 " /> -<path d="M7.7892 12.4235 -L7.0635 13.1492 +<path d="M7.7892 12.9635 +L7.0635 13.6892 " /> -<path d="M7.0635 13.1492 -L7.8497 13.1492 +<path d="M7.0635 13.6892 +L7.8497 13.6892 " /> </g></g> <g style="fill:none; stroke:#A90000; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<text x="4.4959" y="12.2141" +<text x="4.4959" y="12.7541" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0" stroke-opacity="0">2</text> <g class="stroked-text"><desc>2</desc> -<path d="M4.1331 10.9016 -L4.1935 10.8411 +<path d="M4.1331 11.4416 +L4.1935 11.3811 " /> -<path d="M4.1935 10.8411 -L4.3145 10.7806 +<path d="M4.1935 11.3811 +L4.3145 11.3206 " /> -<path d="M4.3145 10.7806 -L4.6169 10.7806 +<path d="M4.3145 11.3206 +L4.6169 11.3206 " /> -<path d="M4.6169 10.7806 -L4.7378 10.8411 +<path d="M4.6169 11.3206 +L4.7378 11.3811 " /> -<path d="M4.7378 10.8411 -L4.7983 10.9016 +<path d="M4.7378 11.3811 +L4.7983 11.4416 " /> -<path d="M4.7983 10.9016 -L4.8588 11.0225 +<path d="M4.7983 11.4416 +L4.8588 11.5625 " /> -<path d="M4.8588 11.0225 -L4.8588 11.1435 +<path d="M4.8588 11.5625 +L4.8588 11.6835 " /> -<path d="M4.8588 11.1435 -L4.7983 11.3249 +<path d="M4.8588 11.6835 +L4.7983 11.8649 " /> -<path d="M4.7983 11.3249 -L4.0726 12.0506 +<path d="M4.7983 11.8649 +L4.0726 12.5906 " /> -<path d="M4.0726 12.0506 -L4.8588 12.0506 +<path d="M4.0726 12.5906 +L4.8588 12.5906 " /> </g></g> <g style="fill:none; stroke:#840000; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<path d="M5.7659 15.1097 -L3.2259 15.1097 +<path d="M5.7659 15.6497 +L3.2259 15.6497 " /> </g> <g style="fill:none; stroke:#006464; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<text x="6.7819" y="15.7447" +<text x="6.7819" y="16.2847" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="start" opacity="0" stroke-opacity="0">3</text> <g class="stroked-text"><desc>3</desc> -<path d="M7.0635 14.4192 -L7.8497 14.4192 +<path d="M7.0635 14.9592 +L7.8497 14.9592 " /> -<path d="M7.8497 14.4192 -L7.4263 14.9030 +<path d="M7.8497 14.9592 +L7.4263 15.4430 " /> -<path d="M7.4263 14.9030 -L7.6078 14.9030 +<path d="M7.4263 15.4430 +L7.6078 15.4430 " /> -<path d="M7.6078 14.9030 -L7.7287 14.9635 +<path d="M7.6078 15.4430 +L7.7287 15.5035 " /> -<path d="M7.7287 14.9635 -L7.7892 15.0240 +<path d="M7.7287 15.5035 +L7.7892 15.5640 " /> -<path d="M7.7892 15.0240 -L7.8497 15.1449 +<path d="M7.7892 15.5640 +L7.8497 15.6849 " /> -<path d="M7.8497 15.1449 -L7.8497 15.4473 +<path d="M7.8497 15.6849 +L7.8497 15.9873 " /> -<path d="M7.8497 15.4473 -L7.7892 15.5683 +<path d="M7.8497 15.9873 +L7.7892 16.1083 " /> -<path d="M7.7892 15.5683 -L7.7287 15.6288 +<path d="M7.7892 16.1083 +L7.7287 16.1688 " /> -<path d="M7.7287 15.6288 -L7.6078 15.6892 +<path d="M7.7287 16.1688 +L7.6078 16.2292 " /> -<path d="M7.6078 15.6892 -L7.2449 15.6892 +<path d="M7.6078 16.2292 +L7.2449 16.2292 " /> -<path d="M7.2449 15.6892 -L7.1240 15.6288 +<path d="M7.2449 16.2292 +L7.1240 16.1688 " /> -<path d="M7.1240 15.6288 -L7.0635 15.5683 +<path d="M7.1240 16.1688 +L7.0635 16.1083 " /> </g></g> <g style="fill:none; stroke:#A90000; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<text x="4.4959" y="14.7541" +<text x="4.4959" y="15.2941" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0" stroke-opacity="0">3</text> <g class="stroked-text"><desc>3</desc> -<path d="M4.0726 13.3206 -L4.8588 13.3206 +<path d="M4.0726 13.8606 +L4.8588 13.8606 " /> -<path d="M4.8588 13.3206 -L4.4354 13.8044 +<path d="M4.8588 13.8606 +L4.4354 14.3444 " /> -<path d="M4.4354 13.8044 -L4.6169 13.8044 +<path d="M4.4354 14.3444 +L4.6169 14.3444 " /> -<path d="M4.6169 13.8044 -L4.7378 13.8649 +<path d="M4.6169 14.3444 +L4.7378 14.4049 " /> -<path d="M4.7378 13.8649 -L4.7983 13.9254 +<path d="M4.7378 14.4049 +L4.7983 14.4654 " /> -<path d="M4.7983 13.9254 -L4.8588 14.0463 +<path d="M4.7983 14.4654 +L4.8588 14.5863 " /> -<path d="M4.8588 14.0463 -L4.8588 14.3487 +<path d="M4.8588 14.5863 +L4.8588 14.8887 " /> -<path d="M4.8588 14.3487 -L4.7983 14.4697 +<path d="M4.8588 14.8887 +L4.7983 15.0097 " /> -<path d="M4.7983 14.4697 -L4.7378 14.5302 +<path d="M4.7983 15.0097 +L4.7378 15.0702 " /> -<path d="M4.7378 14.5302 -L4.6169 14.5906 +<path d="M4.7378 15.0702 +L4.6169 15.1306 " /> -<path d="M4.6169 14.5906 -L4.2540 14.5906 +<path d="M4.6169 15.1306 +L4.2540 15.1306 " /> -<path d="M4.2540 14.5906 -L4.1331 14.5302 +<path d="M4.2540 15.1306 +L4.1331 15.0702 " /> -<path d="M4.1331 14.5302 -L4.0726 14.4697 +<path d="M4.1331 15.0702 +L4.0726 15.0097 " /> </g></g> <g style="fill:none;
cad/harness/M20-9990346.kicad_sym+4−4@@ -14,7 +14,7 @@ (at 0.00 -12.16 0) (effects (font (size 1.27 1.27))) )- (property "Footprint" ""+ (property "Footprint" "AdomFan:Harwin_M20-9990346_1x03_P2.54mm_Vertical" (at 0 -17.24 0) (effects (font (size 1.27 1.27)) (hide yes)) )@@ -44,9 +44,9 @@ ) ) (symbol "M20-9990346_1_1"- (pin passive line (at -15.24 -2.00 0) (length 2.54) (name "1") (number "1"))- (pin passive line (at -15.24 -4.54 0) (length 2.54) (name "2") (number "2"))- (pin passive line (at -15.24 -7.08 0) (length 2.54) (name "3") (number "3"))+ (pin passive line (at -15.24 -2.54 0) (length 2.54) (name "1") (number "1"))+ (pin passive line (at -15.24 -5.08 0) (length 2.54) (name "2") (number "2"))+ (pin passive line (at -15.24 -7.62 0) (length 2.54) (name "3") (number "3")) ) ) )
cad/harness/M20-9990346.svg+124−144@@ -928,26 +928,6 @@ stroke-linecap:round; stroke-linejoin:round;"> -------------------- @@ -1338,238 +1318,238 @@ L93.1371 99.8365 <path d="M93.1371 99.8365 L93.2097 99.8728 " />-</g><path d="M87.3000 102.0000-L84.7600 102.0000+</g><path d="M87.3000 102.5400+L84.7600 102.5400 " /> </g> <g style="fill:none; stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<text x="88.3160" y="102.6350"+<text x="88.3160" y="103.1750" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="start" opacity="0" stroke-opacity="0">1</text> <g class="stroked-text">-<path d="M89.3838 102.5795-L88.6581 102.5795+<path d="M89.3838 103.1195+L88.6581 103.1195 " />-<path d="M89.0209 102.5795-L89.0209 101.3095+<path d="M89.0209 103.1195+L89.0209 101.8495 " />-<path d="M89.0209 101.3095-L88.9000 101.4910+<path d="M89.0209 101.8495+L88.9000 102.0310 " />-<path d="M88.9000 101.4910-L88.7790 101.6119+<path d="M88.9000 102.0310+L88.7790 102.1519 " />-<path d="M88.7790 101.6119-L88.6581 101.6724+<path d="M88.7790 102.1519+L88.6581 102.2124 " /> </g></g> <g style="fill:none; stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<text x="86.0300" y="101.7460"+<text x="86.0300" y="102.2860" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0" stroke-opacity="0">1</text> <g class="stroked-text">-<path d="M86.3929 101.5825-L85.6672 101.5825+<path d="M86.3929 102.1225+L85.6672 102.1225 " />-<path d="M86.0300 101.5825-L86.0300 100.3125+<path d="M86.0300 102.1225+L86.0300 100.8525 " />-<path d="M86.0300 100.3125-L85.9091 100.4940+<path d="M86.0300 100.8525+L85.9091 101.0340 " />-<path d="M85.9091 100.4940-L85.7881 100.6149+<path d="M85.9091 101.0340+L85.7881 101.1549 " />-<path d="M85.7881 100.6149-L85.6672 100.6754+<path d="M85.7881 101.1549+L85.6672 101.2154 " /> </g></g> <g style="fill:none; stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<path d="M87.3000 104.5400-L84.7600 104.5400+<path d="M87.3000 105.0800+L84.7600 105.0800 " /> </g> <g style="fill:none; stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<text x="88.3160" y="105.1750"+<text x="88.3160" y="105.7150" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="start" opacity="0" stroke-opacity="0">2</text> <g class="stroked-text">-<path d="M88.6581 103.9705-L88.7185 103.9100+<path d="M88.6581 104.5105+L88.7185 104.4500 " />-<path d="M88.7185 103.9100-L88.8395 103.8495+<path d="M88.7185 104.4500+L88.8395 104.3895 " />-<path d="M88.8395 103.8495-L89.1419 103.8495+<path d="M88.8395 104.3895+L89.1419 104.3895 " />-<path d="M89.1419 103.8495-L89.2628 103.9100+<path d="M89.1419 104.3895+L89.2628 104.4500 " />-<path d="M89.2628 103.9100-L89.3233 103.9705+<path d="M89.2628 104.4500+L89.3233 104.5105 " />-<path d="M89.3233 103.9705-L89.3838 104.0914+<path d="M89.3233 104.5105+L89.3838 104.6314 " />-<path d="M89.3838 104.0914-L89.3838 104.2124+<path d="M89.3838 104.6314+L89.3838 104.7524 " />-<path d="M89.3838 104.2124-L89.3233 104.3938+<path d="M89.3838 104.7524+L89.3233 104.9338 " />-<path d="M89.3233 104.3938-L88.5976 105.1195+<path d="M89.3233 104.9338+L88.5976 105.6595 " />-<path d="M88.5976 105.1195-L89.3838 105.1195+<path d="M88.5976 105.6595+L89.3838 105.6595 " /> </g></g> <g style="fill:none; stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<text x="86.0300" y="104.2860"+<text x="86.0300" y="104.8260" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0" stroke-opacity="0">2</text> <g class="stroked-text">-<path d="M85.6672 102.9735-L85.7276 102.9130+<path d="M85.6672 103.5135+L85.7276 103.4530 " />-<path d="M85.7276 102.9130-L85.8486 102.8525+<path d="M85.7276 103.4530+L85.8486 103.3925 " />-<path d="M85.8486 102.8525-L86.1510 102.8525+<path d="M85.8486 103.3925+L86.1510 103.3925 " />-<path d="M86.1510 102.8525-L86.2719 102.9130+<path d="M86.1510 103.3925+L86.2719 103.4530 " />-<path d="M86.2719 102.9130-L86.3324 102.9735+<path d="M86.2719 103.4530+L86.3324 103.5135 " />-<path d="M86.3324 102.9735-L86.3929 103.0944+<path d="M86.3324 103.5135+L86.3929 103.6344 " />-<path d="M86.3929 103.0944-L86.3929 103.2154+<path d="M86.3929 103.6344+L86.3929 103.7554 " />-<path d="M86.3929 103.2154-L86.3324 103.3968+<path d="M86.3929 103.7554+L86.3324 103.9368 " />-<path d="M86.3324 103.3968-L85.6067 104.1225+<path d="M86.3324 103.9368+L85.6067 104.6625 " />-<path d="M85.6067 104.1225-L86.3929 104.1225+<path d="M85.6067 104.6625+L86.3929 104.6625 " /> </g></g> <g style="fill:none; stroke:#4a5568; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<path d="M87.3000 107.0800-L84.7600 107.0800+<path d="M87.3000 107.6200+L84.7600 107.6200 " /> </g> <g style="fill:none; stroke:#484f58; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<text x="88.3160" y="107.7150"+<text x="88.3160" y="108.2550" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="start" opacity="0" stroke-opacity="0">3</text> <g class="stroked-text">-<path d="M88.5976 106.3895-L89.3838 106.3895+<path d="M88.5976 106.9295+L89.3838 106.9295 " />-<path d="M89.3838 106.3895-L88.9604 106.8733+<path d="M89.3838 106.9295+L88.9604 107.4133 " />-<path d="M88.9604 106.8733-L89.1419 106.8733+<path d="M88.9604 107.4133+L89.1419 107.4133 " />-<path d="M89.1419 106.8733-L89.2628 106.9338+<path d="M89.1419 107.4133+L89.2628 107.4738 " />-<path d="M89.2628 106.9338-L89.3233 106.9943+<path d="M89.2628 107.4738+L89.3233 107.5343 " />-<path d="M89.3233 106.9943-L89.3838 107.1152+<path d="M89.3233 107.5343+L89.3838 107.6552 " />-<path d="M89.3838 107.1152-L89.3838 107.4176+<path d="M89.3838 107.6552+L89.3838 107.9576 " />-<path d="M89.3838 107.4176-L89.3233 107.5386+<path d="M89.3838 107.9576+L89.3233 108.0786 " />-<path d="M89.3233 107.5386-L89.2628 107.5991+<path d="M89.3233 108.0786+L89.2628 108.1391 " />-<path d="M89.2628 107.5991-L89.1419 107.6595+<path d="M89.2628 108.1391+L89.1419 108.1995 " />-<path d="M89.1419 107.6595-L88.7790 107.6595+<path d="M89.1419 108.1995+L88.7790 108.1995 " />-<path d="M88.7790 107.6595-L88.6581 107.5991+<path d="M88.7790 108.1995+L88.6581 108.1391 " />-<path d="M88.6581 107.5991-L88.5976 107.5386+<path d="M88.6581 108.1391+L88.5976 108.0786 " /> </g></g> <g style="fill:none; stroke:#ffffff; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;">-<text x="86.0300" y="106.8260"+<text x="86.0300" y="107.3660" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0" stroke-opacity="0">3</text> <g class="stroked-text">-<path d="M85.6067 105.3925-L86.3929 105.3925+<path d="M85.6067 105.9325+L86.3929 105.9325 " />-<path d="M86.3929 105.3925-L85.9695 105.8763+<path d="M86.3929 105.9325+L85.9695 106.4163 " />-<path d="M85.9695 105.8763-L86.1510 105.8763+<path d="M85.9695 106.4163+L86.1510 106.4163 " />-<path d="M86.1510 105.8763-L86.2719 105.9368+<path d="M86.1510 106.4163+L86.2719 106.4768 " />-<path d="M86.2719 105.9368-L86.3324 105.9973+<path d="M86.2719 106.4768+L86.3324 106.5373 " />-<path d="M86.3324 105.9973-L86.3929 106.1182+<path d="M86.3324 106.5373+L86.3929 106.6582 " />-<path d="M86.3929 106.1182-L86.3929 106.4206+<path d="M86.3929 106.6582+L86.3929 106.9606 " />-<path d="M86.3929 106.4206-L86.3324 106.5416+<path d="M86.3929 106.9606+L86.3324 107.0816 " />-<path d="M86.3324 106.5416-L86.2719 106.6021+<path d="M86.3324 107.0816+L86.2719 107.1421 " />-<path d="M86.2719 106.6021-L86.1510 106.6625+<path d="M86.2719 107.1421+L86.1510 107.2025 " />-<path d="M86.1510 106.6625-L85.7881 106.6625+<path d="M86.1510 107.2025+L85.7881 107.2025 " />-<path d="M85.7881 106.6625-L85.6672 106.6021+<path d="M85.7881 107.2025+L85.6672 107.1421 " />-<path d="M85.6672 106.6021-L85.6067 106.5416+<path d="M85.6672 107.1421+L85.6067 107.0816 " /> </g></g> <g style="fill:none;
cad/harness/M20-9990346_unit1.svg+125−125@@ -8,7 +8,7 @@ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.1" width="34.1376mm" height="23.1394mm" viewBox="0.0000 0.0000 34.1376 23.1394"> -<title>SVG Image created as M20-9990346_unit1.svg date 2026-10-09T11:38:03 </title> +<title>SVG Image created as M20-9990346_unit1.svg date 2026-10-09T11:51:49 </title> <desc>Image generated by Eeschema-SVG </desc> <g style="fill:#000000; fill-opacity:1.0000;stroke:#000000; stroke-opacity:1.0000; stroke-linecap:round; stroke-linejoin:round;" @@ -293,238 +293,238 @@ L11.6030 7.8662 <path d="M11.6030 7.8662 L11.6756 7.9025 " /> -</g><path d="M5.7659 10.0297 -L3.2259 10.0297 +</g><path d="M5.7659 10.5697 +L3.2259 10.5697 " /> </g> <g style="fill:none; stroke:#006464; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<text x="6.7819" y="10.6647" +<text x="6.7819" y="11.2047" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="start" opacity="0" stroke-opacity="0">1</text> <g class="stroked-text"><desc>1</desc> -<path d="M7.8497 10.6092 -L7.1240 10.6092 +<path d="M7.8497 11.1492 +L7.1240 11.1492 " /> -<path d="M7.4868 10.6092 -L7.4868 9.3392 +<path d="M7.4868 11.1492 +L7.4868 9.8792 " /> -<path d="M7.4868 9.3392 -L7.3659 9.5207 +<path d="M7.4868 9.8792 +L7.3659 10.0607 " /> -<path d="M7.3659 9.5207 -L7.2449 9.6416 +<path d="M7.3659 10.0607 +L7.2449 10.1816 " /> -<path d="M7.2449 9.6416 -L7.1240 9.7021 +<path d="M7.2449 10.1816 +L7.1240 10.2421 " /> </g></g> <g style="fill:none; stroke:#A90000; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<text x="4.4959" y="9.6741" +<text x="4.4959" y="10.2141" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0" stroke-opacity="0">1</text> <g class="stroked-text"><desc>1</desc> -<path d="M4.8588 9.5106 -L4.1331 9.5106 +<path d="M4.8588 10.0506 +L4.1331 10.0506 " /> -<path d="M4.4959 9.5106 -L4.4959 8.2406 +<path d="M4.4959 10.0506 +L4.4959 8.7806 " /> -<path d="M4.4959 8.2406 -L4.3750 8.4221 +<path d="M4.4959 8.7806 +L4.3750 8.9621 " /> -<path d="M4.3750 8.4221 -L4.2540 8.5430 +<path d="M4.3750 8.9621 +L4.2540 9.0830 " /> -<path d="M4.2540 8.5430 -L4.1331 8.6035 +<path d="M4.2540 9.0830 +L4.1331 9.1435 " /> </g></g> <g style="fill:none; stroke:#840000; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<path d="M5.7659 12.5697 -L3.2259 12.5697 +<path d="M5.7659 13.1097 +L3.2259 13.1097 " /> </g> <g style="fill:none; stroke:#006464; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<text x="6.7819" y="13.2047" +<text x="6.7819" y="13.7447" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="start" opacity="0" stroke-opacity="0">2</text> <g class="stroked-text"><desc>2</desc> -<path d="M7.1240 12.0002 -L7.1844 11.9397 +<path d="M7.1240 12.5402 +L7.1844 12.4797 " /> -<path d="M7.1844 11.9397 -L7.3054 11.8792 +<path d="M7.1844 12.4797 +L7.3054 12.4192 " /> -<path d="M7.3054 11.8792 -L7.6078 11.8792 +<path d="M7.3054 12.4192 +L7.6078 12.4192 " /> -<path d="M7.6078 11.8792 -L7.7287 11.9397 +<path d="M7.6078 12.4192 +L7.7287 12.4797 " /> -<path d="M7.7287 11.9397 -L7.7892 12.0002 +<path d="M7.7287 12.4797 +L7.7892 12.5402 " /> -<path d="M7.7892 12.0002 -L7.8497 12.1211 +<path d="M7.7892 12.5402 +L7.8497 12.6611 " /> -<path d="M7.8497 12.1211 -L7.8497 12.2421 +<path d="M7.8497 12.6611 +L7.8497 12.7821 " /> -<path d="M7.8497 12.2421 -L7.7892 12.4235 +<path d="M7.8497 12.7821 +L7.7892 12.9635 " /> -<path d="M7.7892 12.4235 -L7.0635 13.1492 +<path d="M7.7892 12.9635 +L7.0635 13.6892 " /> -<path d="M7.0635 13.1492 -L7.8497 13.1492 +<path d="M7.0635 13.6892 +L7.8497 13.6892 " /> </g></g> <g style="fill:none; stroke:#A90000; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<text x="4.4959" y="12.2141" +<text x="4.4959" y="12.7541" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0" stroke-opacity="0">2</text> <g class="stroked-text"><desc>2</desc> -<path d="M4.1331 10.9016 -L4.1935 10.8411 +<path d="M4.1331 11.4416 +L4.1935 11.3811 " /> -<path d="M4.1935 10.8411 -L4.3145 10.7806 +<path d="M4.1935 11.3811 +L4.3145 11.3206 " /> -<path d="M4.3145 10.7806 -L4.6169 10.7806 +<path d="M4.3145 11.3206 +L4.6169 11.3206 " /> -<path d="M4.6169 10.7806 -L4.7378 10.8411 +<path d="M4.6169 11.3206 +L4.7378 11.3811 " /> -<path d="M4.7378 10.8411 -L4.7983 10.9016 +<path d="M4.7378 11.3811 +L4.7983 11.4416 " /> -<path d="M4.7983 10.9016 -L4.8588 11.0225 +<path d="M4.7983 11.4416 +L4.8588 11.5625 " /> -<path d="M4.8588 11.0225 -L4.8588 11.1435 +<path d="M4.8588 11.5625 +L4.8588 11.6835 " /> -<path d="M4.8588 11.1435 -L4.7983 11.3249 +<path d="M4.8588 11.6835 +L4.7983 11.8649 " /> -<path d="M4.7983 11.3249 -L4.0726 12.0506 +<path d="M4.7983 11.8649 +L4.0726 12.5906 " /> -<path d="M4.0726 12.0506 -L4.8588 12.0506 +<path d="M4.0726 12.5906 +L4.8588 12.5906 " /> </g></g> <g style="fill:none; stroke:#840000; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<path d="M5.7659 15.1097 -L3.2259 15.1097 +<path d="M5.7659 15.6497 +L3.2259 15.6497 " /> </g> <g style="fill:none; stroke:#006464; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<text x="6.7819" y="15.7447" +<text x="6.7819" y="16.2847" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="start" opacity="0" stroke-opacity="0">3</text> <g class="stroked-text"><desc>3</desc> -<path d="M7.0635 14.4192 -L7.8497 14.4192 +<path d="M7.0635 14.9592 +L7.8497 14.9592 " /> -<path d="M7.8497 14.4192 -L7.4263 14.9030 +<path d="M7.8497 14.9592 +L7.4263 15.4430 " /> -<path d="M7.4263 14.9030 -L7.6078 14.9030 +<path d="M7.4263 15.4430 +L7.6078 15.4430 " /> -<path d="M7.6078 14.9030 -L7.7287 14.9635 +<path d="M7.6078 15.4430 +L7.7287 15.5035 " /> -<path d="M7.7287 14.9635 -L7.7892 15.0240 +<path d="M7.7287 15.5035 +L7.7892 15.5640 " /> -<path d="M7.7892 15.0240 -L7.8497 15.1449 +<path d="M7.7892 15.5640 +L7.8497 15.6849 " /> -<path d="M7.8497 15.1449 -L7.8497 15.4473 +<path d="M7.8497 15.6849 +L7.8497 15.9873 " /> -<path d="M7.8497 15.4473 -L7.7892 15.5683 +<path d="M7.8497 15.9873 +L7.7892 16.1083 " /> -<path d="M7.7892 15.5683 -L7.7287 15.6288 +<path d="M7.7892 16.1083 +L7.7287 16.1688 " /> -<path d="M7.7287 15.6288 -L7.6078 15.6892 +<path d="M7.7287 16.1688 +L7.6078 16.2292 " /> -<path d="M7.6078 15.6892 -L7.2449 15.6892 +<path d="M7.6078 16.2292 +L7.2449 16.2292 " /> -<path d="M7.2449 15.6892 -L7.1240 15.6288 +<path d="M7.2449 16.2292 +L7.1240 16.1688 " /> -<path d="M7.1240 15.6288 -L7.0635 15.5683 +<path d="M7.1240 16.1688 +L7.0635 16.1083 " /> </g></g> <g style="fill:none; stroke:#A90000; stroke-width:0.1524; stroke-opacity:1; stroke-linecap:round; stroke-linejoin:round;"> -<text x="4.4959" y="14.7541" +<text x="4.4959" y="15.2941" textLength="1.4127" font-size="1.6933" lengthAdjust="spacingAndGlyphs" text-anchor="middle" opacity="0" stroke-opacity="0">3</text> <g class="stroked-text"><desc>3</desc> -<path d="M4.0726 13.3206 -L4.8588 13.3206 +<path d="M4.0726 13.8606 +L4.8588 13.8606 " /> -<path d="M4.8588 13.3206 -L4.4354 13.8044 +<path d="M4.8588 13.8606 +L4.4354 14.3444 " /> -<path d="M4.4354 13.8044 -L4.6169 13.8044 +<path d="M4.4354 14.3444 +L4.6169 14.3444 " /> -<path d="M4.6169 13.8044 -L4.7378 13.8649 +<path d="M4.6169 14.3444 +L4.7378 14.4049 " /> -<path d="M4.7378 13.8649 -L4.7983 13.9254 +<path d="M4.7378 14.4049 +L4.7983 14.4654 " /> -<path d="M4.7983 13.9254 -L4.8588 14.0463 +<path d="M4.7983 14.4654 +L4.8588 14.5863 " /> -<path d="M4.8588 14.0463 -L4.8588 14.3487 +<path d="M4.8588 14.5863 +L4.8588 14.8887 " /> -<path d="M4.8588 14.3487 -L4.7983 14.4697 +<path d="M4.8588 14.8887 +L4.7983 15.0097 " /> -<path d="M4.7983 14.4697 -L4.7378 14.5302 +<path d="M4.7983 15.0097 +L4.7378 15.0702 " /> -<path d="M4.7378 14.5302 -L4.6169 14.5906 +<path d="M4.7378 15.0702 +L4.6169 15.1306 " /> -<path d="M4.6169 14.5906 -L4.2540 14.5906 +<path d="M4.6169 15.1306 +L4.2540 15.1306 " /> -<path d="M4.2540 14.5906 -L4.1331 14.5302 +<path d="M4.2540 15.1306 +L4.1331 15.0702 " /> -<path d="M4.1331 14.5302 -L4.0726 14.4697 +<path d="M4.1331 15.0702 +L4.0726 15.0097 " /> </g></g> <g style="fill:none;
package.json+1−1@@ -5,7 +5,7 @@ "kind": "component", "title": "Sunon MF40200V1-1000U-G99 \u00b7 5 V tachometer fan", "brief": "Tachometer fan with factory flying leads, an explicit Adom connector harness and gentle GLB state demonstration.",- "version": "0.2.1",+ "version": "0.2.2", "because": "Exact MPN and series searches returned no component record; reusable manufacturer fan distinct from its consuming project.", "hero": { "type": "billboard",
page.json+23−7@@ -3,9 +3,9 @@ "slug": "mf40200v1-1000u-g99", "type": "component", "kind": "component",- "title": "Sunon MF40200V1-1000U-G99 \u00b7 5 V tachometer fan",+ "title": "Sunon MF40200V1-1000U-G99 · 5 V tachometer fan", "brief": "Tachometer fan with factory flying leads, an explicit Adom connector harness and gentle GLB state demonstration.",- "version": "0.2.1",+ "version": "0.2.2", "because": "Exact MPN and series searches returned no component record; reusable manufacturer fan distinct from its consuming project.", "hero": { "type": "billboard",@@ -60,9 +60,7 @@ "fan RPM states" ], "license": "MIT",- "visibility": {- "public": true- },+ "visibility": "public", "author": { "name": "John Lauer", "email": "[email protected]"@@ -76,5 +74,23 @@ "source": { "tool": "Sunon", "url": "https://www.sunonusa.com/product/dc-fan-40x40x20-133/"- }-}+ },+ "description": "Tachometer fan with factory flying leads, an explicit Adom connector harness and gentle GLB state demonstration.",+ "files": [+ "README.md",+ "LICENSE",+ "page.json",+ "states.json",+ "mf40200v1-1000u-g99-hero.glb",+ "cad/**",+ "states/**",+ "skills/**",+ "docs/**",+ "provenance/**",+ "tools/**",+ "tests/**",+ "viewer/**",+ "artwork/**"+ ],+ "dependencies": {}+}
provenance/native-eda-verification.json+11−1@@ -26,5 +26,15 @@ "M20-1060300": "Native KiCad 10.0.5 SVG export passed", "M20-9990346": "Native KiCad 10.0.5 SVG export passed" },- "outputTransfer": "Native exports rerun into a persistent isolated host folder, then pulled with Bridge"+ "outputTransfer": "Native exports rerun into a persistent isolated host folder, then pulled with Bridge",+ "symbolPolicy": {+ "gridMm": 2.54,+ "housingOnBoard": false,+ "headerFootprint": "AdomFan:Harwin_M20-9990346_1x03_P2.54mm_Vertical",+ "nativeReexport": "Passed after grid and on-board flag corrections"+ },+ "symbolSha256": {+ "M20-1060300": "3a08d0a40e0201b06c59098e96f3ac0d4c0ea26ef517cf19435051446fcbb214",+ "M20-9990346": "fa60ad7b07cd9e4965b7f1622d5d5914331ac88588ef6cf51cc773825e0516b6"+ } }
tools/build_connector_symbols.pyadded+13@@ -0,0 +1,13 @@+"""Generate conventional connector symbols, then enforce the documented board/grid policy."""+from pathlib import Path+import subprocess+P=Path(__file__).resolve().parents[1]/'cad/harness'+for name in ['M20-1060300','M20-9990346']:+ subprocess.run(['adom-symbol','create','--file',str(P/(name+'-symbol-input.json')),'--out',str(P),'--no-chip-outline'],check=True)+ f=P/(name+'.kicad_sym');s=f.read_text()+ for old,new in [('-2.00','-2.54'),('-4.54','-5.08'),('-7.08','-7.62')]:s=s.replace('(at -15.24 '+old+' 0)','(at -15.24 '+new+' 0)')+ if name=='M20-1060300':s=s.replace('(on_board yes)','(on_board no)')+ else:s=s.replace('(property "Footprint" ""','(property "Footprint" "AdomFan:Harwin_M20-9990346_1x03_P2.54mm_Vertical"')+ f.write_text(s)+ subprocess.run(['adom-symbol','render','--file',str(f),'--out',str(P/(name+'.svg'))],check=True)+ subprocess.run(['adom-symbol','preview','--file',str(f),'--out',str(P/(name+'-viewer.html'))],check=True)