skill
Solder Jet Sizer
Public Made by Adomby adom
Interactive widget that visualizes how solder jet paste dots (250-800 um) pack into footprint pads. Real-time sliders for dot diameter and spacing, with coverage stats and per-pad tooltips.
{
"schema_version": 1,
"type": "skill",
"slug": "solder-jet-sizer",
"title": "Solder Jet Sizer",
"brief": "Interactive widget that visualizes how solder jet paste dots (250-800 um) pack into footprint pads. Real-time sliders for dot diameter and spacing, with coverage stats and per-pad tooltips.",
"version": "1.0.0",
"tags": [],
"license": "MIT",
"source_path": "SKILL.md",
"readme": "# Solder Jet Sizer\n\nInteractive widget for visualizing solder jet paste dot packing on footprint pads. Designed for solder jet printers that deposit individual paste dots (250-800 µm diameter) onto SMD pads.\n\n## What It Does\n\nGiven a KiCad footprint (`.kicad_mod`), the Solder Jet Sizer:\n\n1. **Parses pad geometry** — extracts all SMD pads with position, size, shape, and rotation\n2. **Renders pads as 2D SVG** — supports rect, roundrect, oval, and circle pad shapes\n3. **Overlays solder jet dots** — packs dots into each pad using a grid algorithm\n4. **Real-time sliders** — adjust dot diameter (250-800 µm) and inter-dot spacing (0-200 µm)\n5. **Stats dashboard** — total dots, avg per pad, area coverage %, center-to-center spacing\n6. **Per-pad tooltips** — hover any pad to see its dot layout (cols × rows) and individual coverage\n\n## Key Insight\n\nThe widget immediately reveals the **maximum usable dot size** for any footprint. For example, SOT-23 pads are 0.6mm tall — so any dot larger than 600µm won't fit. Drag the slider past this point and dots simply disappear, making the constraint viscerally obvious.\n\n## Coverage Thresholds\n\n| Coverage | Color | Meaning |\n|----------|-------|---------|\n| ≥ 60% | Green | Good paste coverage |\n| ≥ 35% | Yellow | Marginal — may need optimization |\n| < 35% | Red | Insufficient paste for reliable joints |\n\n## Dot Packing Algorithm\n\nFor each SMD pad:\n1. Inset by dot radius from all edges (dots stay within pad boundary)\n2. Compute available width/height after inset\n3. Calculate grid: `nCols = floor(availW / spacing) + 1`, same for rows\n4. Center the grid on the pad\n5. Apply pad rotation to dot positions\n6. If dot diameter > min(pad width, pad height) → 0 dots fit\n\n## Usage\n\nAsk Claude: *\"Run the solder jet sizer on my footprint\"* with any `.kicad_mod` file. Or select **Manufacturing → JetSizer** from the AV dropdown for a demo.\n\nResults auto-save to `project-content/solder-jet-sizer/` with both interactive HTML and JSON metadata (including the computed `maxDotForFit` value).\n\n## Interactive Controls\n\n- **Dot diameter slider** — 250 to 800 µm in 10 µm steps\n- **Spacing slider** — 0 to 200 µm gap between dots\n- **Labels toggle** — show/hide pad numbers\n- **Grid toggle** — show/hide 0.5mm background grid\n- **Zoom/pan** — mouse wheel + drag\n- **Pad tooltips** — hover for per-pad dot count and coverage\n\n## Printer Specs\n\n- Minimum dot: 250 µm (0.25mm)\n- Maximum dot: 800 µm (0.80mm)\n- These match typical solder jet printer capabilities",
"author": {
"name": "Kyle Bergstedt",
"email": "[email protected]"
},
"visibility": {
"public": true
},
"hero": null,
"sample_prompts": [],
"discovery_triggers": [],
"discovery_pitch": null,
"metadata": {},
"created_at": "2026-05-28T05:30:17.143Z",
"updated_at": "2026-05-28T05:30:17.143Z",
"sub_skills": [],
"parent_app": null,
"org": "adom"
}