imrishabh18/rp2040-motor-controller

An RP2040-based NEMA17 stepper-motor controller with USB-C programming and PD motor-power negotiation, DRV8825 dual H-bridge drive, current/temperature telemetry, protected power filtering, status RGB LED, buzzer alarm, and optional magnetic encoder.

Version
1.0.42
License
unset
Stars
3

engineering/jlc-ic-footprint-audit.json

{
  "checked_date": "2026-09-26",
  "scope": "MCU and active components; standard passive footprint strings retained at user request",
  "supplier_source": "JLCsearch / EasyEDA through tsci import --jlcpcb",
  "pad_verification": [
    {
      "name": "U1",
      "code": "C2040",
      "pins_current": 57,
      "pins_import": 57,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 3.580361673049448e-15,
      "mean_pin_copper_iou": 0.9999999999999827,
      "min_pin_copper_iou": 0.9999999999999691
    },
    {
      "name": "U2",
      "code": "C2843335",
      "pins_current": 9,
      "pins_import": 9,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 4.965068306494546e-16,
      "mean_pin_copper_iou": 0.9999999999999977,
      "min_pin_copper_iou": 0.9999999999999871
    },
    {
      "name": "U3",
      "code": "C23380830",
      "pins_current": 5,
      "pins_import": 5,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 2.2644195468014703e-15,
      "mean_pin_copper_iou": 0.9999999999999931,
      "min_pin_copper_iou": 0.9999999999999892
    },
    {
      "name": "DRIVER",
      "code": "C81582",
      "pins_current": 29,
      "pins_import": 29,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 0.0007693591137401716,
      "mean_pin_copper_iou": 0.9910574080902973,
      "min_pin_copper_iou": 0.9907399638485352
    },
    {
      "name": "U_PD",
      "code": "C970725",
      "pins_current": 11,
      "pins_import": 11,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 2.3733857464271978e-15,
      "mean_pin_copper_iou": 0.9999999999999969,
      "min_pin_copper_iou": 0.9999999999999926
    },
    {
      "name": "Q_PD_ENABLE",
      "code": "C85202",
      "pins_current": 3,
      "pins_import": 3,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 1.5423711185402538e-15,
      "mean_pin_copper_iou": 0.999999999999997,
      "min_pin_copper_iou": 0.9999999999999957
    },
    {
      "name": "U_TEMP",
      "code": "C99269",
      "pins_current": 6,
      "pins_import": 6,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 1.9389211565826713e-15,
      "mean_pin_copper_iou": 0.9999999999999928,
      "min_pin_copper_iou": 0.999999999999989
    },
    {
      "name": "U_THERM_GATE",
      "code": "C7666",
      "pins_current": 5,
      "pins_import": 5,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 8.08254562088053e-16,
      "mean_pin_copper_iou": 0.9999999999999947,
      "min_pin_copper_iou": 0.9999999999999942
    },
    {
      "name": "BZ1",
      "code": "C7544813",
      "pins_current": 4,
      "pins_import": 4,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 3.233018248352212e-15,
      "mean_pin_copper_iou": 0.9999999999999977,
      "min_pin_copper_iou": 0.9999999999999961
    },
    {
      "name": "Q_BUZZER",
      "code": "C20917",
      "pins_current": 3,
      "pins_import": 3,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 6.753223014464259e-16,
      "mean_pin_copper_iou": 0.9999999999999929,
      "min_pin_copper_iou": 0.9999999999999928
    },
    {
      "name": "U_CURRENT_A",
      "code": "C19712054",
      "pins_current": 8,
      "pins_import": 8,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 1.6504651808933464e-15,
      "mean_pin_copper_iou": 0.9999999999999983,
      "min_pin_copper_iou": 0.999999999999997
    },
    {
      "name": "U_CURRENT_B",
      "code": "C19712054",
      "pins_current": 8,
      "pins_import": 8,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 1.457101633618084e-15,
      "mean_pin_copper_iou": 0.9999999999999952,
      "min_pin_copper_iou": 0.9999999999999919
    },
    {
      "name": "D_STATUS",
      "code": "C458749",
      "pins_current": 4,
      "pins_import": 4,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 2.5365619957353453e-15,
      "mean_pin_copper_iou": 0.9999999999999898,
      "min_pin_copper_iou": 0.9999999999999892
    },
    {
      "name": "Q_STATUS_R",
      "code": "C509876",
      "pins_current": 3,
      "pins_import": 3,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 9.992007221626409e-16,
      "mean_pin_copper_iou": 0.9999999999999982,
      "min_pin_copper_iou": 0.9999999999999979
    },
    {
      "name": "Q_STATUS_G",
      "code": "C509876",
      "pins_current": 3,
      "pins_import": 3,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 1.967320211922957e-15,
      "mean_pin_copper_iou": 0.9999999999999947,
      "min_pin_copper_iou": 0.9999999999999934
    },
    {
      "name": "Q_STATUS_B",
      "code": "C509876",
      "pins_current": 3,
      "pins_import": 3,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 1.916542091876757e-15,
      "mean_pin_copper_iou": 0.9999999999999948,
      "min_pin_copper_iou": 0.999999999999993
    },
    {
      "name": "U_ENCODER",
      "code": "C79815",
      "pins_current": 8,
      "pins_import": 8,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 4.002966042486721e-15,
      "mean_pin_copper_iou": 0.9999999999999971,
      "min_pin_copper_iou": 0.9999999999999944
    }
  ],
  "previous_pad_verification": [
    {
      "name": "U1",
      "code": "C2040",
      "pins_current": 57,
      "pins_import": 57,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 0.0007331343917174611,
      "mean_pin_copper_iou": 0.9964933754753276,
      "min_pin_copper_iou": 0.992643193119193
    },
    {
      "name": "U2",
      "code": "C2843335",
      "pins_current": 9,
      "pins_import": 9,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 6.477653896278397e-05,
      "mean_pin_copper_iou": 0.999570043268992,
      "min_pin_copper_iou": 0.9995096595123705
    },
    {
      "name": "U3",
      "code": "C23380830",
      "pins_current": 5,
      "pins_import": 5,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 0.00019335563089587692,
      "mean_pin_copper_iou": 0.9995476404992683,
      "min_pin_copper_iou": 0.9993205092308763
    },
    {
      "name": "DRIVER",
      "code": "C81582",
      "pins_current": 29,
      "pins_import": 29,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 0.0007693591137401716,
      "mean_pin_copper_iou": 0.9910574080902973,
      "min_pin_copper_iou": 0.9907399638485352
    },
    {
      "name": "U_PD",
      "code": "C970725",
      "pins_current": 11,
      "pins_import": 11,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 2.3733857464271978e-15,
      "mean_pin_copper_iou": 0.9999999999999969,
      "min_pin_copper_iou": 0.9999999999999926
    },
    {
      "name": "Q_PD_ENABLE",
      "code": "C85202",
      "pins_current": 3,
      "pins_import": 3,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 180,
      "max_pad_center_error_mm": 0.01664666666666892,
      "mean_pin_copper_iou": 0.6030150814354124,
      "min_pin_copper_iou": 0.6030150814354124
    },
    {
      "name": "U_TEMP",
      "code": "C99269",
      "pins_current": 6,
      "pins_import": 6,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 1.9389211565826713e-15,
      "mean_pin_copper_iou": 0.9999999999999928,
      "min_pin_copper_iou": 0.999999999999989
    },
    {
      "name": "U_THERM_GATE",
      "code": "C7666",
      "pins_current": 5,
      "pins_import": 5,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 8.08254562088053e-16,
      "mean_pin_copper_iou": 0.9999999999999947,
      "min_pin_copper_iou": 0.9999999999999942
    },
    {
      "name": "BZ1",
      "code": "C7544813",
      "pins_current": 4,
      "pins_import": 4,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 3.233018248352212e-15,
      "mean_pin_copper_iou": 0.9999999999999977,
      "min_pin_copper_iou": 0.9999999999999961
    },
    {
      "name": "Q_BUZZER",
      "code": "C20917",
      "pins_current": 3,
      "pins_import": 3,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 6.753223014464259e-16,
      "mean_pin_copper_iou": 0.9999999999999929,
      "min_pin_copper_iou": 0.9999999999999928
    },
    {
      "name": "U_CURRENT_A",
      "code": "C19712054",
      "pins_current": 8,
      "pins_import": 8,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 1.6504651808933464e-15,
      "mean_pin_copper_iou": 0.9999999999999983,
      "min_pin_copper_iou": 0.999999999999997
    },
    {
      "name": "U_CURRENT_B",
      "code": "C19712054",
      "pins_current": 8,
      "pins_import": 8,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 1.457101633618084e-15,
      "mean_pin_copper_iou": 0.9999999999999952,
      "min_pin_copper_iou": 0.9999999999999919
    },
    {
      "name": "D_STATUS",
      "code": "C458749",
      "pins_current": 4,
      "pins_import": 4,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 2.5365619957353453e-15,
      "mean_pin_copper_iou": 0.9999999999999898,
      "min_pin_copper_iou": 0.9999999999999892
    },
    {
      "name": "Q_STATUS_R",
      "code": "C509876",
      "pins_current": 3,
      "pins_import": 3,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 9.992007221626409e-16,
      "mean_pin_copper_iou": 0.9999999999999982,
      "min_pin_copper_iou": 0.9999999999999979
    },
    {
      "name": "Q_STATUS_G",
      "code": "C509876",
      "pins_current": 3,
      "pins_import": 3,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 1.967320211922957e-15,
      "mean_pin_copper_iou": 0.9999999999999947,
      "min_pin_copper_iou": 0.9999999999999934
    },
    {
      "name": "Q_STATUS_B",
      "code": "C509876",
      "pins_current": 3,
      "pins_import": 3,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 1.916542091876757e-15,
      "mean_pin_copper_iou": 0.9999999999999948,
      "min_pin_copper_iou": 0.999999999999993
    },
    {
      "name": "U_ENCODER",
      "code": "C79815",
      "pins_current": 8,
      "pins_import": 8,
      "matching_pin_numbers": true,
      "supplier_to_current_rotation": 0,
      "max_pad_center_error_mm": 4.002966042486721e-15,
      "mean_pin_copper_iou": 0.9999999999999971,
      "min_pin_copper_iou": 0.9999999999999944
    }
  ],
  "new_imports": [
    {
      "path": "imports/jlc/RP2040.tsx",
      "sha256": "1ca4bc9b6ade05407ab70e42431a82bf18b4724b6b1259e4d2f81536a55c8c99",
      "mode": "exact EasyEDA footprint"
    },
    {
      "path": "imports/jlc/AP2112K_3_3TRG1.tsx",
      "sha256": "6e7a7d3c05cda4da67adf134f0504c4a9e367397137242143023dfde1d592e62",
      "mode": "exact EasyEDA footprint"
    },
    {
      "path": "imports/jlc/DRV8825PWPR.tsx",
      "sha256": "a32709c6a926689194a43bc36a915e3eae00f19b903e13b989866ab43e888da2",
      "mode": "importer matched footprint"
    },
    {
      "path": "imports/jlc/W25Q16JVUXIQ.tsx",
      "sha256": "00515074f0c5f610a7379d0693a299f6eee7922018f6dafddccc01da7b419e47",
      "mode": "exact EasyEDA footprint"
    },
    {
      "path": "imports/jlc/BSS84_7_F.tsx",
      "sha256": "8ead85720a7bc8ec838cf8b4462fa24a30fe6325b03ddf485962db71c112d75b",
      "mode": "exact EasyEDA footprint"
    }
  ],
  "via_hole_clearance_configured_mm": 0.1,
  "jlc_via_hole_spacing_mm": 0.2,
  "jlc_capabilities_source": "https://jlcpcb.com/capabilities/Capab",
  "fabrication_hole_spacing_findings": 6,
  "fabrication_hole_to_copper_findings": 171,
  "historicalRecordNote": "Historical footprint import audit; U_THERM_GATE is absent from local revision 1.0.31."
}