Summary
Stereo preamplifier controlled over RS-232C using a HEX command protocol at 19200 baud. Source covers power, volume, mute, source selection, record source selection, and theater bypass commands, plus the unsolicited feedback string format.
Transport
protocols:
- serial
serial:
baud_rate: 19200
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable # inferred from power toggle/on/off commands
- routable # inferred from source + record source select commands
- levelable # inferred from volume up/down and mute commands
Actions
# All command payloads below are literal HEX bytes from the source, verbatim.
# Command frame: FE 03 08 10 {KEY} {CHECKSUM}
# Meta Encoding: any FE/FD in payload byte stream must be escaped (FD→FD 00, FE→FD 01).
- id: power_toggle
label: Power Toggle
kind: action
command: "FE 03 08 10 00 0B"
params: []
- id: power_off
label: Power Off
kind: action
command: "FE 03 08 10 01 1C"
params: []
- id: power_on
label: Power On
kind: action
command: "FE 03 08 10 02 1D"
params: []
- id: volume_up
label: Volume Up
kind: action
command: "FE 03 08 10 13 2E"
params: []
- id: volume_down
label: Volume Down
kind: action
command: "FE 03 08 10 14 2F"
params: []
- id: mute_toggle
label: Mute Toggle
kind: action
command: "FE 03 08 10 15 30"
params: []
- id: source_phono
label: Source Phono
kind: action
command: "FE 03 08 10 03 1E"
params: []
- id: source_cd
label: Source CD
kind: action
command: "FE 03 08 10 04 1F"
params: []
- id: source_tuner
label: Source Tuner
kind: action
command: "FE 03 08 10 05 20"
params: []
- id: source_aux1
label: Source Aux 1
kind: action
command: "FE 03 08 10 06 21"
params: []
- id: source_aux2
label: Source Aux 2
kind: action
command: "FE 03 08 10 07 22"
params: []
- id: source_aux3
label: Source Aux 3
kind: action
command: "FE 03 08 10 08 23"
params: []
- id: source_tape1
label: Source Tape 1
kind: action
command: "FE 03 08 10 09 24"
params: []
- id: source_tape2
label: Source Tape 2
kind: action
command: "FE 03 08 10 0A 25"
params: []
- id: record_source_phono
label: Record Source Phono
kind: action
command: "FE 03 08 10 0B 26"
params: []
- id: record_source_cd
label: Record Source CD
kind: action
command: "FE 03 08 10 0C 27"
params: []
- id: record_source_tuner
label: Record Source Tuner
kind: action
command: "FE 03 08 10 0D 28"
params: []
- id: record_source_aux1
label: Record Source Aux 1
kind: action
command: "FE 03 08 10 0E 29"
params: []
- id: record_source_aux2
label: Record Source Aux 2
kind: action
command: "FE 03 08 10 0F 2A"
params: []
- id: record_source_aux3
label: Record Source Aux 3
kind: action
command: "FE 03 08 10 10 2B"
params: []
- id: record_source_tape1
label: Record Source Tape 1
kind: action
command: "FE 03 08 10 11 2C"
params: []
- id: record_source_off
label: Record Source Off
kind: action
command: "FE 03 08 10 12 2D"
params: []
- id: record_function_select
label: Record Function Select
kind: action
command: "FE 03 08 10 1A 35"
params: []
- id: theater_bypass_toggle
label: Theater Bypass Toggle
kind: action
command: "FE 03 08 10 1B 36"
params: []
- id: theater_bypass_on
label: Theater Bypass On
kind: action
command: "FE 03 08 10 1C 37"
params: []
- id: theater_bypass_off
label: Theater Bypass Off
kind: action
command: "FE 03 08 10 1D 38"
params: []
Feedbacks
# Parsed from unsolicited 42-byte ASCII response string.
# Volume not available - unit uses a rotary knob, no numerical level.
- id: current_source
type: enum
values: [phono, cd, tuner, aux1, aux2, aux3, tape1, tape2]
- id: current_record_source
type: enum
values: [phono, cd, tuner, aux1, aux2, aux3, tape1, off]
Events
- id: front_panel_change
description: |
Unit sends unsolicited feedback string on any change to the front-panel display.
Frame: FE 2C 08 20 {42 ASCII bytes} {checksum}.
ASCII payload contains source name and record source name; parse to derive unit status.
Macros
# UNRESOLVED: no multi-step sequences documented in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source contains no safety warnings, interlock procedures, or power-on sequencing
Notes
- Command frame:
FE 03 08 10 {KEY} {CHECKSUM}. Count byte (0x03) covers ID+Type+Key only, not Start or Checksum. - Do not append CR/LF to commands.
- Meta Encoding: any byte
FDorFEappearing inside the byte stream must be escaped asFD 00(wasFD) orFD 01(wasFE), except the leading Start byte. Commands using meta encoding would be marked red in the source. - Response frame:
FE 2C 08 20 {42 ASCII bytes} {CHECKSUM}— sent unsolicited on every front-panel state change, not in reply to a query. No query command set documented. - Volume is rotary; no numerical level queryable via serial.
Provenance
source_domains:
- rotel.com
source_urls:
- "https://www.rotel.com/sites/default/files/product/rs232/RC1580%20Protocol.pdf"
- https://www.rotel.com/manuals-resources/rs232-protocols
- https://www.rotel.com/product/rc-1580
- "https://www.rotel.com/sites/default/files/product/ir/RC1580%20HEX.pdf"
retrieved_at: 2026-05-22T14:16:14.822Z
last_checked_at: 2026-06-01T19:56:18.010Z
Verification Summary
verdict: verified
checked_at: 2026-06-01T19:56:18.010Z
matched_actions: 26
action_count: 26
confidence: medium
summary: "All 26 spec commands match source table verbatim with correct transport parameters and 100% coverage. (4 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "no firmware version stated in source; no query commands documented (status returned only via unsolicited feedback); volume is rotary with no numerical feedback"
- "no multi-step sequences documented in source"
- "source contains no safety warnings, interlock procedures, or power-on sequencing"
- "firmware version compatibility not stated in source; no documented query commands (status available only via unsolicited feedback); no documented macros or safety interlocks"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0