imrishabh18/rp2040-motor-controller

A library of PCB component definitions covering MOSFETs, motor drivers, USB-PD control, sensors, current monitors, transistors, diodes, resistors, speakers, connectors, and mirrored bottom-side logos, with pin mappings, footprints, and 3D models.

Version
1.0.55
License
unset
Stars
5

reports/release-v48-2026-10-23/validation.json

{
  "generatedAt": "2026-10-23T10:02:59.146Z",
  "input": "dist/index/circuit.json",
  "sha256": "6ad6a83a9a51e7b7ff030894ad9e0f0320c5413798fb13e108e712448f45d5e6",
  "versions": {
    "tscircuit": "0.0.3008",
    "@tscircuit/core": "0.0.2199",
    "@tscircuit/cli": "0.1.2402",
    "@tscircuit/common": "0.0.48",
    "@tscircuit/capacity-autorouter": "0.0.1003",
    "@tscircuit/checks": "0.0.262",
    "circuit-json": "0.0.534",
    "circuit-to-svg": "0.0.453"
  },
  "commonGround": {
    "groundNetDeclarations": 1,
    "checkedGroundPorts": 40,
    "checkedCurrentSenseChannels": 2,
    "checkedMotorOutputs": 4
  },
  "pdPowerGood": {
    "status": "pass",
    "gpio": 7,
    "activeHigh": true,
    "noPwrUsbReadsGood": false,
    "buffered": true,
    "hardwareInterlockPreserved": true
  },
  "temperatureTelemetry": {
    "i2cAddress": "0x48",
    "sdaGpio": 26,
    "sclGpio": 27,
    "alertGpio": null,
    "unusedGpio": 24,
    "alertPolicy": "RP2040 software using I2C temperature",
    "enableGpio": 22,
    "sensorDistanceMm": 5.699999999999999,
    "checkedElectricalGroups": 11,
    "hardwareInterlock": "PD-gated MCU enable",
    "autonomousBoardTemperatureShutdown": false,
    "status": "pass"
  },
  "pdVoltageControl": {
    "status": "pass",
    "gpios": [
      4,
      5,
      6
    ],
    "cfgPhysicalPins": [
      9,
      2,
      3
    ],
    "inverted": true,
    "startupRequestV": 5
  },
  "pdBusVoltageMonitor": {
    "status": "pass",
    "monitorPart": "C49851",
    "rawPdBus": true,
    "i2cAddress": "0x40",
    "i2cGpios": [
      26,
      27
    ],
    "buzzerGpio": 16,
    "motorEnableGpio": 22,
    "requiresDataUsbAndApplicationFirmware": true
  },
  "outerMotorPower": {
    "status": "pass",
    "motorNets": 11,
    "checkedTraceCount": 31,
    "checkedTraceIds": [
      "pcb_trace_9",
      "pcb_trace_10",
      "pcb_trace_11",
      "pcb_trace_12",
      "top_assembly_024",
      "top_assembly_028",
      "top_assembly_041",
      "top_assembly_042",
      "top_assembly_043",
      "top_assembly_044",
      "top_assembly_045",
      "top_assembly_046",
      "top_assembly_057",
      "top_assembly_058",
      "top_assembly_059",
      "top_assembly_060",
      "top_assembly_061",
      "top_assembly_078",
      "top_assembly_079",
      "top_assembly_080",
      "top_assembly_081",
      "top_assembly_082",
      "top_assembly_083",
      "top_assembly_084",
      "top_assembly_085",
      "top_assembly_086",
      "top_assembly_087",
      "top_assembly_253",
      "top_assembly_267",
      "top_assembly_268",
      "top_assembly_269"
    ],
    "wireLengthMmByLayer": {
      "top": 189.3830126288389,
      "bottom": 263.95720152837225
    },
    "allowedWireLayers": [
      "top",
      "bottom"
    ],
    "throughViasAllowed": true
  },
  "jlcClearances": {
    "padToPad": [],
    "padToTrace": [],
    "traceToTrace": [],
    "viaToPad": [],
    "viaToTrace": [],
    "motorPowerToPad": []
  },
  "embeddedErrors": [],
  "routingErrors": [],
  "warnings": {
    "source_refdes_convention_warning": 9,
    "source_no_power_pin_defined_warning": 16,
    "source_no_ground_pin_defined_warning": 8,
    "source_component_pins_underspecified_warning": 10,
    "source_part_not_found_warning": 107,
    "source_component_availability_warning": 107,
    "pcb_trace_warning": 42,
    "pcb_trace_style_warning": 3
  }
}