Custom Installation Notes
IP/Serial programming interface
and IR remote control commands
for the SA30 integrated amplifier

INTEGRATED AMPLIFIER

POWER
PHONESAUXMENU

INPUT-

INPUT+

DIRAC

MUTE

INFO

DIRECTDISPLAYBALContents
Controlling via RS232/NET.............................................3
Introduction.................................................................................... 3
Set-up................................................................................................. 3
Conventions.................................................................................... 3
Serial cable specification............................................................ 3
Data transfer format..................................................................... 3
Command and response formats........................................... 3
AMX Duet™ support..................................................................... 4

System Command Specifications................................5Power (0x00).................................................................................... 5
Display brightness (0x01).......................................................... 5
Headphones (0x02)...................................................................... 6
Software version (0x04).............................................................. 6
Factory reset (0x05)...................................................................... 7
Simulate RC5 IR command (0x08).......................................... 7
Volume (0x0D)................................................................................ 8
Mute/unmute (0x0E).................................................................... 8
Direct mode status (0x0F).......................................................... 9
Network playback status (0x1C) ............................................ 9
Current input source (0x1D)...................................................10
Headphone override (0x1F)....................................................11
Heartbeat (0x25)..........................................................................11
Reboot (0x26)...............................................................................12
Network (0x30).............................................................................13
Room EQ names (0x34)............................................................14
Room Equalisation (0x37)........................................................14
Balance (0x3B)..............................................................................15
Incoming audio sample rate (0x44).....................................15
DC offset (0x51)............................................................................16
Short circuit status (0x52)........................................................16
Timeout counter (0x55)............................................................17
Lifter temperature (0x56) ........................................................17
Output temperature (0x57)....................................................18
Auto shutdown control (0x58)...............................................18
PHONO input type (0x59)........................................................19
Input detect (0x5A).....................................................................19
Processor mode input (0x5B).................................................20
Processor mode volume (0x5C)............................................20
System status (0x5D)..................................................................21
System model (0x5E).................................................................22
DAC Filter (0x61)..........................................................................22
Now Playing information (0x64)...........................................23
Maximum Turn On Volume (0x65).......................................24
Maximum Volume (0x66).........................................................24
Maximum Streaming Volume (0x67)..................................25

RC5 Command Codes....................................................26
Basic Functions.............................................................................26
Advanced Functions..................................................................26

Applicability
This document applies to the Arcam SA30 integrated amplifier.
Revision history
Issue A.0:		

Initial revision

Issue B.0:		

Additional network commands

Issue 1.0: 		

First release version

Issue 2.0:		
Added max streaming volume, correcrted max vol		examples2

		

Added ARC version

		

Add NET as selectable input

Issue 3.0		

Combine USB and NET inputs (0x1D)

Issue 4.0		

Add ARC iR input

Controlling via RS232/NET
Introduction
This document describes the remote control protocol for controlling via the RS232/NET interface.

Set-up
IP control is via port 50000 of the IP address of the unit.

Conventions
 All hexadecimal numbers begin 0x.
 Any character in single quotes gives the ASCII equivalent of a hex value.
 <n> represents an unknown or variable number.

1

5

Serial cable specification
96
DB9 Female

DB9 Female

5

1

6

9

The cable is wired as a null modem:
Connector 1 pin

Connector 2 pin

Function

2

3

Rx  Tx32

Tx  Rx

5

5

RS232 Ground

Data transfer format
 Transfer rate: 38,400bps
 Data format: 8 data bits, 1 stop bit, no parity, no flow control.

Command and response formats
Communication between the remote controller (RC) and the SA30 takes the form of sequences of bytes, with all commands and responses having the same
basic format. The SA30 shall always respond to a received command, but may also send messages at other times.
Each transmission by the RC hs the following format:<St> <Zn> <Cc> <Dl> <Data> <Et>
• St (Start transmission): 0x21 ‘!’• Zn (Zone number): see below• Cc (Command code): the code for the command• Dl (Data length): the number of data items following this item, excluding the Et• Data: the parameters for the command• Et (End transmission): 0x0D
Each response by the SA30 has the following format:<St> <Zn> <Cc> <Ac> <Dl> <Data> <Et>
• St (Start transmission): 0x21 ‘!’• Zn (Zone number): see “Zone numbers”, below• Cc (Command code): the code for the command• Ac (Answer code): see “Answer codes”, below• Dl (Data Length): the number of data items following this item, excluding the Et• Data: the parameters for the response of length n (note that n is limited to 255)
• Et (End transmission): 0x0D
The SA30 responds to each command from the RC within three seconds. The RC may send further commands before a previous command response has been
received.
Zone numbers
The following zone numbers are defined:• 0x01 – Zone number 1. (Zone 1 is the master zone. Commands that appear zone-less refer to the master zone)• 0x02 – Zone number 2

3

