{
  "metadata": {
    "id": "rob-24052",
    "name": "Servo - Generic, 180° Rotation (Sub-Micro)",
    "type": "actuator",
    "description": "Sub-micro RC servo rated 180° travel. Standard 3-wire control, 4.8–6.0 V operation. ~9 g mass.",
    "manufacturer": "Generic",
    "part_number": "ROB-24052",
    "datasheet_url": "https://www.mouser.com/datasheet/2/813/RM001_S__9g__servo_a-3412775.pdf",
    "tags": [
      "rc-servo",
      "pwm",
      "sub-micro",
      "9g",
      "180-degree"
    ],
    "schema_version": "1.4.0",
    "version": "1.1.0",
    "taxonomy": [
      "actuator.motor.servo"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "power_domains": [
        {
          "id": "servo_vbus",
          "name": "Servo Supply",
          "nominal_voltage_V": 5,
          "voltage_range_V": [
            4.8,
            6
          ],
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "description": "RC servo power rail"
        }
      ],
      "resources": [
        {
          "id": "servo_cable",
          "name": "3-Wire Servo Lead",
          "description": "Prefitted 3-conductor cable: V+, GND, PWM control",
          "functions": [
            {
              "name": "POWER_IN",
              "description": "V+ 4.8–6.0 V",
              "direction": "sink",
              "shareable_with": [],
              "signal_class": "power"
            },
            {
              "name": "GROUND",
              "description": "Return",
              "direction": "sink",
              "shareable_with": [],
              "signal_class": "ground"
            },
            {
              "name": "PWM_IN",
              "description": "Control pulse 1–2 ms @ ~50 Hz",
              "direction": "sink",
              "shareable_with": [],
              "signal_class": "data"
            }
          ],
          "power_domain_id": "servo_vbus",
          "connector_type": "cable"
        }
      ],
      "interfaces": [
        {
          "id": "power_in",
          "name": "Power Input",
          "protocol": {
            "type": "power",
            "role": "input"
          },
          "requires": [
            {
              "function": "POWER_IN",
              "count": 1
            },
            {
              "function": "GROUND",
              "count": 1
            }
          ],
          "description": "Servo supply 4.8–6.0 V"
        },
        {
          "id": "rc_pwm",
          "name": "RC Servo PWM",
          "protocol": {
            "type": "pwm",
            "role": "device"
          },
          "requires": [
            {
              "function": "PWM_IN",
              "count": 1
            }
          ],
          "constraints": {
            "typ_frequency_Hz": 50,
            "min_pulse_us": 1000,
            "max_pulse_us": 2000
          },
          "description": "Standard hobby servo control"
        }
      ],
      "supply_voltage_V": [
        4.8,
        6
      ],
      "metadata": {
        "supports_hot_plug": false
      }
    },
    {
      "domain": "mechanical",
      "resources": [
        {
          "id": "rotary_actuator",
          "name": "Output Spline",
          "description": "Rotational output shaft for horn/arm",
          "functions": [
            {
              "name": "ROTARY_OUTPUT",
              "description": "Positioned by PWM",
              "direction": "source",
              "shareable_with": [],
              "signal_class": "mechanical_drive"
            }
          ],
          "connector_type": "spline"
        }
      ],
      "interfaces": [
        {
          "id": "rotary_180deg",
          "name": "Rotary Actuation",
          "protocol": {
            "type": "mechanical_rotation",
            "role": "actuator"
          },
          "requires": [
            {
              "function": "ROTARY_OUTPUT",
              "count": 1
            }
          ],
          "constraints": {
            "rotation_range_deg": 180
          },
          "description": "Nominal 180° mechanical travel"
        }
      ],
      "dimensions_mm": {
        "length": 23.1,
        "width": 11.9,
        "height": 26
      },
      "weight_g": 9,
      "metadata": {
        "mounting_method": "custom_brackets",
        "enclosure_type": "servo_case"
      }
    },
    {
      "domain": "thermal",
      "resources": [],
      "interfaces": [],
      "operating_temperature_C": [
        0,
        60
      ],
      "metadata": {
        "requires_thermal_management": false,
        "cooling_method": "passive"
      }
    }
  ],
  "design_rules": [
    "Share ground between controller and servo supply",
    "Keep PWM within 1–2 ms at ~50 Hz to avoid overtravel",
    "Avoid continuous stall; current may approach 0.5 A",
    "Use separate supply if controller cannot source surge current"
  ],
  "usage_notes": "Torque ~1.2 kg·cm @4.8 V, 1.5 kg·cm @6 V. Speed ~0.11/0.09 s per 60° at 4.8/6.0 V. Control signal 1000–2000 µs centered at 1500 µs.",
  "application_examples": [
    "Mini robotics",
    "Animatronics",
    "Small linkages",
    "Educational mechatronics"
  ],
  "warnings": [
    "Operating outside 4.8–6.0 V may damage the servo",
    "Hitting mechanical end stops can strip plastic gears"
  ]
}