Go to Home Page

Click Here to Go to Index for All SSP Reviews


Product Review

Anthem AVM-20 SSP: Its Programmable Integration Features

March, 2003

Colin Miller

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.   As for 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 all.

- 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 it arrived.

The 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.

The How-To

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 Layout

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 applications.

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 follow.

The Remote

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 four 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 off.

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 purpose.

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 dB.

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 particular instance.

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 even better.

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.

RS-232 Control

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 obvious correlation.

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 calisthenics.


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.

Sometimes 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 -


 © Copyright 2004 Secrets of Home Theater and High Fidelity
Return to Table of Contents for This Issue
Go to Home Page


Go to Benchmark Introduction

About Secrets


Go to Primers Introduction

Terms and Conditions of Use