This article describes how I interfaced a NAD T163 pre-amplifier with my Homevision Pro automation controller. It does not cover all of the programming and smarts around the installation. In reality this article will provide guidance for any automation system.
Bill of Materials
– 2 x RS232 DB9 adapters ($8 AUD)
– 1 x Interfacing cable between units (I used Cat 6e)
Total Cost = $8 AUD + cable
– Screw Driver
– Krone Tool
Step 1: Figure out how NAD serial communication works?
Probably the most obvious step here for any automation task. Before we can have the HomeVision Pro communicate with the pre-amp I need to how to communicate to it. Usually the best way to do this is with a PC and a serial emulator. My tool of choice is putty. I usually try a 8-N-1 connection. This is a common shorthand notation for a serial port parameter setting or configuration in asynchronous mode, in which there are eight (8) data bits, no (N) parity bit, and one (1) stop bit.
How ever after looking at websitethey actually have a RS232 test tool. Why re-invent the wheel? My device is pretty old. Whilst all of NAD’s devices today use ASCII commands mine used binary encoded decimal communication in Q8.8 format.
Q format is often used in hardware that does not have a floating-point unit and in applications that require constant resolution.
This device uses Q8.8 format, using an 8+8+1 bit signed integer container with 8 fractional bits, its range is [-128, 128]
What the NAD tool tells me exactly what commands I need to send to perform a given function and on the reverse how to interpret the results being sent back by the pre-amplifier. In the example in the images, if I want to tell the pre-amp to turn on I issue ‘1, 21, 21, 94, 65, 2, 212’ and like magic it powers on.
According to the NAD website the data format for all commands sent to the T163 and responses sent back have the following basic format:
| Start | Command | Data | Checksum | 8-bit Checksum |
Start | 1 byte control character which starts every packet of data.
Command | 1 byte command which represents the operation to be performed or the type of response being returned
Data | Variable length data. The length of this field depends on the command. If the data represents a multibyte number, it should be sent least significant byte first.
Checksum | 1 byte control character which denotes the end of the data stream and the beginning of the checksum.
8-bit Checksum | This checksum is the inverse sum of the Command and Data bytes of the packet. It is used to verify the validity of the data packet.
Any data received which does not follow this format will be ignored.
Step 2: Connect the devices
The connection to the NAD T163 is DB9 male. To connect I need to interface with it using a DB9 female connector with the following pin outs
Pin 2 – Transmit
Pin 3 – Receive
Pin 5 – Ground
On the Homevision Pro (or controlling system) the pin outs need to cross the transmit and receive
Pin 2 – Receive
Pin 3 – Transmit
Pin 5 – Ground
Step 3: Homevision Pro Code
Code now needs to be written on the home