Summary
Atlona AT-PROHD1616M-SR is a 16x16 HDMI matrix switcher with bidirectional RS-232 control. This spec covers the RS-232C command set for routing, presets, EDID, front-panel lock, and serial-parameter configuration of the matrix and its receiver zones.
Transport
protocols:
- serial
serial:
baud_rate: 115200 # matrix default per source; also configurable via CSpara[...]
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
# Allowed baud values per source: 2400, 4800, 9600, 19200, 38400, 57600, 115200
# Connector: 9-pin female D-sub. Pin 2 = Tx, Pin 3 = Rx, Pin 5 = Gnd.
# Receiver (zone) port default per source: 9600 8N1.
auth:
type: none # inferred: no auth procedure in source
Termination: commands end with CR (0x0D); feedback ends with CRLF (0x0D 0x0A). Commands are case-sensitive — do not alter capitalization. On error the device replies Command FAILED.
Traits
- routable # inferred from x1AVx2, x1All, All#, x1$, All$, x1AVx2,x3,x4 commands
- queryable # inferred from Type, Version, PWSTA, Status, Statusx1, RS232para commands
Actions
- id: model_info_query
label: Model Info Query
kind: query
command: "Type"
params: []
feedback: "(Model #)"
- id: lock_front_panel
label: Lock Front Panel
kind: action
command: "Lock"
params: []
feedback: "Lock"
- id: unlock_front_panel
label: Unlock Front Panel
kind: action
command: "Unlock"
params: []
feedback: "Unlock"
- id: firmware_version_query
label: Firmware Version Query
kind: query
command: "Version"
params: []
feedback: "(Firmware #)"
- id: rs232_zone_passthrough
label: RS-232 Zone Passthrough
kind: action
command: "RS232zoneX[cmd]"
params:
- name: zone
type: integer
description: Zone number (output number)
- name: cmd
type: string
description: Command to forward to the receiver's RS-232 port (one of the commands in this table)
feedback: "RS232zoneX[cmd]"
- id: power_on
label: Power On
kind: action
command: "PWON"
params: []
feedback: "PWON"
- id: power_off
label: Power Off
kind: action
command: "PWOFF"
params: []
feedback: "PWOFF"
- id: power_status_query
label: Power Status Query
kind: query
command: "PWSTA"
params: []
feedback: "PWx (e.g. PWON / PWOFF)"
- id: output_route_query
label: Output Route Query (single)
kind: query
command: "Status{output}"
params:
- name: output
type: integer
description: Output number to query (1-16)
feedback: "x7AVx1 (input on output)"
- id: full_route_query
label: Full Route Status Query
kind: query
command: "Status"
params: []
feedback: "x1AVx1, x2AVx2, x3AVx4, ...."
- id: save_preset
label: Save Preset
kind: action
command: "Save{preset}"
params:
- name: preset
type: integer
description: Preset slot 0-9
feedback: "Save{preset}"
- id: recall_preset
label: Recall Preset
kind: action
command: "Recall{preset}"
params:
- name: preset
type: integer
description: Preset slot 0-9
feedback: "Recall{preset}"
- id: clear_preset
label: Clear Preset
kind: action
command: "Clear{preset}"
params:
- name: preset
type: integer
description: Preset slot 0-9
feedback: "Clear{preset}"
- id: route_input_to_all
label: Route Input To All Outputs
kind: action
command: "{input}All"
params:
- name: input
type: integer
description: Input number 1-16
feedback: "{input}All"
- id: route_input_to_matching_output
label: Route Input To Matching Output
kind: action
command: "{input}#"
params:
- name: input
type: integer
description: Input number 1-16 (also used as output number)
feedback: "{input}#"
- id: reset_all_routes
label: Reset All Routes (input n to output n)
kind: action
command: "All#"
params: []
feedback: "All#"
- id: turn_off_output
label: Turn Off Output
kind: action
command: "{output}$"
params:
- name: output
type: integer
description: Output number 1-16
feedback: "{output}$"
- id: turn_off_all_outputs
label: Turn Off All Outputs
kind: action
command: "All$"
params: []
feedback: "All$"
- id: route_input_to_output
label: Route Input To Single Output
kind: action
command: "{input}AV{output}"
params:
- name: input
type: integer
description: Input number 1-16
- name: output
type: integer
description: Output number 1-16
feedback: "{input}AV{output}"
- id: route_input_to_multiple_outputs
label: Route Input To Multiple Outputs
kind: action
command: "{input}AV{out1},{out2},{out3}"
params:
- name: input
type: integer
description: Input number 1-16
- name: out1
type: integer
description: First output number 1-16
- name: out2
type: integer
description: Second output number 1-16
- name: out3
type: integer
description: Third output number 1-16
feedback: "{input}AV{out1},{out2},{out3}"
- id: matrix_factory_reset
label: Matrix Factory Reset
kind: action
command: "Mreset"
params: []
feedback: "Mreset"
- id: set_edid_default
label: Set EDID To Default
kind: action
command: "EDIDMSet{input} default"
params:
- name: input
type: integer
description: Input number 1-16
feedback: "EDIDMSet{input} default"
- id: set_edid_saved
label: Set EDID To Saved Memory
kind: action
command: "EDIDMSet{input} save{memory}"
params:
- name: input
type: integer
description: Input number 1-16
- name: memory
type: integer
description: Saved EDID memory slot
feedback: "EDIDMSet{input} save{memory}"
- id: set_edid_internal
label: Set EDID To Internal
kind: action
command: "EDIDMSet{input} int{edid}"
params:
- name: input
type: integer
description: Input number 1-16
- name: edid
type: integer
description: Internal EDID index 1-12 (see Variables.edid_internal)
feedback: "EDIDMSet{input} int{edid}"
- id: set_matrix_serial_params
label: Set Matrix Serial Parameters
kind: action
command: "CSpara[{baud},{data},{parity},{stop}]"
params:
- name: baud
type: integer
description: Baud rate (2400, 4800, 9600, 19200, 38400, 57600, 115200)
- name: data
type: integer
description: Data length - must be 8 for matrix
- name: parity
type: integer
description: Parity - 0=none, 1=odd, 2=even (must be 0 for matrix)
- name: stop
type: integer
description: Stop bits - must be 1 for matrix
feedback: "CSpara[...]"
- id: query_receiver_serial_params
label: Query Receiver Serial Parameters
kind: query
command: "RS232para"
params: []
feedback: "Multi-line per-port parameter list (see Notes)"
- id: set_receiver_serial_params
label: Set Receiver Serial Parameters
kind: action
command: "RS232para{zone}[{baud},{data},{parity},{stop}]"
params:
- name: zone
type: integer
description: Zone/output number 1-16
- name: baud
type: integer
description: Baud rate (2400, 4800, 9600, 19200, 38400, 57600, 115200)
- name: data
type: integer
description: Data length (7 or 8)
- name: parity
type: integer
description: Parity (0=none, 1=odd, 2=even)
- name: stop
type: integer
description: Stop bits (1 or 2)
feedback: "RS232para{zone}[...]"
Feedbacks
- id: power_state
type: enum
values: [on, off]
notes: "Reported by PWSTA as PWON or PWOFF."
- id: matrix_route_state
type: string
notes: "Reported by Status. Comma-separated list of x{input}AVx{output} pairs."
- id: output_route_state
type: string
notes: "Reported by Status{output} as x{input}AVx{output}."
- id: receiver_serial_params
type: string
notes: "Reported by RS232para. Multi-line: one line per output port 1-16 with BaudRate, DataBits, Parity, StopBits."
Variables
- id: baud_rate
type: enum
values: [2400, 4800, 9600, 19200, 38400, 57600, 115200]
applies_to: [matrix, receiver]
notes: "Matrix baud is set via CSpara[...]. Receiver baud is set via RS232para{zone}[...]."
- id: data_bits
type: enum
values: [7, 8]
applies_to: [receiver]
notes: "Matrix data length is fixed at 8."
- id: parity
type: enum
values: [none, odd, even]
applies_to: [receiver]
notes: "Encoded as 0/1/2 in CSpara and RS232paraX commands. Matrix parity is fixed at none."
- id: stop_bits
type: enum
values: [1, 2]
applies_to: [receiver]
notes: "Matrix stop bits fixed at 1."
- id: preset_slot
type: integer
range: [0, 9]
notes: "Used by Save/Recall/Clear preset commands."
- id: input_number
type: integer
range: [1, 16]
notes: "Matrix input selector."
- id: output_number
type: integer
range: [1, 16]
notes: "Matrix output selector."
- id: edid_internal
type: integer
range: [1, 12]
notes: "Internal EDID index. 1=1080P 2CH, 2=1080P multichannel, 3=1080P DD 5.1, 4=1080P 3D 2CH, 5=1080P 3D Multi, 6=1080P 3D DD 5.1, 7=720P 2CH, 8=720P DD 5.1, 9=1280x800 RGB 2CH, 10=1366x768 RGB 2CH, 11=1080P DVI, 12=1280x800 DVI."
Events
# UNRESOLVED: source documents no unsolicited device-pushed notifications.
Macros
# UNRESOLVED: source documents no multi-step sequences.
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source contains no safety warnings, interlocks, or power-on sequencing requirements.
Notes
- Commands are case-sensitive per source. Do not alter capitalization, spacing, or lettering.
- Line discipline: every command is terminated with CR; every feedback is terminated with CRLF.
- On invalid command, the device replies with the literal string
Command FAILED(no terminating bytes specified in source). Mresetreturns the matrix to default settings; effect is destructive — clarify with user before exposing as a user-facing control.- Receiver (zone) port default per source: Baud 9600, Data 8, Parity None, Stop 1.
RS232zoneX[cmd]is a passthrough: it forwards any matrix command to a connected receiver's RS-232 port (e.g.RS232zone1[PWON]). The forwarded command set is the same as the matrix command set.Statusreturns a variable-length list ofx{i}AVx{j}pairs — caller must parse the comma-separated response.RS232parareturns one line per port (1-16), each line formattedPort N :BaudRate Xbps, DataBits N, Parity XXX, StopBits N.
Provenance
source_domains:
- atlona.com
source_urls:
- https://atlona.com/pdf/manuals/AT-PRO2HD_V1.pdf
- https://atlona.com/downloads/AMX_AT-PRO2HD1616M.zip
- https://atlona.com/downloads/CRM_AT-PRO2HD1616M.zip
- https://atlona.com/pdf/AT-UHD-PRO3-1616M_API.pdf
retrieved_at: 2026-05-20T18:32:28.305Z
last_checked_at: 2026-06-02T21:40:05.741Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T21:40:05.741Z
matched_actions: 27
action_count: 27
confidence: medium
summary: "All 27 spec actions matched literal commands in source; transport parameters verified. (8 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "receiver model AT-PRO2HDREC mentioned as baud-target only; no receiver-side command set documented."
- "no explicit power-cycle entry beyond PWON/PWOFF — `powerable` not emitted as no on-state persistence is described."
- "source documents no unsolicited device-pushed notifications."
- "source documents no multi-step sequences."
- "source contains no safety warnings, interlocks, or power-on sequencing requirements."
- "firmware version not stated in source."
- "receiver-side command set for AT-PRO2HDREC not provided in source."
- "error-recovery / fault behavior not stated in source."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0