Answer codes
The following answer codes are defined:• 0x00 – Status update.
• 0x82 – Zone Invalid.
• 0x83 – Command not recognised.
• 0x84 – Parameter not recognised.
• 0x85 – Command invalid at this time (see NOTE below)• 0x86 – Invalid data length.
NOTE: Certain commands cannot be processed when the Setup Menu is being displayed. An answer code of 0x85 will be returned in these circumstances. Also,
commands for tuner control cannot be processed when the tuner input is not selected, etc.
State changes as a result of other inputs
It is possible that the state of the SA30 may be changed as a result of user input via front panel or remote. Any change resulting from these inputs is relayed to
the RC using the appropriate message type.
Reserved Commands
Commands 0xF0 to 0xFF (inclusive) are reserved for test functions and should never be used.
Example command and response sequence
As an example, the command to simulate the RC5 command “16-16” (increase volume):
St

Zn

Cc

Dl

Data 1

Data 2

Et

0x21

0x01

0x08

0x02

0x10

0x10

0x0D

Assuming that the command was accepted by the SA30 and is being processed, the SA30 responds to this command with the following sequence:
St

Zn

Cc

Ac

Dl

Data 1

Data 2

Et

0x21

0x01

0x08

0x00

0x02

0x10

0x10

0x0D

AMX Duet™ support
The SA30 shall be fully compatible with AMX Duet™ Dynamic Device Discovery Protocol (DDDP). The following description of Dynamic Device Discovery
comes from the AMX website (www.amx.com). Dynamic Device Discovery is part of AMX’s Duet™ platform, which combines the proven reliability and power of
NetLinx® with the extensive capabilities of the Java 2 Micro Edition (J2ME) platform. When integrating a serial or IP device from a manufacturer embedding the
Dynamic Device Discovery Protocol (DDDP), Duet recognizes the device and loads the appropriate Duet module, which automatically installs the new device.
AMX’s NetLinx Master can then find and install the Duet device module either from a library on the master, from AMX’s web site, or from the manufacturer’s web
site. Duet also allows for device swapping so that programming changes are not required when devices with DDDP are removed or replaced – a huge benefit
for end users. The Duet platform is an extension AMX’s InConcert® manufacturer partner program, which was developed to ensure seamless communication
between partners’ devices and the AMX control system.
Data is specified in the ASCII format. All ASCII characters between the quotes “” should be recognised/transmitted. “\r” is a carriage return (0x0D).
Command: “AMX\r”
Response: “AMXB<Device-SDKClass=Amplifier><Device-Make=ARCAM><Device-Model=SA30><Device-Revision=x.y.z>\r”
Where,
x.y.z = RS232 protocol version number.

4

System Command Specifications
Power (0x00)
Set/request the stand-by state of a zone.
ExampleCommand/response sequence to request the power state of the unit where
the unit has power on:
Command:0x21 0x01 0x00 0x01 0xF0 0x0D
Response:
0x21 0x01 0x00 0x00 0x01 0x01 0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x00

Dl

0x01

Data

0x00 – Power off
0x01 – Power on
0x02 – Power toggle
0xF0 – Request power state

Et

0x0D

RESPONSE:

Display brightness (0x01)
Set/request the brightness of the front panel display.
ExampleCommand/response sequence for requesting the brightness of the display
where the display is off:
Command:0x21 0x01 0x01 0x01 0xF0 0x0D
Response:
0x21 0x01 0x01 0x00 0x01 0x00 0x0D

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x00

Ac

Answer code

Dl

0x01

Data

0x00 – Zone is in standby
0x01 – Zone is powered on

Et

0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x01

Dl

0x01

Data

0x00 – Set brightness to off
0x01 – Set brightness to dim
0x02 – Set brightness to full
0xF0 – Request display brightness

Et

0x0D

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x01

Ac

Answer code

Dl

0x01

Data

0x00 – Display brightness is off
0x01 – Display brightness is dim
0x02 – Display brightness is full

Et

0x0D

5

Headphones (0x02)
Determine whether headphones are connected.
ExampleCommand/response sequence to request the headphone status where theheadphones are not connected:
Command:0x21 0x01 0x02 0x01 0xF0 0x0D
Response:
0x21 0x01 0x02 0x00 0x01 0x00 0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x02

Dl

0x01

Data

0xF0 – Request current headphone connection status

Et

0x0D

RESPONSE:

Software version (0x04)
Request the firmware version
ExampleCommand/response sequence, where the repsonse is HOST version 1.2:
Command:0x21 0x01 0x04 0x01 0xF0 0x0D
Response:
0x21 0x01 0x04 0x00 0x02 0xF0 0x01 0x02 0x0D

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x02

Ac

Answer codeDl

0x01 (Data length)Data0x00 – Headphones are not connected.
0x01 – Headphones are connected

Et

0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x04

Dl

0x01

Data

0xF0 – request software version
0xF2 - request ARC version
0xF3 - request ARC Rx version

Et

0x0D

RESPONSE:

6

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x04

Ac

Answer code

Dl

0x02

Data1

Echo data from command

Data2

0x?? – major version number

