Back to catalog

kicad-verification-drf

Skill from synqing/K1.hardware

  • Category: discovered
  • Tags: github, community
  • Version: 1.0.0
  • Author: walid
  • Downloads: 0
  • Updated: 2025-11-22

Download the latest version (v1.0.0) from this page.

SKILL.md

# Verification & Manufacturability (DRC + DFM)

## Purpose
Validates **completed PCB design** against electrical (DRC) and manufacturing (DFM) rules. Gate for board release.

## When Auto-Activate
**Keywords:** `DRC`, `design review`, `validation`, `manufacturability`, `DFM`, `compliance check`, `electrical check`

## Core Workflow

### 1. Run Electrical DRC
```bash
kicad-cli pcb drc k1_lightwave_routed.kicad_pcb --output json > drc-report.json
```

Check:
- Trace clearance ✓
- Via size ✓
- Unconnected nets ✓
- Copper-to-edge clearance ✓
- Polygon isolation ✓

### 2. Run Manufacturability Checks (DFM)

**Stackup validation:**
- Layer count matches spec (4-layer) ✓
- Impedance targets met (diff pairs) ✓
- Via aspect ratio acceptable (<6:1) ✓

**Component placement:**
- No components overlapping ✓
- No parts too close to edges (<2mm) ✓
- No hand-soldered BGAs (not allowed on JLCPCB) ✓

**Routing:**
- No acute angles (router generated >45°) ✓
- Minimum trace width met (0.2mm) ✓
- No isolated copper islands (shorts risk) ✓

**Power integrity:**
- Power plane coverage >70% ✓
- Via stitching adequate ✓
- Return path clear ✓

### 3. Assembly Checklist
- [ ] BOM ≥95% available at LCSC
- [ ] All parts JLCPCB assembly-compatible
- [ ] Fiducials placed (1 per side minimum)
- [ ] Test points accessible
- [ ] Connector clearance adequate

### 4. Thermal Analysis
- Peak dissipation <5W ✓
- Component temp < 50°C (at 25°C ambient) ✓
- Heatsink required? No ✓

### 5. Signal Integrity Spot-Check
- High-speed nets (I2S, SPI) traced on internal layers ✓
- Return path adjacent ✓
- No long stubs ✓

### 6. Generate Verification Report
```json
{
  "drc": {"violations": 0, "status": "PASS"},
  "dfm_stackup": {"status": "PASS"},
  "dfm_assembly": {"status": "PASS", "notes": "All parts JLCPCB-ready"},
  "dfm_routing": {"status": "PASS"},
  "thermal": {"peak_watts": 2.3, "status": "PASS"},
  "signal_integrity": {"status": "PASS", "note": "Spot-check OK"},
  "overall": "READY FOR MANUFACTURING ✅"
}
```

### 7. Commit Release
```bash
git tag -a v1.0-pcb -m "PCB design complete: DRC=0, DFM=PASS, ready for fab"
git push origin v1.0-pcb
```

---

## Tool Calls

**MCP Tools:**
- `pcb_drc()` (kicad-cli) — Run full DRC
- `rag_query()` — Fetch DFM rules for JLCPCB (panelization, assembly constraints, etc.)

---

## Outputs

1. **verification-report.json** — Structured pass/fail for all checks
2. **assembly-checklist.md** — Human-readable assembly notes
3. **release-notes.md** — Summary for manufacturing team

---

## Example Output

```
✅ DESIGN VERIFICATION COMPLETE:

  Electrical (DRC):
    ✅ Clearance: 0 violations
    ✅ Via sizing: 0 violations
    ✅ Copper integrity: 0 violations

  Manufacturing (DFM):
    ✅ Stackup: 4-layer JLC standard, impedance OK
    ✅ Assembly: All parts JLCPCB-compatible
    ✅ Routing: >0.2mm clearance, no acute angles
    ✅ Thermal: 2.3W max, passive cooling adequate

  Assembly:
    ✅ BOM: 35/35 parts in stock at LCSC
    ✅ Fiducials: 2 per side
    ✅ Test points: GPIO debug pads accessible

  Signal Integrity:
    ✅ I2S clocks: internal layers, adjacent return
    ✅ SPI data: short traces, minimal stub

  ✅ OVERALL STATUS: READY FOR MANUFACTURING

→ Ready for Publisher (next step)
```

---

## Integration
- **Publisher** uses verification report to gate Gerber generation
- Manufacturing team uses assembly checklist

---

## Notes
- DFM rules are **JLCPCB-specific** (should parameterize by target fab)
- Thermal analysis is **simplified** (real design needs FEA for high power)
- Signal integrity is **spot-check only** (full SI needs 3D EM solver)