Foreward (by Associate Editor Brian Florian)
The guys at Anthem noted to us once in passing that virtually
every review of an SSP with a Serial Port on the back, including reviews of
their AVM-20, don't say any more beyond, quite literally, "there is an
RS-232 port on the rear for integration with a whole home system".
Lets face it, precious few end users care about
the command set because they will never, ever, use it. In addition, most A/V
reviewers have never looked at, or used a command set.
installers, they draw upon their own experience with manufacturers and don't need
us to tell them about such things . . . or do they?
From talking with Colin Miller, I've come to
appreciate the different hardware he has had to program over the years,
or more specifically, the pains he has had to endure as a programmer due to
the incredibly deficient protocols. I hate it that this is the
norm. No one talks about command sets, so the industry at large has
gotten away with ill chosen protocols, even at the highest (most expensive)
levels. Anthem blew their own horn at me regarding their command set,
so when I sat down to pen my review of the Anthem AVM-20 SSP, I asked Colin to look it over and give
what can only be described as a professional opinion. Go figure:
the Anthem turned out to be a cut above as outlined in Colin's comments in
our original review.
Rather than spend time
talking about what is wrong with the majority of command sets, I wanted Colin to go in depth
on the AVM-20 and talk about what is right. While
primarily of interest to installers and integrators, this review
demonstrates just once more the commendable response Anthem has
demonstrated: They look at what's going on out there. They
listen to what everyone has to say. Then, unlike so many others, they
actually do something. When we showed them a draft of this review, in
response to one point Colin raised they said, "That's no problem. We'll
add that in the next software revision for you". That says it
- Brian Florian -
During events leading up to
Brian Florian’s review of the original
firmware version of the AVM-20 2.0, I was asked to look over the RS-232
protocol, so as to offer an opinion on the subject. Why me? Writing for
Secrets is a fantastic venue for networking with manufacturers and their
wares for the sake of borrowing equipment for product
evaluations, but I pay my mortgage and feed our pets by means of my work in
residential integration and control systems, more often than not interfacing
with audio and video consumer electronics, an environment where the final
intuitiveness, functionality, and reliability of components has more
relevance to the user’s enjoyment than the amount of ‘air’ or ‘pace’ within
the soundstage. Regardless of glowing reviews about audio performance, if an SSP occasionally goes into the setup menu when the user selects a source,
and they have to get up to reset it, manually, it’s hard to convince the end
user that they’ve got something other than a piece of junk. Honestly, such
is not an argument I’m likely to make. In my opinion, if it just doesn’t
work, it’s useless.
A lot of those in the integration business shun actually digging into the
nuts and bolts of serial communication, or for that matter data in general,
be it RS-232, RS-422, RS-485 or Ethernet, and instead prefer to rely on
manufacturer-supplied interface modules that handle the details for them.
The technical support lady at Escient, whom I admit I adore for her efforts,
thought me a nut for wanting to generate the driver from scratch,
however polite she was about letting onto that sentiment. But, it has
been my experience that unless the goal is to simply slam in a module for
the sake of collecting a check as quickly as possible from the end user, if
the device we’re interfacing with has any degree of sophistication in its
interface capabilities, we often get more thorough and flexible results
building the logic for that interface to fit the particular purpose, as
opposed to working around or trying to patch onto an existing framework. But
maybe that’s just me, a control freak with OCD.
Those who’ve read Brian’s original AVM-20 review might recall that I had a very positive
impression regarding the capabilities and particulars of implementation of
that serial protocol, even in its early firmware version. It’s relatively
simple to understand, and you can access a wide range of control with it, as
it was, but we’ll get to that.
I should also explain how I wound up with the latest incarnation of the
AVM-20. Actually, most of my testing was done on firmware version 2.10a, and
as of this writing, the current version is 2.12, and every item that I
brought to their attention regarding my testing of firmware version 2.10a
has already been addressed in the current firmware version. It is, indeed,
fantastic when a manufacturer not only listens to the people who use their
products, but does something about their concerns. Incredibly refreshing.
Anyway, the idea I provided to Mark Aling, Anthem’s marketing director,
was a professional sort. I mentioned that while the described features
sounded great, as put forth by Brian, I’d never actually been in the same
room as an AMV-20, let alone actually thrown one into an equipment rack to
see how well those bells and whistles actually sang. Mark, being the
gentleman that he is, offered to let me try one on for size for the sake of evaluating
its integration aspects, and I hounded him, relentlessly, for months until
immediate unpacking and gawking process confirmed, inside and out, Brian’s
assessment that the AVM-20 has superb build quality. I’ve become very
numb to products with an overbuilt chassis, as it’s a daily routine for me,
just like the guy who puts the fuel pump in a Lincoln Navigator on the
assembly line really doesn’t give a darn about how big and fat the wheels
are. However, within the context of knowing this product’s price, feature
set, and capabilities made the rigidity and heft of the chassis somewhat of
a pleasant surprise.
I’ll start out by saying that, overall, in a world where operational
functionality often takes a poorly upholstered and stained back seat to
cosmetics, pretense, and occasionally a promised level of performance, the
AVM-20 is an exceptionally well-rounded, intelligently thought out piece
from the UI/Operational/integration side of the fence. In the realm of truly
good SSP units, I have yet to meet a rival.
From the front panel interface to the IR functions and serial
command/response structure, this piece doesn’t miss anything critical, nor
anything I’d want to use. It has a whole range of capabilities, in fact,
that I’d be happy to do without, but they don’t get in the way or
overcomplicate operation in the least. Besides, somebody might have the
need, even if I don’t.
The Nature of the Beast
Let’s get into it. What exactly is the AVM-20? The obvious answer is that
it’s a Surround Processor/Preamplifier/Tuner with a complete set of balanced
outputs as well as a 5.1 analog inputs for which time alignment and bass
management may be applied, not to mention a fully adjustable
parametric notch filter for the subwoofer channel. From what I can tell,
it’s exceptional in that regard, but Brian already covered that extensively,
so I’ll second the notion that even just within that limited scope of use,
it’s a superb piece.
Where it gets interesting is it’s functionality as a Multi-zone unit (two
remote Audio/Video zones with Volume control), a recording path (note that
it requires the Main path to be activated), headphone preamplifier with
independent volume control (also requires Main Path active), IR repeater
connecting block/power supply combination, and voltage trigger controller
for the purpose of controlling amplifiers, screen triggers, or whatever else
the creative can rig up, like a voltage-controlled UHF antenna switch.
Believe it or not, I actually read the manual. The most remarkable thing I
found was the ‘Quick Start’ section. Imagine, you plug stuff in and it
works! Well, that’s just what it offered. Assuming you can follow the
directions to use the designated inputs, once it’s hooked up, you’re up and
running. To watch a DVD requires 3 steps.
Step 1- Press the ‘DVD’ button on the AVM-20 front panel input bank.
Step 2- Set the television or monitor to the correct input.
Step 3- Play the DVD.
Do you need to read the manual for this? Probably not, which is very much
the point. My wife, without any instruction, set up a movie for the kids and
had it going in a number of seconds without any automation involved.
Granted, she’s a lot smarter than your average buttermilk biscuit, but she also
has no interest of any kind in this type of equipment, and in the past has
expressed frustration with my ‘stupid stereo’ when one or more units weren’t
yet part of automated operation. I took her uneventful experience as a
positive bit of commentary on the AVM-20.
The front panel layout is simply elegant. Functions are intuitively grouped,
path selection and source selection buttons conveniently in close proximity
to each other on the left. Surround, display, tone options and the like sit
uncluttered below the tuner presets and the LCD display. The ‘Master’ knob
serves multi-duty to adjust the volume by default, navigate the menu, as
well as individually address balance/front/surround/headphone trim via the
corresponding buttons orbiting the lower and right sides of the master knob.
Brian went into the front panel operation in more depth, but its intuitive
design and functionality deserve mention. I can get to any regular user
function immediately, without having to navigate multiple levels of a menu
tree, and yet the panel remains unclogged by confusing options.
The rear panel is chock full of innies and outies, and a hole for a future
port, be it HDMI, IEEE 1394, or whatever shakes out as the best option for
future use, hopefully for standardized digital transmission of DVD-Audio
content, and SACD as well. I suppose we’ll see, but I’m getting impatient.
Aside from an on-board Tuner, there are seven standard, multi-purpose inputs
with composite video, S-Video, stereo analog audio, and digital audio (RCA
S/PDIF). The 5.1 analog and XLR balanced analog inputs are audio only,
though the 5.1 analog inputs share the DVD’s Video input for the sake of
navigating DVD-A discs. There are also three Toslink digital audio inputs that
can be assigned to the multi-purpose inputs, as well as a couple of
component video inputs that will switch with assigned inputs. I almost
forgot to mention the AES/EBU digital audio input, handy if you have some
digital audio source a few hundred or more feet away and only Cat-5 between
it and the AVM-20. Not that Cat-5 is an ideal AES/EBU cable, but hey, at one
time it saved my bottom over 400 feet and 8 connection points to carry two
digital signal paths, and could probably do four. Anyway . . . .
Zone 2 and 3 require analog feeds from sources to operate
independently (would have been nice to have independent D/A converters for
each zone to allow direct routing of digital sources, but not a biggie), but
the standard input configurations are probably more than enough for most
Still, once in awhile you see a system with multiple VCRs, a LD player that
requires analog audio as well as two digital inputs (PCM and demodulated RF
AC-3), a DVD player, a C-Band Satellite system that requires both analog and
digital audio connection, an HD DSS/TV receiver, a Replay PVR, a TiVo PVR, a
DSS/Tivo DVR combo unit, and a couple of free inputs for laptops, Ipods, or
X-Box units that make their way in and out. While most receivers or
preamplifiers will fall short of inputs under these conditions, the AVM-20
can accommodate. Hang on until we get to the ‘simulcast’ description to
The remote is not Paradigm’s own design, but well chosen and implemented.
It’s backlit, which is quite convenient in the dark, but a side effect that
I didn’t take to was a slight but audible whine associated with the
illumination, and the remote automatically illuminates after any button
press and for a few seconds afterwards. After I got my AMX system up and
running, it ceased to be an issue, but I did find it mildly annoying. Like
most universals, there are buttons that determine the functionality of the
remote, i.e., whether it’s serving to control your DVD, your preamplifier, or
what have you.
As manufacturers catch on to the needs of custom installers, discrete power
codes for power, input, and other convenient parameters become more common.
The IR codes for ‘power on’ and ‘power off’ are path specific for the
AVM-20. That means, you don’t have to send it a path command, then a power
command, but rather the power command for the particular path. The same is
true for the input selection IR commands. You do have to press the path
button on the remote to select which codes you’ll be sending, but should a
user have the benefit of an after market remote, this is irrelevant. In the
appendix of the manual, Anthem also lists a whole sequence of macros you can
utilize to effect ‘discrete’ combinations. For instance, you can directly
select a few of your favorite DSP decoding modes and perhaps a couple of
their operating parameters by a particular sequence of IR commands. To directly select Anthem Logic Music for a
two- channel PCM or
analog source, send the ‘Mode’, ‘0’, and ‘2’ commands sequentially, and
you’re in business. Such is easily accomplished with any Pronto-like device.
Custom Programming the AVM-20
Did I mention that the AVM-20 will provide power and pass information for IR
repeating systems? Plug the repeater and the emitter into the AVM-20’s
respective repeater inputs and emitter outputs, and you’re on the road. For
those familiar with typical repeater systems, the AVM-20 serves up 12 volts
DC for the repeater (target), and performs the voltage attenuation required
by the emitters, be they dual emitter or single units, replacing the
connecting block and power supply parts. This not only saves the parts cost,
but saves on valuable real estate within limited rack space. The AVM-20 also
can respond to its own commands routed through the IR repeating system, or
be configured to not respond to any particular IR input for any particular
zone. Cool, eh?
Without stretching or getting creative, a simple hand-held remote in the
main listening/viewing area could control not only the display, but also
source components (via dual emitters) and the AVM-20 in a remote location.
And, to boost that value, it can do the same from two other locations,
presumably served by the 2nd and 3rd zone outputs. We’ll get to
amplifiers/drapes/screens via voltage triggers later.
I should note that the manual states that the IR sensors reading the
receiver ports are expecting the higher level input directly from the
receiver, not the lower level output for emitters. I’ve been told that with
many products, the AVM-20 works just fine with the lower voltage emitter
level signals, but if you’re driving an AMV-20 from an IR output port
designed for emitters, and you want to make double sure, the suggestion is
to strap an emitter from that output in line with a repeater (a Xantech
Dinky Link is a nice size) to feed the AVM-20’s IR repeater input. I’ve done
this in the past with good results to address such issues with other
equipment, and have referred to it as an “Opto-Isolating Voltage Booster,”
or OIVB unit, to make it sound a little more like an industry-accepted
practice. I typically wrap the union with copious amounts of electrical tape
to avoid any interference, as well as ensure that the OIVB components don’t
divorce in the unforeseeable future.
As previously referenced, the AVM-20 has three 12 Volt voltage triggers via
3.5 mm ‘mini’ plugs. These are usually utilized for controlling power
amplifiers, motorized screens or lifts. I’ve seen 12 Volt trigger inputs on
DVD players as well, though the reason for using such eludes me, as you’ll
need some other communication for control anyway, but hey, who am I to
dictate the standards of stupidity to be avoided.
The voltage triggers can be assigned to Zone power status, source selection
status, or activated directly via RS-232 control.
On a side note, trigger outputs 1 and 2 are rated at 50 mA (milliamperes). This is fine for
pretty much any triggering application. However, should you need the extra
juice, trigger 3 can provide up to 200 mA. 200 mA is a level that fits the
description of a small power supply. That’s 2.5 watts, and enough to drive a
small fan! If you need more current than that, it’s not a voltage trigger
anymore, in which case you can simply drive a relay via the triggers to
switch a larger power supply with as much current as your heart desires.
I mentioned the ‘simulcast’ function when talking about the inputs. Now
we’re back. Because the video inputs don’t transcode between formats, if you
don’t mind switching between composite, S-Video, and component inputs via
the display/video processor down the line, you can use the video input types
separately. Also, because of the ability to both assign the audio format on
the fly for the corresponding input, as well as switch the audio and video
paths independently, called ‘simulcast’, via the RS-232 control, (or the
front panel) for the purpose of monitoring, you can make use of ALL the
inputs to be routed to the main audio and video equipment. As such, if
you’re tricky about it, you can have, in effect, far more inputs at your
disposal than the front panel implies, with the qualification of reasonable
RS-232 control capabilities. Instead of assigning a particular input to a
source configuration, you assign each configuration a video input, an audio
input, and an audio format, and either build it into the command strings
manually or have your control system generate the string by assembling the
values of each parameter.
The two-channel surround presets (stereo input in, multi-channel out) can be
assigned to the source as the default mode upon selection, and by format.
For instance, Dolby Digital 2.0 content can automatically elect Pro Logic II
Movie, while PCM or analog inputs can default the DSP mode to Anthem Logic
Music format. I like this feature.
‘Re-EQ’ remains the way you last set it, but is only engaged with THX
processing. I never use it, but am happy that if I turn it off, it stays
Analog Direct sources don’t have DSP, though since you can configure the
Direct vs. DSP parameter of the audio input at will via the RS-232 port, you
could provide ‘DIRECT’ simply as a listening option next to the DSP modes,
defaulted or not. Personally speaking, I found the degradation by the extra
A/D and D/A stages of analog sources necessary for DSP processing to be so
minimal, if not indistinguishable under normal use, so as to not even worry
about using the ‘Direct’ setup mode. My only critical analog source is
DVD-Audio, in which case I found the benefits of bass management and time
alignment provided by the AVM-20 to far outweigh the performance sacrifices
of the digital conversion. Switching back and forth with my eyes shut
between DSP and Direct quickly enough to lose track, and then slow enough to
compare, with all the DSP processes defeated, the only thing I could discern
is that the A/D and D/A conversion made the top end of the spectrum just a
smidgeon more polite and rounded, but it was difficult enough to be sure
about it that I decided to call the process transparent for any practical
In addition, the on-screen setup menu has an overload indicator for the A/D
converter, so as to allow the user to optimize the input levels via the trim
adjustment to get the best dynamic range out of the A/D stage without
actually clipping the converter. You can do this either with material which
exercises the full output level of the player, or more precisely, simply get
a ‘test’ tone recorded at 0 dBFSD (for a digital format source, like a DVD-A
player), set the trim to just overload, and then pull the input trim down 1
The tone controls, bass/treble, can be set to default to levels as a
function of source. A good idea, but I’m not one for tone controls if I can
help it, as they’re usually too broad to address what I’m really after in any
The second set of subwoofer and center channel outputs can be used for Zone
2. I tried this out, and the noise levels weren’t as low as the main zone,
in which case this is only of real benefit if the Zone 2 amplifier is
located remotely, and can therefore take advantage of the common mode
rejection characteristic of balanced transmission over longer cable runs
that would otherwise pick up interference.
Audio Group Delay is of use when you have any kind
of video processing, be it via outboard scalars, or within the display
itself. The processing causes the video to be delayed, but since the audio
is not delayed, you end up with the picture lagging behind the sound. Audio
Group Delay lets you add delay to the sound so that they are in sync. That you can delay it more than a couple frames worth of time is
Did I mention that this thing has an alarm clock? Aside from a ‘Sleep’ mode,
that works in the standard fashion with 30, 60, and 90 minute options, there
are two separate timers, each of which have a weekend and weekday on and off
times. Use this when you want the system to turn off by itself when you are
in bed and falling asleep.
Something that I thought goofy, which is just related to the attenuation
hardware, is that the volume adjustments on Zones 2 and 3 are via 1.25 dB
increments, as opposed to the 0.5 dB increments of the main zone. I first
thought I had a problem with the remote zone volume feedback parsing in my
control system, and then realized later that’s just the way it is.
I wrote down a whole specific set of notes, but
realized after many hours of scribbling that this article could get
ridiculously long and still not fully address the capabilities available
through RS-232 control. You can pretty much have the full setup parameters
stored in the control system, and set up the unit simply by plugging the
RS-232 port to your computer. For kicks, I set my program to, upon booting, force the AVM-20
to 38.4 kbps, regardless of current baud setting, turn off hardware
handshaking, and turn on automatic responses (if somebody turns a knob or
presses a button, the control system will see the status change.) You could
expand upon that and do the entire setup configuration via the serial port.
Looking at the control capabilities, it seems obvious that Anthem has
consulted with some hard-core custom installers. The available options are
dizzying. I did find a few things they didn’t have options for, after which
they quickly dashed that little part of my ego by mentioning that they added
them soon afterwards.
Operation of Zone 2 and 3 is pretty similar to the main zone, with the
exception that you specify the 2nd and 3rd paths instead of path 1, and
certain parameters, like DSP settings, are obviously absent for the remote
zones. The basic string for changing sources is identical,
except for the path value. For example, the ASCII characters, ‘P1S0;’ select
the CD for path 1, as ‘0’ is the value for that input, and ‘P2S0;’ does the
same for Zone 2. As I said, this is superbly easy to implement. I did notice that
the volume increment setting strings were different when they didn’t need to
be, as are the status response strings, just slightly. Keeping them the same
in length and parameters would have meant some blank values in the status
response strings for Zones 2 and 3, but it would have simplified parsing just
a bit. I love condensed code.
The only thing that I thought less than optimal for simplicity’s sake was
that setting parameters other than power or input often required knowing the
current input for which you were to make the adjustments. For example, if
you’re currently watching a DVD (source ASCII numeric character of ‘5’) and
want to adjust the two-channel effect for PCM or analog sources to Pro Logic
II Movie (ASCII numeric character ‘3’), you must send ‘P1E53;’ which
means either remembering the last selected input and hoping that nobody
changed it, or extracting the current input value from the AVM-20’s response
strings. It was never a problem, but I wouldn’t have liked to have to deal
with it when I was first wetting my feet.
While I’m complaining, even though I think it’s great that the values of the
parameters are numeric ASCII characters (it allows easy data manipulation of
values for purposes of implementing things like scrolling, ramping, etc.)
when it came to the surround values, they ran out of standard ASCII numeric
values for surround modes during one of their firmware upgrades, as their DSP effect modes exceeded 10 (0-9). What did they do? They used ASCII
hexadecimal representations, i.e., instead of using ‘10’ as a parameter
value, they used ‘a.’ Now, while this does make sense in that you can
accommodate 16 values within a single ASCII character, it makes a simple,
standard ASCII to Integer conversion, or Serial to Analog for you Crestron
fans, unworkable. I wrote an ASCIIHEX to integer conversion function for the
task without much trouble, but as I said, I like condensed code, and if I
were boss, would have opted to just increase the designated parameter fields
to use two character values. But, I’m not the boss, and there’s probably a
good reason for that. Either way, that’s not really much to complain about
given the absurdity of some protocols that specify surround mode values with
a couple of text characters that aren’t even intuitively related to their
English translations, or use sporadically spaced hexadecimal values with no
Let me sum up by saying that even though the interface protocol could have
been made a little simpler, it’s by no means terribly complex, particularly for
basic operation, and it's amazingly thorough. I whipped up a subroutine for basic
input/power/volume control in a matter of minutes. Even more refreshing is
that the documentation was correct (sometimes a company might forget to tell
you that there’s a terminating character), and I was up and running
immediately, allowing myself to actually get distracted listening to music.
Parsing responses required a little thought, but was by no means akin to
brain surgery. No jumping a variable number of bytes set by an extracted
value to arrive at the end of a section only to have to do it again for the
next piece of data, so that if you got one calculation wrong the whole set
didn’t work out. There wasn’t any cockeyed scheme where you needed to add a
calculated single byte to the command string where the highest 4 bits stated
the string length and the lowest 4 bits served as a checksum, or that matter
anything else that serves merely as a challenge for its own sake to make
communication a headache for anyone not inclined to do mathematical
Overall, the AMV-20 is, by far, my favorite SSP integration piece. It does
so much, and even within that context, is pretty easy to use. It lets me do
what I want without hassle, lets me know how things are without grief, and
once I’ve got it the way I want it, through my own efforts or not, lets me
forget about the details, which is nice, even for a control geek.
we all like to sit back and enjoy ourselves. Regardless of whether the user
likes to set and forget, or incessantly tweak, the AVM-20 lets us have it
any way we want. I better shut up now, lest I drag into days.
Did I ever get around to mentioning how much I like the AVM-20? Mark can
come over to BBQ and pick it up anytime, assuming he can get past the dogs
that have proven themselves on livestock, the attack goats that normally
keep the dogs in line, and my two year old who thinks that planting her
knees in a person’s chest using the flying couch leap technique is just the
funniest thing in the world. Should he get that far, I might just have to
stop him short by writing him a check. Mr. Anthem, come on down!
- Colin Miller -
Terms and Conditions of Use