Data30x?? – minor version number

Et

0x0D

Factory reset (0x05)
This command resets the unit to factory defaults.
ExampleCommand/response sequence for resetting the unit to factory defaults:
Command:0x21 0x01 0x05 0x02 0xAA 0xAA 0x0D
Response:
0x21 0x01 0x05 0x00 0x00 0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x05

Dl

0x02

Data1

0xAA (Confirmation data pattern to avoid accidental restore)

Data2

0xAA (Confirmation data pattern to avoid accidental restore)

Et

0x0D

RESPONSE:

Simulate RC5 IR command (0x08)
Simulate an RC5 command via the RS232 port. An additional status message
will be sent in most cases as a result of the IR command.
ExampleCommand/response sequence to RC5 16-17 (volume down):
Command:0x21 0x01 0x08 0x02 0x10 0x11 0x0D
Response:
0x21 0x01 0x08 0x00 0x02 0x10 0x11 0x0D

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x05

Ac

Answer code

Dl

0x00

Et

0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x08

Dl

0x02

Data1

RC5 System code

Data2

RC5 Command code

Et

0x0D

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x08

Ac

Answer code

Dl

0x02

Data1

RC5 System code

Data2

RC5 Command code

Et

0x0D

7

Volume (0x0D)
Set or request the volume of a zone.
This command returns the volume even if the zone requested is in mute.
The “Request Mute status” command can be used to discover if the zone ismuted.
Response data format:
e.g. for volume 45: Data=0x2D (45)COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x0D

Dl

0x01

Data

0x00 (0) – 0x63 (99) – Set the volume
0xF0 – Request the current volume
0xF1 – Increment volume by 1 step
0xF2 – Decrement volume by 1 step

Et

0x0D

ExampleCommand/response sequence for setting the volume in Zone 1 to 45:
Command:0x21 0x01 0x0D 0x01 0x2D 0x0D
Response:
0x21 0x01 0x0D 0x00 0x01 0x2D 0x0D

Mute/unmute (0x0E)
Set/Request the mute status of the output.
ExampleCommand/response sequence for requesting the mute status of output
where the result is unmuted:
Command:0x21 0x01 0x0E 0x01 0xF0 0x0D
Response:
0x21 0x01 0x0E 0x00 0x01 0x02 0x0D

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x0D

Ac

Answer code

Dl

0x01

Data

Zone volume, integer value:
0x00 (0) – 0x63 (99)

Et

0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x0E

Dl

0x01

Data

0x00 – Mute0x01 – Unmute
0x02 – Mute toggle
0xF0 – Request mute status

Et

0x0D

RESPONSE:

8

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x0E

Ac

Answer code

Dl

0x01

Data

0x00 – Muted
0x01 – Unmuted

Et

0x0D

Direct mode status (0x0F)
Set or request the analogue input direct mode of an input
ExampleCommand/response sequence to request the direct mode status where themode is direct and input is CD:
Command:0x21 0x01 0x0F 0x01 0xF0 0x0D
Response:
0x21 0x01 0x0F 0x00 0x02 0x06 0x01 0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

0x01

Cc

0x0F

Dl

0x01 (Query), 0x02 for setting

Data 10x01 – Phono
0x02 – AUX
0x03 – PVR
0x05 – STB
0x06 – CD
0xF0 – Request mode setting of current input

Data 20x00 – Turn ‘Direct mode’ off
0x01 – Turn‘Direct mode’ on

Et

0x0D

RESPONSE:

Network playback status (0x1C)
Network message format.
If the network is not selected on the given zone an error 0x85 is returned.
ExampleCommand/response sequence where the network module is playing.
Command:0x21 0x01 0x1C 0x01 0xF0 0x0D
Response:

0x21 0x01 0x1C 0x00 0x01 0x01 0x0D

Byte:

Description:

St

0x21

Zn

0x01

Cc

0x0F

Ac

Answer code

Dl

0x01

Data 10x01 – Phono
0x02 – AUX
0x03 – PVR
0x05 – STB
0x06 – CD

Data 20x00 – ‘Direct mode’ is off
0x01 – ‘Direct mode’ is on

Et

0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x1C

Dl

0x01

Data

0xF0 – Request Network playback status

Et

0x0D

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x1C

Ac

Answer code

Dl

0x01

Data1

0x00 – Stopped
0x01 – Transitioning
0x02 – Playing
0x03 - Paused

Et

0x0D

9

Current input source (0x1D)
Set/request the current input source.
ExampleCommand/response sequence to request the current source for Zone 1
where the source is set to ‘PVR’ and set to processor mode:
Command:0x21 0x01 0x1D 0x01 0xF0 0x0D
Response:
0x21 0x01 0x1D 0x00 0x01 0x13 0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x1D

Dl

0x01

Data

0x01 – Phono
0x02 – AUX
0x03 – PVR
0x04 – AV
0x05 – STB
0x06 – CD
0x07 – BD
0x08 – SAT
0x09 - GAME
0x0B - NET/USB
0x0D - ARC
0xF0 - Request input

