Files
claude-skills/pcb-ai-engineer/references/review_checklists.md
T
2026-03-21 19:36:11 +03:00

5.4 KiB
Raw Blame History

Review Checklists

1. Schematic Review Checklist

Walk through every item. Mark each as PASS / FAIL / N/A.

Power

  • Every VDD/AVDD/VDDIO pin has a dedicated 100nF decoupling cap (placed close)
  • Bulk capacitor (10µF+) present on each power rail at regulator output
  • VDDA isolated with ferrite bead + dedicated caps (if MCU has analog supply)
  • VCAP pin has capacitor per datasheet value (STM32 specific)
  • All GND pins connected (including exposed thermal pad on QFN/DFN)
  • Power sequencing considered for multi-rail designs
  • Regulator input/output caps meet datasheet ESR requirements
  • Input protection present (TVS, fuse, reverse polarity) if external power
  • USB VBUS has resettable fuse (500mA for device, per USB spec)
  • Battery circuit has undervoltage lockout if applicable

Reset & Boot

  • NRST has 100nF cap to GND (RC filter for noise rejection)
  • NRST has external pull-up (10kΩ typical) if not using reset IC
  • BOOT0 pin pulled to defined state (typically GND via 10kΩ)
  • BOOT1/other boot config pins at correct state for normal operation
  • ESP32 EN pin: 10kΩ pull-up + 1µF cap (slow rise for reliable boot)
  • ESP32 GPIO0: pull-up for normal boot, button to GND for programming

Clock

  • Crystal load capacitors calculated from datasheet formula: CL = (C1 × C2) / (C1 + C2) + Cstray, where Cstray ≈ 3-5pF
  • Crystal placed close to MCU oscillator pins (< 10mm trace length)
  • Ground guard ring / pour around crystal area (EMI reduction)
  • 32.768 kHz RTC crystal present if RTC needed (with its own load caps)

Signal Integrity

  • USB D+/D- have ESD protection diodes (TPD2E001, PRTR5V0U2X, or similar)
  • USB D+/D- traces are 90Ω differential impedance (controlled, matched length)
  • I2C bus has external pull-up resistors (4.7kΩ default; 2.2kΩ for fast-mode+)
  • SPI chip-select lines have pull-ups (prevent floating during boot)
  • UART TX/RX: series resistor (22-100Ω) if crossing board boundaries
  • High-speed signals (>10 MHz) have series termination resistors
  • CAN bus: 120Ω termination resistor at each end of bus
  • Analog inputs: RC low-pass filter if reading noisy signals

GPIO & Unused Pins

  • No floating input pins (all unused GPIO tied high/low or set as output)
  • LED current-limiting resistors present and correctly calculated
  • Button/switch inputs have debounce circuit (RC or software)
  • Test points on critical signals (power rails, I2C, SPI, UART)

Connectors

  • Programming/debug header present (SWD for ARM, JTAG if needed)
  • USB connector shield connected to GND (directly or via 1MΩ + 4.7nF)
  • All connector pins assigned and documented
  • Mechanical mounting holes present (M3 at corners, connected to GND or float)

2. DRC/ERC Checklist (pre-KiCad)

These should be verified in the Python code before generating KiCad files:

  • Every Component has symbol, ref, and footprint defined
  • No duplicate reference designators (R1, R1 conflict)
  • Every net has at least two connections (no dangling nets)
  • Power nets (VCC, GND) are explicitly named and consistent
  • No unconnected component pins that should be connected
  • Component values are specified where needed (resistors, capacitors)

Post-KiCad-generation (in KiCad ERC):

  • Run ERC in KiCad schematic editor — zero errors
  • Run DRC in KiCad PCB editor — zero errors
  • Check for unconnected pads in PCB
  • Verify copper pour connectivity (GND plane continuous)

3. BOM Review Checklist

  • All components have manufacturer part number (MPN) or generic value
  • All components have valid KiCad footprint assigned
  • No DNP (Do Not Place) components without documented reason
  • Passive component values are standard E-series (E12/E24/E96)
  • Capacitor dielectric specified (X7R/X5R for decoupling, C0G for precision)
  • Capacitor voltage rating ≥ 2× operating voltage (derating)
  • Resistor power rating adequate for application
  • Check JLCPCB basic parts availability (cost optimization)
  • Second-source alternatives identified for critical components
  • Total unique part count minimized (fewer unique values = cheaper assembly)

4. Manufacturing Review (pre-Gerber)

  • Board outline defined with correct dimensions
  • Minimum trace width / spacing meets fab capability (typically 0.15mm/0.15mm)
  • Via size meets fab capability (typically 0.3mm drill, 0.6mm annular ring)
  • Silkscreen text readable (min 0.8mm height, 0.15mm line width)
  • Component courtyard clearances respected (no overlaps)
  • Fiducial marks present if using pick-and-place assembly
  • Panel design considered if small board (add mouse bites / V-score lines)

How to Use These Checklists

When generating or reviewing a circuit:

  1. Complete the Schematic Review after writing all Python circuit files.
  2. Run DRC/ERC checks both in Python (structural) and in KiCad (electrical).
  3. Do BOM Review after generate_bom().
  4. Do Manufacturing Review after PCB layout, before generating Gerber files.

Report findings as:

  • 🔴 CRITICAL: Must fix before fabrication (missing decoupling, floating pins, wrong voltage)
  • 🟡 WARNING: Should fix, risk of intermittent issues (marginal thermal, no test points)
  • 🟢 SUGGESTION: Nice to have, improves robustness (second-source parts, extra test points)