{
  "metadata": {
    "id": "stepperonline-dm542t",
    "name": "STEPPERONLINE DM542T Digital Stepper Driver",
    "type": "motor_driver",
    "description": "Digital stepper driver with opto-isolated PUL/DIR/ENA, 1.0–4.2A peak, 20–50 VDC supply, up to 200 kHz step rate, microstep to 25,600 steps/rev.",
    "manufacturer": "STEPPERONLINE (OMC)",
    "part_number": "DM542T",
    "datasheet_url": "https://www.oyostepper.com/images/upload/File/DM542T%2812%29.pdf",
    "tags": [
      "DM542T",
      "PUL",
      "DIR",
      "ENA",
      "stepper",
      "bipolar",
      "NEMA17",
      "NEMA23",
      "NEMA24",
      "opto-isolated"
    ],
    "schema_version": "1.4.0",
    "version": "1.1.0",
    "taxonomy": [
      "actuator.motor_controller"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "power_domains": [
        {
          "id": "hv_dc_in",
          "name": "HV DC input",
          "nominal_voltage_V": 36,
          "voltage_range_V": [
            20,
            50
          ],
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "description": "Main supply to +V/GND terminals; recommended 24–48 VDC"
        },
        {
          "id": "logic_isolated",
          "name": "Isolated logic inputs",
          "nominal_voltage_V": 5,
          "voltage_range_V": [
            5,
            24
          ],
          "isolation_type": "isolated",
          "ground_reference": "isolated",
          "description": "Opto-isolated PUL/DIR/ENA inputs; selector supports 5 V or 24 V logic"
        }
      ],
      "resources": [
        {
          "id": "p1_pul",
          "name": "PUL+/PUL−",
          "functions": [
            {
              "name": "step_pulse",
              "signal_class": "data"
            }
          ],
          "connector_type": "terminal_block",
          "description": "Step input, rising-edge active"
        },
        {
          "id": "p1_dir",
          "name": "DIR+/DIR−",
          "functions": [
            {
              "name": "direction",
              "signal_class": "data"
            }
          ],
          "connector_type": "terminal_block",
          "description": "Direction input"
        },
        {
          "id": "p1_ena",
          "name": "ENA+/ENA−",
          "functions": [
            {
              "name": "enable",
              "signal_class": "data"
            }
          ],
          "connector_type": "terminal_block",
          "description": "Enable input (active level per logic configuration)"
        },
        {
          "id": "pwr_pos",
          "name": "+V",
          "functions": [
            {
              "name": "power_in",
              "signal_class": "power"
            }
          ],
          "connector_type": "terminal_block",
          "power_domain_id": "hv_dc_in"
        },
        {
          "id": "pwr_gnd",
          "name": "GND",
          "functions": [
            {
              "name": "ground",
              "signal_class": "ground"
            }
          ],
          "connector_type": "terminal_block",
          "power_domain_id": "hv_dc_in"
        },
        {
          "id": "mot_a",
          "name": "A+/A−",
          "functions": [
            {
              "name": "phase_a",
              "signal_class": "power"
            }
          ],
          "connector_type": "terminal_block",
          "description": "Motor phase A outputs"
        },
        {
          "id": "mot_b",
          "name": "B+/B−",
          "functions": [
            {
              "name": "phase_b",
              "signal_class": "power"
            }
          ],
          "connector_type": "terminal_block",
          "description": "Motor phase B outputs"
        }
      ],
      "interfaces": [
        {
          "id": "pulse_dir_ctrl",
          "name": "Pulse/Direction control",
          "protocol": {
            "type": "stepper_pulse_dir",
            "role": "driver"
          },
          "requires": [
            {
              "function": "step_pulse",
              "count": 1
            },
            {
              "function": "direction",
              "count": 1
            },
            {
              "function": "enable",
              "count": 0
            }
          ],
          "timing": {
            "max_step_freq_hz": 200000,
            "min_pulse_width_us": 2.5
          },
          "description": "Opto-isolated step/dir with selectable 5 V or 24 V logic"
        },
        {
          "id": "motor_bipolar_out",
          "name": "Bipolar stepper phases",
          "protocol": {
            "type": "bipolar_stepper_phases",
            "role": "source"
          },
          "requires": [
            {
              "function": "phase_a",
              "count": 1
            },
            {
              "function": "phase_b",
              "count": 1
            }
          ],
          "description": "Drives 2-phase motors (NEMA 17/23/24)"
        }
      ],
      "supply_voltage_V": [
        20,
        50
      ],
      "metadata": {
        "current_range_A_peak": [
          1,
          4.2
        ],
        "microstep_table": [
          "400",
          "800",
          "1600",
          "3200",
          "6400",
          "12800",
          "25600",
          "1000",
          "2000",
          "4000",
          "5000",
          "8000",
          "10000",
          "20000",
          "25000"
        ],
        "logic_signal_current_mA": [
          7,
          16
        ]
      }
    },
    {
      "domain": "mechanical",
      "package_type": "Enclosed module",
      "dimensions_mm": {
        "length": 118,
        "width": 75.5,
        "height": 34
      },
      "resources": [],
      "interfaces": []
    }
  ],
  "design_rules": [
    "Do not connect or disconnect motor or P3/P2 terminals while powered.",
    "Use twisted pair, shielded cable for PUL/DIR/ENA and separate from motor leads by ≥10 cm.",
    "Set microstep and current via DIP before operation; standstill current can auto-reduce to 50%."
  ],
  "warnings": [
    "Absolute max input 50 VDC; over-voltage protection trips near 60 V.",
    "Minimum pulse width 2.5 μs; max accepted step frequency 200 kHz.",
    "Select correct 5 V or 24 V logic mode before wiring controller I/O."
  ]
}