Et

0x0D

RESPONSE:

10

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x1D

Ac

Answer code

Dl

0x02

Data

The current source in the indicated zone:
0x01 – Phono
0x(N)2 – AUX
0x(N)3 – PVR
0x(N)4 – AV
0x(N)5 – STB
0x(N)6 – CD
0x(N)7 – BD
0x(N)8 – SAT
0x(N)9 - GAME
0x0B - NET/USB
0x0D - ARC
N = 0 indicates source is normal mode
N = 1 indicates source is set to processor (fixed gain) mode

Et

0x0D

Headphone override (0x1F)
Activate/deactivate the mute relays (does not zero the volume).
ExampleCommand/response sequence to activate the mute relays:
Command:0x21 0x01 0x1F 0x01 0x01 0x0D
Response:
0x21 0x01 0x1F 0x00 0x01 0x01 0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x1F

Dl

0x01

Data

0x00 – Headphone/Over-ride Clear (speakers muted if headphones present)
0x01 – Headphone/Over-ride Set (speakers unmuted if headphones present)
0xF0 - Request Headphone/Over-ride status

Et

0x0D

RESPONSE:

Heartbeat (0x25)
Heartbeat command to check unit is still connected and communicating also resets the EuP standby timer.
ExampleCommand/response to sending a heartbeat command:
Command:0x21 0x01 0x25 0x01 0xF0 0x0D
Response:
0x21 0x01 0x25 0x00 0x01 0x00 0x0D

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x1F

Ac

Answer code

Dl

0x01

Data

Relay state

Et

0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x25

Dl

0x01

Data

0xF0 – Heartbeat

Et

0x0D

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone Number

Cc

0x25

Ac

Answer code

Dl

0x01

Data

0x00 – Response

Et

0x0D

11

Reboot (0x26)
Forces a reboot of the unit.
ExampleCommand/response to sending a reboot command:
Command:0x21 0x01 0x26 0x06 0x52 0x45 0x42 0x4F 		
		
0x4F 0x54 0x0D
Response:
0x21 0x01 0x26 0x01 0x00 0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x26

Dl

0x06

Data1

0x52

Data2

0x45

Data3

0x42

Data4

0x4F

Data5

0x4F

Data6

0x54

Et

0x0D

RESPONSE:

12

Byte:

Description:

St

0x21

Zn

Zone Number

Cc

0x26

Ac

Answer code

Dl

0x01

Data

0x00 – Response

Et

0x0D

Network (0x30)
Request network info.
ExampleCommand/response sequence for requesting the IP address, where theaddress is 192 168 1 1
Command:0x21 0x01 0x30 0x01 0xF0 0x0D
Response:
0x21 0x01 0x30 0x00 0x04 0xC0 0xA8 0x01 0x010x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

0x01

Cc

0x30

Dl

0x01

Data1

0xF0 - Request IP address
0xF1 - Request Wired MAC address
0xF2 - Request WiFi MAC address
0xF3 - Request Friendly name
0xF4 - Request Host Name
0xF5 - Request SSID

Et

0x0D

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone Number

Cc

0x30

Ac

Answer codeDl

0x04 (IP), 0x06 (MAC), <n> (Name)
IP Address

Data1

0x?? First byte of IP address

Data2

0x?? Second byte of IP address

Data30x?? Third byte of IP address

Data40x?? Forth byte of IP address
Wired/WiFi MAC Address

Data1

0x?? First byte of MAC address

Data2

0x?? Second byte of MAC address

Data30x?? Third byte of MAC address

Data40x?? Forth byte of MAC address

Data50x?? Fifth byte of MAC address

Data60x?? Sixth byte of MAC address
Friendly/Host nameData1 Data <n-1>

Friendly name in ASCII characters

SSID
Data1 Data <n-1>

SSID in ASCII characters

Et

0x0D

13

Room EQ names (0x34)
Request Room EQ name(s).

COMMAND:
Byte:

Description:

St

0x21

Zn

0x01

Cc

0x34

Dl

0x01

Data1

0xF0 - request EQ names

Et

0x0D

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone Number

Cc

0x34

Ac

Answer codeDl

0xn - dependant on number of EQ slots filled, 20, 40, 60, 80,100, 120

Data1-20

Data101120

EQ1 name (read only / 20 characters)
name in ASCII characters
EQ2 name (read only / 20 characters)
name in ASCII characters
EQ3 name (read only / 20 characters)
name in ASCII characters
EQ4 name (read only / 20 characters)
name in ASCII characters
EQ5 name (read only / 20 characters)
name in ASCII characters
EQ6 name (read only / 20 characters)
name in ASCII characters

Et

0x0D

Data21-40
Data41-60
Data61-80
Data81-100

Room Equalisation (0x37)
Turn the room equalisation system on/off.
ExampleCommand/response sequence to turn the room equalisation 1 on:
Command:0x21 0x01 0x37 0x01 0xF1 0x0D
Response:
0x21 0x01 0x37 0x00 0x01 0x01 0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x37

