{
  "metadata": {
    "id": "eason-tb6600-stepper-driver-4a-9-42v-32",
    "name": "EASON TB6600 Stepper Motor Driver",
    "type": "motor_driver",
    "description": "Single-axis stepper driver module advertised as TB6600-based. Rated 9–42 VDC supply, up to 4.0 A phase current, and up to 32× microstepping. Opto-isolated STEP/DIR/ENA inputs.",
    "manufacturer": "EASON",
    "datasheet_url": "https://bulkman3d.com/wp-content/uploads/2019/06/TB6600-Stepper-Motor-Driver-BM3D-v1.1.pdf",
    "tags": [
      "tb6600",
      "stepper",
      "driver",
      "bipolar",
      "microstepping",
      "cnc",
      "opto-isolated",
      "nema17",
      "nema23"
    ],
    "schema_version": "1.4.0",
    "version": "0.3.0",
    "taxonomy": [
      "actuator.motor_controller"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "power_domains": [
        {
          "id": "motor_bus",
          "name": "Motor DC Bus",
          "nominal_voltage_V": 24,
          "voltage_range_V": [
            9,
            42
          ],
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "description": "Main supply input for the driver module"
        }
      ],
      "resources": [
        {
          "id": "vcc_in",
          "name": "VCC",
          "description": "DC supply input (9–42 V)",
          "functions": [
            {
              "name": "POWER_INPUT",
              "direction": "sink",
              "signal_class": "power"
            }
          ],
          "connector_type": "screw_terminal"
        },
        {
          "id": "gnd_in",
          "name": "GND",
          "description": "Supply return",
          "functions": [
            {
              "name": "GROUND",
              "direction": "sink",
              "signal_class": "ground"
            }
          ],
          "connector_type": "screw_terminal"
        },
        {
          "id": "a_plus",
          "name": "A+",
          "description": "Motor phase A positive",
          "functions": [
            {
              "name": "MOTOR_PHASE_A",
              "direction": "output",
              "signal_class": "power"
            }
          ],
          "connector_type": "screw_terminal"
        },
        {
          "id": "a_minus",
          "name": "A-",
          "description": "Motor phase A negative",
          "functions": [
            {
              "name": "MOTOR_PHASE_A",
              "direction": "output",
              "signal_class": "power",
              "shareable_with": []
            }
          ],
          "connector_type": "screw_terminal"
        },
        {
          "id": "b_plus",
          "name": "B+",
          "description": "Motor phase B positive",
          "functions": [
            {
              "name": "MOTOR_PHASE_B",
              "direction": "output",
              "signal_class": "power"
            }
          ],
          "connector_type": "screw_terminal"
        },
        {
          "id": "b_minus",
          "name": "B-",
          "description": "Motor phase B negative",
          "functions": [
            {
              "name": "MOTOR_PHASE_B",
              "direction": "output",
              "signal_class": "power",
              "shareable_with": []
            }
          ],
          "connector_type": "screw_terminal"
        },
        {
          "id": "pul_pair",
          "name": "PUL+ / PUL-",
          "description": "Step pulse opto input pair; common-anode or common-cathode wiring supported",
          "functions": [
            {
              "name": "STEP_INPUT",
              "direction": "input",
              "signal_class": "data"
            }
          ],
          "logic_levels": {
            "v_ih_min_V": 3.3,
            "v_il_max_V": 0.8
          },
          "connector_type": "terminal_block"
        },
        {
          "id": "dir_pair",
          "name": "DIR+ / DIR-",
          "description": "Direction opto input pair; common-anode or common-cathode wiring supported",
          "functions": [
            {
              "name": "DIR_INPUT",
              "direction": "input",
              "signal_class": "data"
            }
          ],
          "logic_levels": {
            "v_ih_min_V": 3.3,
            "v_il_max_V": 0.8
          },
          "connector_type": "terminal_block"
        },
        {
          "id": "ena_pair",
          "name": "EN+ / EN-",
          "description": "Enable opto input pair; active to disable outputs (Off-line)",
          "functions": [
            {
              "name": "ENABLE_INPUT",
              "direction": "input",
              "signal_class": "data"
            }
          ],
          "logic_levels": {
            "v_ih_min_V": 3.3,
            "v_il_max_V": 0.8
          },
          "connector_type": "terminal_block"
        }
      ],
      "interfaces": [
        {
          "id": "power_input",
          "name": "DC Power In",
          "protocol": {
            "type": "power",
            "role": "input"
          },
          "requires": [
            {
              "function": "POWER_INPUT",
              "count": 1
            },
            {
              "function": "GROUND",
              "count": 1
            }
          ],
          "power_delivery": {
            "max_voltage_V": 42,
            "max_current_mA": 4000
          },
          "constraints": {
            "requires_connector_type": "screw_terminal"
          },
          "description": "9–42 VDC input for driver supply"
        },
        {
          "id": "step_dir_inputs",
          "name": "STEP/DIR/ENA Inputs",
          "protocol": {
            "type": "digital",
            "role": "receiver"
          },
          "requires": [
            {
              "function": "STEP_INPUT",
              "count": 1
            },
            {
              "function": "DIR_INPUT",
              "count": 1
            },
            {
              "function": "ENABLE_INPUT",
              "count": 1
            }
          ],
          "constraints": {
            "max_connections": 1,
            "requires_connector_type": "terminal_block"
          },
          "description": "Opto-isolated STEP, DIR, and EN inputs. Supports common-anode or common-cathode wiring."
        },
        {
          "id": "motor_outputs",
          "name": "Bipolar Stepper Outputs",
          "protocol": {
            "type": "bipolar_stepper_phases",
            "role": "driver"
          },
          "requires": [
            {
              "function": "MOTOR_PHASE_A",
              "count": 2
            },
            {
              "function": "MOTOR_PHASE_B",
              "count": 2
            }
          ],
          "description": "Four-wire motor connection A+/A-, B+/B-"
        }
      ],
      "supply_voltage_V": [
        9,
        42
      ],
      "metadata": {
        "package_type": "Driver module with heatsink"
      }
    },
    {
      "domain": "mechanical",
      "resources": [
        {
          "id": "mount_hole_1",
          "name": "Mounting Hole 1",
          "description": "Chassis mounting hole",
          "functions": [
            {
              "name": "mounting_hole"
            }
          ],
          "connector_type": "through_hole"
        },
        {
          "id": "mount_hole_2",
          "name": "Mounting Hole 2",
          "description": "Chassis mounting hole",
          "functions": [
            {
              "name": "mounting_hole"
            }
          ],
          "connector_type": "through_hole"
        }
      ],
      "interfaces": [
        {
          "id": "panel_mount",
          "name": "Panel/Bracket Mount",
          "protocol": {
            "type": "threaded_connection",
            "role": "mounting_point"
          },
          "requires": [
            {
              "function": "mounting_hole",
              "count": 2
            }
          ],
          "description": "Use two chassis screws to mount the module"
        }
      ],
      "package_type": "Enclosed driver module",
      "dimensions_mm": {
        "length": 96,
        "width": 56,
        "height": 33
      },
      "weight_g": 200
    },
    {
      "domain": "thermal",
      "resources": [
        {
          "id": "heatsink_base",
          "name": "Base Heatsink",
          "description": "Integral aluminum heatsink",
          "functions": [
            {
              "name": "HEAT_SINK",
              "direction": "sink"
            }
          ],
          "connector_type": "surface_mount"
        }
      ],
      "interfaces": [],
      "operating_temperature_C": [
        -10,
        45
      ],
      "metadata": {
        "thermal_design_power_W": 5,
        "requires_thermal_management": false,
        "thermal_monitoring_available": false,
        "cooling_method": "passive"
      }
    }
  ],
  "design_rules": [
    "Do not exceed 42 V on VCC.",
    "Set DIP current below motor phase current rating.",
    "For control voltages above 5 V, add series resistance so the controller drives 8–15 mA into the optocoupler.",
    "Wiring must use either common-anode or common-cathode across STEP/DIR/ENA consistently."
  ],
  "usage_notes": "Supports 0.5–4.0 A phase current and microstepping via DIP switches. Inputs are opto-isolated and accept 3.3–24 V logic when wired correctly. EN input places driver off-line when active.",
  "application_examples": [
    "CNC axes",
    "3D printer retrofits",
    "Robotics actuators"
  ],
  "warnings": [
    "Many \"TB6600\" modules implement TB67S109AFTG or other drivers. Verify microstep options and timing.",
    "Module can run hot near 4 A; ensure airflow.",
    "Incorrect common-anode/cathode wiring will prevent inputs from triggering."
  ]
}