{
  "metadata": {
    "id": "texas-instruments-drv8871",
    "name": "Texas Instruments DRV8871 Brushed DC Motor Driver",
    "type": "motor_driver",
    "description": "Single H-bridge brushed DC motor driver IC with integrated current regulation and protection for 6.5 V to 45 V motor supply systems.",
    "manufacturer": "Texas Instruments",
    "part_number": "DRV8871",
    "datasheet_url": "https://www.ti.com/lit/ds/symlink/drv8871.pdf",
    "tags": [
      "drv8871",
      "h-bridge",
      "brushed-dc",
      "motor-driver",
      "current-regulation",
      "ti"
    ],
    "schema_version": "1.4.0",
    "version": "1.0.0-rc.0",
    "taxonomy": [
      "actuator.motor_controller"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "power_domains": [
        {
          "id": "vmotor",
          "name": "Motor Supply",
          "nominal_voltage_V": 12,
          "voltage_range_V": [
            6.5,
            45
          ],
          "max_current_mA": 3600,
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "description": "Main H-bridge supply at VM. TI specifies 3.6 A peak drive capability; continuous current depends on thermal design and PCB copper."
        }
      ],
      "resources": [
        {
          "id": "gnd",
          "name": "GND",
          "description": "Pin 1 logic ground reference. Connect to board ground.",
          "functions": [
            {
              "name": "ground",
              "direction": "bidirectional",
              "signal_class": "ground"
            }
          ],
          "connector_type": "smd_pin",
          "power_domain_id": "vmotor"
        },
        {
          "id": "in2",
          "name": "IN2",
          "description": "Pin 2 logic control input with internal pulldown; used with IN1 to command reverse, brake, coast, and PWM drive states.",
          "functions": [
            {
              "name": "digital_input",
              "direction": "sink",
              "signal_class": "data"
            }
          ],
          "logic_levels": {
            "v_ih_min_V": 2,
            "v_il_max_V": 0.8
          },
          "connector_type": "smd_pin"
        },
        {
          "id": "in1",
          "name": "IN1",
          "description": "Pin 3 logic control input with internal pulldown; used with IN2 to command forward, brake, coast, and PWM drive states.",
          "functions": [
            {
              "name": "digital_input",
              "direction": "sink",
              "signal_class": "data"
            }
          ],
          "logic_levels": {
            "v_ih_min_V": 2,
            "v_il_max_V": 0.8
          },
          "connector_type": "smd_pin"
        },
        {
          "id": "ilim",
          "name": "ILIM",
          "description": "Pin 4 current-limit control input. Connect a resistor to ground to set the current chopping threshold.",
          "functions": [
            {
              "name": "analog_input",
              "direction": "sink",
              "signal_class": "control"
            }
          ],
          "connector_type": "smd_pin",
          "power_domain_id": "vmotor"
        },
        {
          "id": "vm",
          "name": "VM",
          "description": "Pin 5 motor supply input. Bypass to ground with a local 0.1 uF capacitor plus adequate bulk capacitance.",
          "functions": [
            {
              "name": "power_input",
              "direction": "sink",
              "signal_class": "power"
            }
          ],
          "connector_type": "smd_pin",
          "power_domain_id": "vmotor"
        },
        {
          "id": "out1",
          "name": "OUT1",
          "description": "Pin 6 H-bridge output to one motor terminal.",
          "functions": [
            {
              "name": "power_output",
              "direction": "source",
              "signal_class": "power"
            }
          ],
          "connector_type": "smd_pin",
          "power_domain_id": "vmotor",
          "current_rating": {
            "source": {
              "max_peak_mA": 3600
            }
          }
        },
        {
          "id": "pgnd",
          "name": "PGND",
          "description": "Pin 7 high-current power ground return. Connect directly to the board ground/current return path.",
          "functions": [
            {
              "name": "ground",
              "direction": "bidirectional",
              "signal_class": "ground"
            }
          ],
          "connector_type": "smd_pin",
          "power_domain_id": "vmotor"
        },
        {
          "id": "out2",
          "name": "OUT2",
          "description": "Pin 8 H-bridge output to the other motor terminal.",
          "functions": [
            {
              "name": "power_output",
              "direction": "source",
              "signal_class": "power"
            }
          ],
          "connector_type": "smd_pin",
          "power_domain_id": "vmotor",
          "current_rating": {
            "source": {
              "max_peak_mA": 3600
            }
          }
        },
        {
          "id": "pad",
          "name": "PowerPAD",
          "description": "Exposed thermal pad. Connect to the board ground plane for thermal dissipation.",
          "functions": [
            {
              "name": "thermal_pad",
              "direction": "bidirectional",
              "signal_class": "ground"
            }
          ],
          "connector_type": "smd_pad",
          "power_domain_id": "vmotor"
        }
      ],
      "interfaces": [
        {
          "id": "motor_power_input",
          "name": "Motor Supply Input",
          "protocol": {
            "type": "power",
            "role": "input"
          },
          "requires": [
            {
              "function": "power_input",
              "count": 1
            },
            {
              "function": "ground",
              "count": 1
            }
          ],
          "power_delivery": {
            "max_voltage_V": 45,
            "max_current_mA": 3600
          },
          "description": "VM supply input with common ground return for the H-bridge stage."
        },
        {
          "id": "motor_output",
          "name": "Brushed Motor Output",
          "protocol": {
            "type": "power",
            "role": "output"
          },
          "requires": [
            {
              "function": "power_output",
              "count": 2
            }
          ],
          "constraints": {
            "max_connections": 1,
            "requires_matching_voltage_domain": true
          },
          "description": "Differential H-bridge outputs OUT1 and OUT2 for one brushed DC motor winding."
        },
        {
          "id": "bridge_control",
          "name": "Bridge Control Inputs",
          "protocol": {
            "type": "digital",
            "role": [
              "input"
            ]
          },
          "requires": [
            {
              "function": "digital_input",
              "count": 2
            }
          ],
          "description": "IN1 and IN2 logic control inputs for forward, reverse, brake, coast, and PWM drive."
        }
      ],
      "supply_voltage_V": [
        6.5,
        45
      ],
      "pin_count": 9
    },
    {
      "domain": "thermal",
      "resources": [],
      "interfaces": [],
      "operating_temperature_C": [
        -40,
        125
      ],
      "metadata": {
        "requires_thermal_management": true,
        "thermal_monitoring_available": false,
        "cooling_method": "pcb_heat_spreading"
      }
    }
  ],
  "design_rules": [
    "Connect PGND, GND, and the exposed PowerPAD into a low-impedance ground/thermal copper region per the datasheet layout guidance.",
    "Set the current chopping threshold with the ILIM resistor to ground according to the datasheet equations.",
    "Place a 0.1 uF bypass capacitor from VM to ground close to the device and add sufficient bulk capacitance for motor transients.",
    "Keep the high-current VM, PGND, OUT1, and OUT2 loops short and wide to reduce ringing and heat."
  ],
  "validation_requirements": [
    "Verify VM is within 6.5 V to 45 V before enabling motor drive.",
    "Confirm IN1 and IN2 truth-table behavior for forward, reverse, brake, and coast modes.",
    "Validate the ILIM resistor value produces the intended current chopping threshold.",
    "Check peak motor current and PCB/package thermals remain within datasheet limits."
  ],
  "usage_notes": "DRV8871 is a single-channel brushed DC motor driver IC that uses two logic inputs for direction/PWM control and an external ILIM resistor to set current regulation without a separate sense resistor.",
  "application_examples": [
    "Small brushed DC motor actuation in appliances",
    "Printer roller or feeder drive",
    "Robotics auxiliary actuator control",
    "Industrial valve or latch drive"
  ],
  "compatibility_notes": "IN1 and IN2 accept common MCU logic levels and may be driven with static logic or PWM. The package exposes both GND and PGND, plus the PowerPAD, which should all be tied into the board grounding strategy.",
  "warnings": [
    "Do not exceed 45 V on VM; overvoltage transients can damage the device.",
    "Insufficient PCB thermal design can trigger thermal shutdown under high load.",
    "Motor stall or aggressive current-limit settings can raise dissipation quickly; size the ILIM resistor and copper area carefully."
  ]
}