Dl

0x01

Data

0xF0 – Request current Room EQ state
0x00 - Room EQ off
0x01 – Room EQ 1 on
0x02 - Room EQ 2 on
0x03 -Room EQ 3 on
0x04 -Room EQ 4 on
0x05 -Room EQ 5 on
0x06 -Room EQ 6 on

Et

0x0D

RESPONSE:

14

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x37

Ac

Answer code

Dl

0x01

Data1

0x00 – Room EQ is off
0x01 – Room EQ 1 is on
0x02 – Room EQ 2 is on
0x03 – Room EQ 3 is on
0x04 – Room EQ 4 is on
0x05 – Room EQ 5 is on
0x06 – Room EQ 6 is on
0x0A – Room EQ has not been calculated and is therefore off

Et

0x0D

Balance (0x3B)
Adjust the balance control.
ExampleCommand/response sequence to set the balance 3dB to the left:
Command:0x21 0x01 0x3B 0x01 0x83 0x0D
Response:
0x21 0x01 0x3B 0x00 0x01 0x83 0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x3B

Dl

0x01

Data

0x00 – Set the balance to the centre
0x01 – 0x0C – Set the balance to the right 1, 2, ..., 11, 12
0x81 – 0x8C – Set the balance to the left 1, 2,..., 11, 12
0xF0 – Request current balance
0xF1 – Move the balance right by 1dB
0xF2 – Move the balance left by 1dB

Et

0x0D

RESPONSE:

Incoming audio sample rate (0x44)
Request the incoming audio sample rate.
ExampleCommand/response sequence to request the incoming audio sample rate,
where the rate is 48kHz:
Command:0x21 0x01 0x44 0x01 0xF0 0x0D
Response:
0x21 0x01 0x44 0x00 0x01 0x02 0x0D

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x3B

Ac

Answer code

Dl

0x01

Data

0x00 – Balance is Centred
0x00 – 0x0C – Balance is Right 1, 2,...,11, 12
0x81 – 0x8C – Balance is Left 1, 2,...,11, 12

Et

0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x44

Dl

0x01

Data

0xF0 – Request incoming audio sample rate

Et

0x0D

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x44

Ac

Answer code

Dl

0x01

Data

Incoming audio sample rate:
0x00 – 32 kHz
0x01 – 44.1 kHz
0x02 – 48 kHz
0x03 – 88.2 kHz
0x04 – 96 kHz
0x05 – 176.4 kHz
0x06 – 192 kHz
0x07 – Unknown
0x08 – Undetected

Et

0x0D

15

DC offset (0x51)
Request the output DC offset status.
ExampleCommand/response sequence for requesting the DC offset status where theresult is no DC offset:
Command:0x21 0x01 0x51 0x01 0xF0 0x0D
Response:
0x21 0x01 0x51 0x00 0x01 0x00 0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x51

Dl

0x01

Data

0xF0 – Request DC offset status

Et

0x0D

RESPONSE:

Short circuit status (0x52)
Request the output short circuit status.
ExampleCommand/response sequence for requesting the short circuit status, where
the result is no short circuit:
Command:0x21 0x01 0x52 0x01 0xF0 0x0D
Response:
0x21 0x01 0x52 0x00 0x01 0x00 0x0D

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x51

Ac

Answer code

Dl

0x01

Data

0x00 - OK
0x01 - DC offset detected

Et

0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x52

Dl

0x01

Data

0xF0 – Request short circuit status

Et

0x0D

RESPONSE:

16

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x52

Ac

Answer code

Dl

0x01

Data

0x00 - No short circuit detected
0x01 - One of the channels has short circuit fault

Et

0x0D

Timeout counter (0x55)

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x55

Command/response sequence for requesting the time left until timeout:
Command:0x21 0x01 0x55 0x01 0xF0 0x0D
Response:
0x21 0x01 0x55 0x00 0x02 0x00 0xF0 0x0D

Dl

0x01

Data

0xF0

Et

0x0D

In this example, the timeout value is 0x00B4, which translates to 180 minutes(i.e. 3 hours). The range of the value returned is from 0x0000 - 0x00F0 (0 - 240
minutes)RESPONSE:

This command requests the time left (in minutes) until unit enters auto
standby.
ExampleLifter temperature (0x56)
Request the temperature of the lifter.
ExampleCommand/response sequence for requesting the temperature of the lifterwhere the result is 75degC:
Command:0x21 0x01 0x56 0x01 0xF0 0x0D
Response:
0x21 0x01 0x56 0x00 0x01 0x4B 0x0D

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x55

Ac

Answer code

Dl

0x02

Data1

0x00 (First byte of timeout counter, value is fixed)

Data2

0x00 – 0xF0 (Second byte timeout counter)

Et

0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x56

Dl

0x01

Data

0xF0 – Request lifter temperature

Et

0x0D

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x56

Ac

Answer code

Dl

0x01

Data

