Summary
Extron MPS 602 is a six-input media presentation switcher (2 RGB, 4 HDMI/DTP) with integrated audio mixing, microphone input with talk-over, EDID Minder, and HDCP management. Control via Extron SIS (Simple Instruction Set) over RS-232. Front panel USB also accepts SIS commands.
Transport
protocols:
- serial
serial:
baud_rate: 9600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: none # inferred: no auth procedure in source
Traits
traits:
- routable # inferred: input/output selection commands present
- queryable # inferred: query/view commands returning state present
- levelable # inferred: volume, mic gain, attenuation controls present
Actions
actions:
- id: select_input
label: Select Video and Audio Input
kind: action
command: "{input}!"
params:
- name: input
type: integer
min: 1
max: 6
description: Input number (1-6)
response: "In {input} All"
- id: view_input
label: View Current Input
kind: query
command: "!"
response: "{input}"
- id: select_video_input
label: Select Video Input Only
kind: action
command: "{input}%"
params:
- name: input
type: integer
min: 1
max: 6
description: "Input number (1-6). Video breakaway to HDMI/DTP inputs (3-6) only available when input configured for analog audio."
response: "In {input} Vid"
- id: view_video_selection
label: View Video Selection
kind: query
command: "%"
response: "{input}"
- id: select_rgb_input
label: Select RGB Input to Local RGB Output
kind: action
command: "{input}&"
params:
- name: input
type: integer
min: 1
max: 2
description: "RGB input 1 or 2 only"
response: "In {input} RGB"
- id: view_rgb_input
label: View RGB Input
kind: query
command: "&"
response: "{input}"
- id: view_video_signal_presence
label: View Video Signal Presence
kind: query
command: "E 0LS}"
response: "Sig {s1} {s2} {s3} {s4} {s5} {s6} {rgb_out} {hdmi_out}"
- id: set_video_mute
label: Set Video Mute
kind: action
command: "{state}B"
params:
- name: state
type: integer
enum: [0, 1]
description: "0=off/unmute, 1=on/mute"
response: "Vmt {state}"
- id: view_video_mute
label: View Video Mute
kind: query
command: "B"
response: "{state}"
- id: set_auto_input_switch
label: Set Auto-Input Switching Mode
kind: action
command: "E {mode}AUSW}"
params:
- name: mode
type: integer
enum: [0, 1, 2]
description: "0=disabled (manual), 1=highest active priority, 2=lowest active priority"
response: "Ausw{mode}"
- id: view_auto_input_switch
label: View Auto-Input Switching
kind: query
command: "E AUSW}"
response: "{mode}"
- id: set_pixel_phase
label: Set Pixel Phase
kind: action
command: "E {input}*{value} PHAS}"
params:
- name: input
type: integer
min: 1
max: 2
description: "RGB input 1 or 2"
- name: value
type: integer
min: 0
max: 63
description: "Pixel phase value (default=32)"
response: "Phas {input}*{value}"
- id: increment_pixel_phase
label: Increment Pixel Phase
kind: action
command: "E {input}+ PHAS}"
params:
- name: input
type: integer
min: 1
max: 2
response: "Phas {input}*{value}"
- id: decrement_pixel_phase
label: Decrement Pixel Phase
kind: action
command: "E {input}- PHAS}"
params:
- name: input
type: integer
min: 1
max: 2
response: "Phas {input}*{value}"
- id: view_pixel_phase
label: View Pixel Phase
kind: query
command: "E {input} PHAS}"
params:
- name: input
type: integer
min: 1
max: 2
response: "{value}"
- id: set_total_pixels
label: Set Total Pixels
kind: action
command: "E {input}*{value} TPIX}"
params:
- name: input
type: integer
min: 1
max: 2
- name: value
type: integer
description: "Total pixels value (+255 of default depending on input rate)"
response: "Tpix {input}*{value}"
- id: increment_total_pixels
label: Increment Total Pixels
kind: action
command: "E {input}+ TPIX}"
params:
- name: input
type: integer
min: 1
max: 2
response: "Tpix {input}*{value}"
- id: decrement_total_pixels
label: Decrement Total Pixels
kind: action
command: "E {input}- TPIX}"
params:
- name: input
type: integer
min: 1
max: 2
response: "Tpix {input}*{value}"
- id: view_total_pixels
label: View Total Pixels
kind: query
command: "E {input} TPIX}"
params:
- name: input
type: integer
min: 1
max: 2
response: "{value}"
- id: set_horizontal_start
label: Set Horizontal Start
kind: action
command: "E {input}*{value} HSRT}"
params:
- name: input
type: integer
min: 1
max: 2
- name: value
type: integer
min: 0
max: 255
description: "Horizontal start (default=128)"
response: "Hsrt {input}*{value}"
- id: increment_horizontal_start
label: Increment Horizontal Start
kind: action
command: "E {input}+ HSRT}"
params:
- name: input
type: integer
min: 1
max: 2
response: "Hsrt {input}*{value}"
- id: decrement_horizontal_start
label: Decrement Horizontal Start
kind: action
command: "E {input}- HSRT}"
params:
- name: input
type: integer
min: 1
max: 2
response: "Hsrt {input}*{value}"
- id: view_horizontal_start
label: View Horizontal Start
kind: query
command: "E {input} HSRT}"
params:
- name: input
type: integer
min: 1
max: 2
response: "{value}"
- id: set_vertical_start
label: Set Vertical Start
kind: action
command: "E {input}*{value} VSRT}"
params:
- name: input
type: integer
min: 1
max: 2
- name: value
type: integer
min: 0
max: 255
description: "Vertical start (default=128)"
response: "Vsrt {input}*{value}"
- id: increment_vertical_start
label: Increment Vertical Start
kind: action
command: "E {input}+ VSRT}"
params:
- name: input
type: integer
min: 1
max: 2
response: "Vsrt {input}*{value}"
- id: decrement_vertical_start
label: Decrement Vertical Start
kind: action
command: "E {input}- VSRT}"
params:
- name: input
type: integer
min: 1
max: 2
response: "Vsrt {input}*{value}"
- id: view_vertical_start
label: View Vertical Start
kind: query
command: "E {input} VSRT}"
params:
- name: input
type: integer
min: 1
max: 2
response: "{value}"
- id: set_input_audio_format
label: Set Input Audio Format
kind: action
command: "E I {input}*{format} AFMT}"
params:
- name: input
type: integer
min: 3
max: 6
description: "HDMI inputs 3-6 only"
- name: format
type: integer
enum: [0, 1, 2]
description: "0=embedded digital, 1=analog audio, 2=auto (default)"
response: "AfmtI*{format}"
- id: view_input_audio_format
label: View Input Audio Format
kind: query
command: "E I {input} AFMT}"
params:
- name: input
type: integer
min: 3
max: 6
response: "{format}"
- id: set_audio_gain
label: Set Program Audio Gain
kind: action
command: "{input}*{gain}"
params:
- name: input
type: integer
min: 1
max: 6
- name: gain
type: integer
min: 0
max: 24
description: "Gain in dB (0-24, 1 dB steps)"
response: "G In {input} Aud {level}"
- id: set_audio_attenuation
label: Set Program Audio Attenuation
kind: action
command: "{input}*{atten}"
params:
- name: input
type: integer
min: 1
max: 6
- name: atten
type: integer
min: 1
max: 18
description: "Attenuation in dB (1-18, 1 dB steps). Case-sensitive: lowercase."
response: "g In {input} Aud {level}"
- id: increment_audio_level
label: Increment Audio Level
kind: action
command: "{input}+"
params:
- name: input
type: integer
min: 1
max: 6
description: "Increments input gain by 1 dB"
response: "G In {input} Aud {level}"
- id: decrement_audio_level
label: Decrement Audio Level
kind: action
command: "{input}\u2013"
params:
- name: input
type: integer
min: 1
max: 6
description: "Decrements input gain by 1 dB"
response: "G In {input} Aud {level}"
- id: view_audio_level
label: View Audio Level
kind: query
command: "{input}G"
params:
- name: input
type: integer
min: 1
max: 6
response: "{level}"
- id: set_ducking_level
label: Set Audio Ducking Level
kind: action
command: "{level}*58#"
params:
- name: level
type: integer
min: 0
max: 30
description: "Ducking level in dB (0=off, default=6)"
response: "Adl {level}"
- id: increment_ducking
label: Increment Audio Ducking
kind: action
command: "+*58#"
response: "Adl {level}"
- id: decrement_ducking
label: Decrement Audio Ducking
kind: action
command: "-*58#"
response: "Adl {level}"
- id: view_ducking_level
label: View Audio Ducking Level
kind: query
command: "58#"
response: "{level}"
- id: select_program_audio_input
label: Select Program Audio Input
kind: action
command: "{input}$"
params:
- name: input
type: integer
min: 1
max: 6
description: "Audio input 1-6 (analog audio input). Breakaway to HDMI/DTP (3-6) only when configured for analog audio."
response: "Pra {input}"
- id: view_program_audio_input
label: View Program Audio Input
kind: query
command: "$"
response: "{input}"
- id: set_volume
label: Set Volume Level
kind: action
command: "{level}V"
params:
- name: level
type: integer
min: 0
max: 100
description: "Volume level 0-100 (default=70)"
response: "Vol {level}"
- id: increment_volume
label: Increment Volume
kind: action
command: "+V"
response: "Vol {level}"
- id: decrement_volume
label: Decrement Volume
kind: action
command: "\u2013V"
response: "Vol {level}"
- id: view_volume
label: View Volume
kind: query
command: "V"
response: "{level}"
- id: set_audio_mute
label: Set Program Audio Mute
kind: action
command: "{state}Z"
params:
- name: state
type: integer
enum: [0, 1]
description: "0=unmute, 1=mute"
response: "Amt {state}"
- id: view_audio_mute
label: View Audio Mute Status
kind: query
command: "Z"
response: "{state}"
- id: set_mic_gain
label: Set Mic Gain
kind: action
command: "16*{gain}"
params:
- name: gain
type: integer
min: 0
max: 60
description: "Mic gain in 1 dB steps (0-60)"
response: "G Aud {level}"
- id: set_mic_attenuation
label: Set Mic Attenuation
kind: action
command: "16*{atten}"
params:
- name: atten
type: integer
min: 1
max: 18
description: "Mic attenuation in 1 dB steps (1-18)"
response: "g Aud {level}"
- id: view_mic_level
label: View Mic Level
kind: query
command: "16G"
response: "{level}"
- id: set_mic_mute
label: Set Mic Mute
kind: action
command: "{state}M"
params:
- name: state
type: integer
enum: [0, 1]
description: "0=unmute, 1=mute"
response: "Mix {state}"
- id: view_mic_mute
label: View Mic Mute Status
kind: query
command: "M"
response: "{state}"
- id: set_talkover_threshold
label: Set Mic Talk-Over Threshold
kind: action
command: "{threshold}*2#"
params:
- name: threshold
type: integer
min: 0
max: 30
description: "Threshold in dB (0-30, default=8)"
response: "Thr {threshold}"
- id: decrement_talkover_threshold
label: Decrement Talk-Over Threshold
kind: action
command: "\u2013*2#"
response: "Thr {threshold}"
- id: increment_talkover_threshold
label: Increment Talk-Over Threshold
kind: action
command: "+*2#"
response: "Thr {threshold}"
- id: view_talkover_threshold
label: View Talk-Over Threshold
kind: query
command: "2#"
response: "{threshold}"
- id: set_hdcp_per_input
label: Set HDCP Authorization Per Input
kind: action
command: "E E {input}*{state} HDCP}"
params:
- name: input
type: integer
min: 3
max: 6
description: "HDMI/DTP inputs 3-6 only"
- name: state
type: integer
enum: [0, 1]
description: "0=disabled, 1=enabled (default)"
response: "HdcpE {input}*{state}"
- id: set_hdcp_all_inputs
label: Set HDCP Authorization All Inputs
kind: action
command: "E E {state} HDCP}"
params:
- name: state
type: integer
enum: [0, 1]
description: "0=disabled, 1=enabled (default)"
response: "HdcpE {state}"
- id: view_hdcp_status
label: View HDCP Status
kind: query
command: "E EHDCP}"
response: "HdcpE {s3} {s4} {s5} {s6}"
- id: view_input_hdcp
label: View Input HDCP Status
kind: query
command: "E I {input} HDCP}"
params:
- name: input
type: integer
min: 3
max: 6
response: "HdcpI {status}"
- id: view_all_input_hdcp
label: View All Input HDCP Status
kind: query
command: "E I HDCP}"
response: "HdcpI {s3} {s4} {s5} {s6}"
- id: view_output_hdcp
label: View Output HDCP Status
kind: query
command: "E O HDCP}"
response: "HdcpO {status}"
- id: lock_front_panel
label: Lock Front Panel (Executive Mode 1)
kind: action
command: "1X"
response: "Exe 1"
- id: lock_mic_controls
label: Lock Mic Controls (Executive Mode 2)
kind: action
command: "2X"
response: "Exe 2"
- id: unlock_front_panel
label: Unlock Front Panel
kind: action
command: "0X"
response: "Exe 0"
- id: view_lock_status
label: View Lock Status
kind: query
command: "X"
response: "{state}"
- id: factory_reset
label: Factory Reset
kind: action
command: "E ZXXX}"
response: "Zpx"
- id: view_general_info
label: View General Information
kind: query
command: "I"
response: "In {rgb_in} RGB In {vid_in} Vid Pra {aud_in} Ausw {auto_sw} Vmt {vid_mute} Amt {aud_mute}"
- id: query_firmware
label: Query Firmware Version
kind: query
command: "Q"
response: "{version}"
- id: query_firmware_build
label: Query Firmware Version with Build
kind: query
command: "*"
response: "[Q] {version}"
- id: set_unit_name
label: Set Unit Name
kind: action
command: "E {name} CN}"
params:
- name: name
type: string
maxLength: 24
description: "Up to 24 alphanumeric chars and hyphens. First char must be a letter, last char cannot be hyphen. No spaces."
response: "Ipn {name}"
- id: reset_unit_name
label: Reset Unit Name to Default
kind: action
command: "E\u2022 CN}"
response: "Ipn MPS-602"
- id: view_unit_name
label: View Unit Name
kind: query
command: "E CN}"
response: "Ipn {name}"
- id: request_part_number
label: Request Part Number
kind: query
command: "N"
response: "{part_number}"
- id: set_verbose_mode
label: Set Verbose Mode
kind: action
command: "E {mode} CV}"
params:
- name: mode
type: integer
enum: [0, 1, 2, 3]
description: "0=none, 1=verbose (default), 2=tagged response, 3=verbose+tagged"
response: "Vrb {mode}"
- id: view_verbose_mode
label: View Verbose Mode
kind: query
command: "E CV}"
response: "{mode}"
- id: assign_edid
label: Assign EDID to Input
kind: action
command: "E A {input}*{slot} EDID}"
params:
- name: input
type: integer
min: 1
max: 6
description: "Video input 1-6"
- name: slot
type: integer
min: 1
max: 64
description: "EDID slot (1-56=factory, 57=VGA auto, 58=HDMI auto, 59-64=user)"
response: "EdidA {input}*{slot}"
- id: view_edid_assignment
label: View EDID Assignment
kind: query
command: "E A {input} EDID}"
params:
- name: input
type: integer
min: 1
max: 6
response: "{slot}"
- id: save_display_edid
label: Save Display EDID to User Location
kind: action
command: "E S {output}*{slot} EDID}"
params:
- name: output
type: integer
enum: [1, 2]
description: "1=RGB, 2=HDMI/DTP"
- name: slot
type: integer
min: 59
max: 64
description: "User EDID slot (59-64)"
response: "EdidS {output}*{slot}"
- id: read_edid_hex
label: Read EDID in Hex Format
kind: query
command: "E R {input} EDID}"
params:
- name: input
type: integer
min: 1
max: 6
response: "{hex_data}"
- id: view_edid_native_res
label: View EDID Native Resolution
kind: query
command: "E N {input} EDID}"
params:
- name: input
type: integer
min: 1
max: 6
response: "{resolution}"
- id: read_dip_switch_status
label: Read DIP Switch Status
kind: query
command: "E 42STAT}"
response: "Stat42*{phantom} {hdmi_mute} {vid_output_sel}"
- id: read_audio_clipping
label: Read Analog Audio Clipping Status
kind: query
command: "E 41STAT}"
response: "Stat41*{state}"
Feedbacks
feedbacks:
- id: input_selection
type: enum
values: [1, 2, 3, 4, 5, 6]
description: "Current selected video/audio input"
- id: video_mute_state
type: enum
values: [0, 1]
description: "Video mute status (0=off, 1=on)"
- id: audio_mute_state
type: enum
values: [0, 1]
description: "Program audio mute status (0=off, 1=on)"
- id: mic_mute_state
type: enum
values: [0, 1]
description: "Mic mute status (0=off, 1=on)"
- id: auto_switch_mode
type: enum
values: [0, 1, 2]
description: "Auto-input switching mode (0=disabled, 1=highest priority, 2=lowest priority)"
- id: volume_level
type: integer
min: 0
max: 100
description: "Current program volume level"
- id: mic_level
type: integer
description: "Current mic level in dB (-18 to +60)"
- id: talkover_threshold
type: integer
min: 0
max: 30
description: "Mic talk-over threshold in dB"
- id: executive_mode
type: enum
values: [0, 1, 2]
description: "Executive mode state (0=off, 1=front panel lockout, 2=mic lockout)"
- id: input_hdcp_status
type: enum
values: [0, 1, 2]
description: "Input HDCP status (0=no source, 1=HDCP compliant, 2=no HDCP)"
- id: output_hdcp_status
type: enum
values: [0, 1, 2]
description: "Output HDCP status (0=no sink, 1=sink with HDCP, 2=sink no HDCP)"
- id: verbose_mode
type: enum
values: [0, 1, 2, 3]
description: "Verbose mode (0=none, 1=verbose, 2=tagged, 3=verbose+tagged)"
Variables
variables:
- id: program_volume
type: integer
min: 0
max: 100
unit: level
default: 70
set_command: "{value}V"
- id: mic_gain
type: integer
min: 0
max: 60
unit: dB
set_command: "16*{value}"
- id: mic_attenuation
type: integer
min: 1
max: 18
unit: dB
set_command: "16*{value}"
- id: talkover_threshold
type: integer
min: 0
max: 30
unit: dB
default: 8
set_command: "{value}*2#"
- id: ducking_level
type: integer
min: 0
max: 30
unit: dB
default: 6
set_command: "{value}*58#"
- id: audio_input_gain
type: integer
description: "Per-input audio gain 0-24 dB or attenuation 1-18 dB. Combined range -18 to +24 dB."
set_command: "{input}*{value}"
Events
events:
- id: copyright_message
description: "Sent on power-up when connected via RS-232. Contains firmware version, model, part number, and DIP switch settings."
format: "(c) Copyright 20nn, Extron Electronics, MPS 602 SA, Vx.xx 60-1314-51] stat42*0*0*0]"
- id: front_panel_event
description: "Sent when a local event (front panel selection or adjustment) takes place. No host response required."
Macros
# UNRESOLVED: no multi-step sequences explicitly described in source
Safety
confirmation_required_for:
- factory_reset
interlocks: []
Notes
- SIS commands are not case-sensitive unless explicitly stated (audio gain/attenuation: uppercase
Gfor gain, lowercasegfor attenuation). - Responses terminate with CR/LF (represented as
]in command tables). - The
}character represents a bare carriage return (hex 0D) in commands. - The
•character represents a space character in command/response examples. - Executive mode 1 locks all front panel functions; mode 2 locks mic mute and mic volume only.
- Video breakaway to HDMI/DTP inputs (3-6) only available when input is configured for analog audio.
- Program audio breakaway to HDMI/DTP inputs (3-6) only available when audio input format is set to analog.
- EDID slots 1-56 are factory presets, 57 is VGA auto-detect, 58 is HDMI/DTP auto-detect, 59-64 are user-loaded.
- Default EDID for RGB inputs: 1280x720 @ 60 Hz (slot 3). Default EDID for HDMI/DTP inputs: 720p @ 60 Hz (slot 50).
- Error codes: E01=invalid channel, E10=invalid command, E13=invalid value (out of range).
- Talk-over ducking range: 0-30 dB (default 6 dB). Threshold range: 0-30 dB (default 8 dB).
Provenance
source_domains:
- media.extron.com
source_urls:
- https://media.extron.com/public/download/files/userman/68-2358-01_D_MPS_602.pdf
retrieved_at: 2026-05-14T23:37:53.361Z
last_checked_at: 2026-06-02T22:07:07.038Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T22:07:07.038Z
matched_actions: 82
action_count: 82
confidence: medium
summary: "All 82 spec actions traced to source (dip-safe re-verify). (4 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "no TCP/IP control documented; USB control details not specified beyond mention"
- "no multi-step sequences explicitly described in source"
- "USB control protocol details not specified beyond SIS acceptance"
- "firmware version compatibility not stated"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0