{
  "metadata": {
    "id": "rev-31-1108-srs-programmer",
    "name": "REV Robotics SRS Programmer (REV-31-1108)",
    "type": "servo_programmer",
    "schema_version": "1.4.0",
    "version": "1.2",
    "manufacturer": "REV Robotics",
    "part_number": "REV-31-1108",
    "datasheet_url": "https://revrobotics.ca/content/docs/REV-31-1108-UM.pdf",
    "description": "Self-powered programmer/tester for REV Smart Robot Servo (SRS) and standard RC servos. Provides a 3-pin servo/PWM output port (GND/PWM/V+) with 6V nominal drive and 3.3V logic. Powered by 4×AA batteries.",
    "taxonomy": [
      "robotics.ftc"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "resources": [
        {
          "id": "servo_port_gnd",
          "name": "servo-port-gnd",
          "connector_type": "servo_pwm_male_3pin",
          "functions": [
            {
              "name": "ground",
              "direction": "bidirectional",
              "signal_class": "ground"
            }
          ],
          "notes": "Servo/PWM port ground pin (GND)."
        },
        {
          "id": "servo_port_pwm",
          "name": "servo-port-pwm",
          "connector_type": "servo_pwm_male_3pin",
          "functions": [
            {
              "name": "pwm_output",
              "direction": "source",
              "signal_class": "data"
            }
          ],
          "notes": "Servo/PWM port signal pin (PWM)."
        },
        {
          "id": "servo_port_vplus",
          "name": "servo-port-vplus",
          "connector_type": "servo_pwm_male_3pin",
          "functions": [
            {
              "name": "power_output",
              "direction": "source",
              "signal_class": "power"
            }
          ],
          "notes": "Servo/PWM port supply pin (V+)."
        }
      ],
      "interfaces": [
        {
          "id": "servo_pwm_power_out",
          "name": "Servo/PWM + Power output (3-pin male)",
          "protocol": {
            "type": "digital",
            "role": "peer"
          },
          "requires": [
            {
              "function": "ground",
              "count": 1
            },
            {
              "function": "pwm_output",
              "count": 1
            },
            {
              "function": "power_output",
              "count": 1
            }
          ],
          "constraints": {
            "max_connections": 1
          },
          "description": "3-pin male servo header intended to mate with a standard 3-position servo/PWM female connector.",
          "warnings": "Outputs ~6V nominal on V+ (from 4×AA batteries) and 3.3V logic-level PWM; ensure connected servo is compatible.\nPWM pulse width range 550–2450 µs (center 1500 µs)."
        }
      ],
      "supply_voltage_V": [
        4,
        6.4
      ],
      "pin_count": 3
    },
    {
      "domain": "mechanical",
      "package_type": "enclosure",
      "dimensions_mm": {
        "length": 70.5,
        "width": 64.5,
        "height": 35.5
      },
      "resources": [],
      "interfaces": []
    }
  ]
}