0x?? – Temperature in deg C in hex, e.g. 75degC = 4B

Et

0x0D

17

Output temperature (0x57)
Request the temperature of the output stage.
ExampleCommand/response sequence for requesting the temperature of the output
where the result is 75 degC:
Command:0x21 0x01 0x57 0x01 0xF0 0x0D
Response:
0x21 0x01 0x57 0x00 0x01 0x4B 0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x57

Dl

0x01

Data

0xF0 – Request output temperature

Et

0x0D

RESPONSE:

Auto shutdown control (0x58)
Set time for when unit will go into standby state die to no signal being
present
Example 1
Command/response sequence, the signal sense auto shutdown timeout has
been set to 60 minutes:
Command:0x21 0x01 0x58 0x01 0x03 0x0D
Response:
0x21 0x01 0x58 0x00 0x01 0x03 0x0D

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x57

Ac

Answer code

Dl

0x01

Data

0x?? – Temperature in deg C in hex, e.g. 75degC = 4B

Et

0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x58

Dl

0x01

Data

0x00 – Disable (Default)
0x01 – 20 min
0x02 – 30 min
0x03 – 1 hour
0x04 – 2 hours
0x05 – 4 hours
0xF0 – Request timeout status

Et

0x0D

Example 2
Command/response sequence, the signal sense auto shutdown has been
disabled:
Command:0x21 0x01 0x58 0x01 0x00 0x0D
Response:
0x21 0x01 0x58 0x00 0x01 0x00 0x0D

18

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x58

Ac

Answer code

Dl

0x01

Data

0x00 – Disabled
0x01 – 20 min
0x02 – 30 min
0x03 – 1 hour
0x04 – 2 hours
0x05 – 4 hours

Et

0x0D

PHONO input type (0x59)
Set or request Phono input type.
ExampleCommand/response sequence where PHONO input is set to Moving Magnet
type
Command:0x21 0x01 0x59 0x01 0x00 0x0D
Response:
0x21 0x01 0x59 0x00 0x01 0x00 0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x59

Dl

0x01

Data

0x00 - Set PHONO input to Moving Magnet type0x01 - Set PHONO input to Moving Coil type
0xF0 - Request PHONO input type

Et

0x0D

RESPONSE:

Input detect (0x5A)
Request the status of the active input.
ExampleCommand/response sequence where audio input is present.
Command:0x21 0x01 0x5A 0x01 0xF0 0x0D
Response:
0x21 0x01 0x5A 0x00 0x01 0x01 0x0D

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x59

Ac

Answer code

Dl

0x01

Data

0x00 - PHONO input set to Moving Magnet type0x01 - PHONO input set to Moving Coil type

Et

0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x5A

Dl

0x01

Data

0xF0 - Request input status

Et

0x0D

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x5A

Ac

Answer code

Dl

0x01

Data

0x00 - Input not present
0x01 - Input present

Et

0x0D

19

Processor mode input (0x5B)
Enable processor mode on a certain input or disable processor mode.
ExampleEnable processor mode on the CD input:
Command:0x21 0x01 0x5B 0x01 0x06 0x0D
Response:
0x21 0x01 0x5B 0x00 0x01 0x06 0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x5B

Dl

0x01

Data

0x00 - Disable
0x02 - Aux
0x03 - PVR
0x04 - AV
0x05 - STB
0x06 - CD
0x07 - BD
0x08 - SAT
0x09 - GAME
0xF0 - Query processor mode status

Et

0x0D

RESPONSE:

Processor mode volume (0x5C)
Set the processor mode volume
ExampleCommand/response sequence to set the processor mode volume to 45(0x2D).
Command:0x21 0x01 0x5C 0x01 0x2D 0x0D
Response:
0x21 0x01 0x5C 0x00 0x01 0x2D 0x0D

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x5B

Ac

Answer code

Dl

0x01

Data

0x00 - Disabled
0x02 - Aux
0x03 - PVR
0x04 - AV
0x05 - STB
0x06 - CD
0x07 - BD
0x08 - SAT
0x09 - GAME

Et

0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x5C

Dl

0x01

Data

0x00 (0) – 0x63 (99) – Set the volume
0xF0 – Request the current volume

Et

0x0D

RESPONSE:

20

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x5C

Ac

Answer code

Dl

0x01

Data

0x00 (0)– 0x63 (99)

Et

0x0D

System status (0x5D)
Request the system status.
ExampleCommand/response sequence to request the system status.
Command:0x21 0x01 0x5D 0x01 0xF0 0x0D
Response:
0x21 0x01 0x5D 0x00 0x01 0xF0 0x0D
Note:
This command will return the following information about the system:• Power state• Brightness level• Headphone status• Software version• Model Number• Volume setting• Mute status• Current input source• Headphone override status• Balance setting• Sample rate
• Network name
• IP address• Timeout counter value• Lifter temperature• Output temperature• Auto shutdown status• Input detect status• Processor mode input• Processor mode volume• DC offset status• Short circuit status• DAC Filter

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x5D

Dl

0x01

Data

0xF0 – Request the system

Et

0x0D

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x5D

Ac

Answer code

Dl

0x01

Data

0xF0 - System status sent

Et

0x0D

21

System model (0x5E)
Request the system model.
ExampleCommand/response sequence to request the system model, where themodel is SA30.
Command:0x21 0x01 0x5E 0x01 0xF0 0x0D
Response:
0x21 0x01 0x5E 0x00 0x04 0x53 0x41 0x33 0x30 0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x5E

Dl

0x01

Data

0xF0 – Request the system model

Et

0x0D

RESPONSE:DAC Filter (0x61)
Sets or requests the DAC filter
ExampleCommand/response sequence to request the DAC filter where response isLinear Phase Fast Roll Off
Command:0x21 0x01 0x61 0x01 0xF0 0x0D
Response:
0x21 0x01 0x61 0x00 0x01 0x00 0x0D

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x5E

Ac

Answer code

Dl

0x04

Data

System model in ASCII characters

Et

0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x61

Dl

0x01

Data

0x00 - Linear Phase Fast Roll Off
0x01 - Linear Phase Slow Roll Off
0x02 - Minimum Phase Fast Roll Off
0x03 - Minimum Phase Slow Roll Off
0x04 - Brick Wall
0x05 - Corrected Phase Fast Roll Off
0x06 - Apodizing
0xF0 - Request the current filter

Et

0x0D

RESPONSE:

22

Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x61

Ac

Answer code

Dl

0x01

Data

0x00 - Linear Phase Fast Roll Off
0x01 - Linear Phase Slow Roll Off
0x02 - Minimum Phase Fast Roll Off
0x03 - Minimum Phase Slow Roll Off
0x04 - Brick Wall
0x05 - Corrected Phase Fast Roll Off
0x06 - Apodizing

Et

0x0D

Now Playing information (0x64)
Request the various now playing track details. If the unit is currently playing
from a source other than a streaming input the track name etc will returned
as NULL.
ExampleCommand/response sequence to request the currently playing artist where
the response is A
Command:0x21 0x01 0x64 0x01 0xF1 0x0D
Response:
0x21 0x01 0x64 0x00 0x02 0x41 0x0D
Note
Response length is limited to 100 characters

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x64

Dl

0x01

Data

0xF0 – Request the currently playing track title
0xF1 - Request the currently playing artist
0xF2 - Request the currently playing album
0xF3 - Request the currently playing application (GoogleCast only)
0xF4 - Request the currently playing sample rate
0xF5 - Request the currently playing track encoder

Et

0x0D

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x64

Ac

Answer code

Dl

<n>

Data

Track:
Track title in ASCII characters
Album:
Album name in ASCII characters
Artist:Artist name in ASCII characters
Application:
GoogleCast source application in ASCII characters
Sample rate:
0x00 – 32 kHz
0x01 – 44.1 kHz
0x02 – 48 kHz
0x03 – 88.2 kHz
0x04 – 96 kHz
0x05 – 176.4 kHz
0x06 – 192 kHz
0x07 – Unknown
0x08 – Undetected
Audio encoder:
0x00 – Uknown
0x01 – MP3
0x02 – WMA
0x03 – Ogg Vorbis
0x04 - FLAC
0x05 – WAV
0x06 - AIFF
0x07 - RealAudio
0x08 - MPEG URL
0x09 - SCPLS
0x0A - WPL
0x0B - MP4
0x0C - DSD
0x0D - Opus
0x0E - Sirius
0x0F - MQA

Et

0x0D

23

Maximum Turn On Volume (0x65)

Description:

St

0x21

Zn

Zone number

Cc

0x65

Dl

0x01

ExampleData

0x00 (0) – 0x63 (99) – Set the maximum turn on volume
0xF0 – Request the maximum turn on volume

Command/response sequence for setting the maximum turn on volume inZone 1 to 45:
Command:0x21 0x01 0x65 0x01 0x2D 0x0D
Response:
0x21 0x01 0x65 0x00 0x01 0x2D 0x0D

Et

0x0D

Response data format:
e.g. for volume 45: Data=0x2D (45)

Maximum Volume (0x66)
Set or request the maximum volume level of the SA30. Used to prevent
volume being accidently set to full when using app volume sliders.
Response data format:
e.g. for volume 45: Data=0x2D (45)
ExampleCommand/response sequence for setting the maximum volume in Zone 1
to 45:
Command:0x21 0x01 0x66 0x01 0x2D 0x0D
Response:
0x21 0x01 0x66 0x00 0x01 0x2D 0x0D

24

COMMAND:
Byte:

Set or request the maximum volume level at power up of the SA30.

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x65

Ac

Answer code

Dl

0x01

Data

Maximum turn on volume, integer value:
0x00 (0) – 0x63 (99)

Et

0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x66

Dl

0x01

Data

0x00 (0) – 0x63 (99) – Set the maximum volume
0xF0 – Request the maximum volume

Et

0x0D

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x66

Ac

Answer code

Dl

0x01

Data

Maximum volume, integer value:
0x00 (0) – 0x63 (99)

Et

0x0D

Maximum Streaming Volume (0x67)
Set or request the maximum volume level of the SA30 when playing backstreamed content. Used to prevent volume being accidently set to full whenusing app volume sliders and increase the resolution of the app volumesliders
Response data format:
e.g. for volume 45: Data=0x2D (45)
ExampleCommand/response sequence for setting the maximum volume in Zone 1
to 45:
Command:0x21 0x01 0x67 0x01 0x2D 0x0D
Response:
0x21 0x01 0x67 0x00 0x01 0x2D 0x0D

COMMAND:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x67

Dl

0x01

Data

0x00 (0) – 0x63 (99) – Set the maximum volume
0xF0 – Request the maximum volume

Et

0x0D

RESPONSE:
Byte:

Description:

St

0x21

Zn

Zone number

Cc

0x67

Ac

Answer code

Dl

0x01

Data

Maximum volume, integer value:
0x00 (0) – 0x63 (99)

Et

0x0D

25

RC5 Command Codes
These codes are recognised as infra-red signals received by the front panel and as control data using the “Simulate RC5 IR command (0x08)” on page 7.

Basic Functions

Advanced Functions

These RC5 codes are present on the supplied IR remote control and provide
control over basic amplifier functions.

These RC5 codes are not present on the supplied remote control but havebeen created for custom install use. In order for the amp to respond to thesecodes they must be transmitted from a programmable IR remote control orover the control link using the ‘Simulate RC5 IR Command’ (0x08).

Function26

RC5 code[systemcommand]

RC5 code(Data1 - Data2)

DecimalHexadecimalStandby

16-12

0x10 - 0x0C

1

16-1

0x10 - 0x01

2

16-2

0x10 - 0x02

3

16-3

0x10 - 0x03

4

16-4

0x10 - 0x04

5

16-5

0x10 - 0x05

6

16-6

0x10 - 0x06

7

16-7

0x10 - 0x07

8

16-8

0x10 - 0x08

9

16-9

0x10 - 0x09

Access Balance Control

16-37

0x10 - 0x25

0

16-0

0x10 - 0x00

Cycle between VFD information panels

16-55

0x10 - 0x37

Rewind16-1210x10 - 0x79

Fast Forward

16-52

0x10 - 0x34

Skip Back

16-33

0x10 - 0x21

Skip Forward

16-11

0x10 - 0x0B

Stop

16-54

0x10 - 0x36

Play

16-53

0x10 - 0x35

Pause

16-48

0x10 - 0x30

MENU (Enter system menu)

16-82

0x10 - 0x52

Navigate Up

16-86

0x10 - 0x56

Navigate Left

16-81

0x10 - 0x51

OK

16-87

0x10 - 0x57

Navigate Right

16-80

0x10 - 0x50

Audio (Room EQ on/off)

16-30

0x10 - 0x1E

Navigate Down

16-85

0x10 - 0x55

RTN (Back in menu)

16-51

0x10 - 0x33

HOME

16-43

0x10 - 0x2B

Mute

16-13

0x10 - 0x0D

Increase volume (+)

16-16

0x10 - 0x10

DISP (Change VFD brightness)

16-59

0x10 - 0x3B

Analogue DIRECT mode

16-10

0x10 - 0x0A

Decrease volume (-)

16-17

0x10 - 0x11

PHONO

16-1170x10 - 0x75

AUX

16-99

0x10 - 0x63

NET

16-92

0x10 - 0x5C

USB

16-93

0x10 - 0x5D

AV

16-94

0x10 - 0x5E

SAT

16-27

0x10 - 0x1B

PVR

16-96

0x10 - 0x60

GAME

16-97

0x10 - 0x61

BD

16-98

0x10 - 0x62

CD

16-1180x10 - 0x76

STB

16-1000x10 - 0x64

ARC/eARC

16-1250x10 - 0x7D

Function

RC5 Code[system-command]

RC5 Code(Data1 - Data2)

DecimalHexadecimal

Power On

16-1230x10 - 0x7B

Power Off

16-1240x10 - 0x7C

Random16-76

0x10 - 0x4C

Repeat16-49

0x10 - 0x31

Direct mode On

16-78

0x10 - 0x4E

Direct mode Off

16-79

0x10 - 0x4F

Mute On

16-26

0x10 - 0x1A

Mute Off

16-1200x10 - 0x78

Display Off

16-31

0x10 - 0x1F

Display L1

16-34

0x10 - 0x22

Display L2

16-35

0x10 - 0x23

Balance left

16-38

0x10 - 0x26

Balance right

16-40

0x10 - 0x28

SH306E Issue 4

www.arcam.co.uk
THE WEST WING, STIRLING HOUSE
WATERBEACH, CAMBRIDGE, CB25 9PB, ENGLAND+44 (0)1223 203200