USB Drivers for the Home Heartbeat
The Eaton Home Heartbeat uses an FTDI serial to USB converter chip to interface to the host USB port on your PC. A Virtual COM Port (VCP) driver is needed for your operating system to communicate with this FTDI chip. Drivers are available for most operating systems from the manufacturer’s web site:
http://www.ftdichip.com/Drivers/VCP.htm
With the exception of the Macintosh, these drivers will not work as is. The Windows and Linux drivers have built-in Vendor ID and Product ID (VID/PID) values that do not include those used by the Home Heartbeat. Eaton never released drivers specifically designed to work with the Home Heartbeat, so we have to make some adjustments to the stock drivers to get them to work. What follows are installation instructions for Windows 7, Ubuntu Linux, and the Macintosh.
Installing the VCP Driver for Windows 7
Start by downloading the driver. Do not Install it just yet.
www.ftdichip.com/Drivers/CDM/CDM%202.08.24%20WHQL%20Certified.zip
You’ll need to unzip this file to a temporary folder. In this folder you will find two text files containing configuration data:
ftdibus.inf
ftdiport.inf
Each of these files contain reference to the VID/PID configurations. The default value for the VID is 0403
which is the same as used by the Home Heartbeat. There are several default values for the PID in the range of 6001
to 6015
as the driver supports multiple USB ports at the same time. To make the driver work with the Home Heartbeat you’ll need to replace all of the instances of 6001
with DE29
. All of the other lines containing PIDs of 6010
through 6015
can be deleted as they are not needed for this application. Be sure and change all of the PIDs in both files.
Now you can install the driver as normal by following the instructions provided by FTDI:
After installing the driver, you should probably reboot your computer, then you can test your new setup by running any serial terminal emulator program. Putty works well and can be easily installed with this utility:
http://the.earth.li/~sgtatham/putty/latest/x86/putty-0.62-installer.exe
Setup Putty for communication on COM3 (or whatever COM port is being used on your system) at 38400 baud, 8 data bits, 1 stop bit, no parity, and no flow control. Hit enter in the open Putty terminal window and the Home Heartbeat should respond with a line similar to this:
BASE-000D6F0000094E95
Congratulations, you are communicating with your Home Heartbeat.
Setting up the Ubuntu Linux FTDI Serial Driver (new method)
The old version of the ftdi_sio
driver supported vendor
and product
options. If you are using an Ubuntu release that still supports this then see the old method in the next section.
The FTDI serial driver module comes already installed with Ubuntu Linux. It needs to be loaded with the correct VID/PID for the Home Heartbeat. Create the file /etc/udev/rules.d/10-home-heartbeat.rules
containing the following line of text:
SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="de29", RUN+="/sbin/modprobe ftdi_sio", RUN+="/bin/sh -c 'echo 0403 de29 > /sys/bus/usb-serial/drivers/ftdi_sio/new_id'", SYMLINK+="hhb"
When the ftdi_sio
module gets loaded, a new device will be created as /dev/ttyUSB?
. The question mark is because it is indeterminate what ttyUSB
device will be assigned. An alias to this device is created as /dev/hhb
as a more consistent device name.
The next thing to do is to test the connection to the Home Heartbeat with a terminal program. The program cutecom
is simple to use and serves this purpose well. Configure cutecom
for device /dev/hhb
at 38400 baud, 8 data bits, 1 stop bit, no parity, and no flow control. As demonstrated in the Windows section above, hitting enter on the keyboard should elicit a “BASE” response from the Home Heartbeat Base Station.
Setting up the Ubuntu Linux FTDI Serial Driver (old method)
The old version of the ftdi_sio
driver supported vendor
and product
options. If you are using an Ubuntu release that no longer supports this then see the new method in the previous section.
The FTDI serial driver module comes already installed with Ubuntu Linux. It needs to be loaded with the correct VID/PID for the Home Heartbeat. The quick and dirty way of doing this is as simple as executing this command from a shell prompt:
modprobe ftdi_sio vendor=0x0403 product=0xde29
You could simply place that line into the /etc/rc.local
file. A better way would be to create a configuration file in the /etc/modprobe.d
directory. This configuration file, possibly named hhb.conf
, would contain:
options ftdi_sio vendor=0x0403 product=0xde29
Then the actual module would get loaded by placing its name in the /etc/modules
file. When the ftdi_sio
module gets loaded, a new device will be created as /dev/ttyUSB?
. The question mark is because it is indeterminate what ttyUSB
device will be assigned. It would be useful to have an alias that could be depended upon. Save the following text as the file /lib/udev/rules.d/10-hhb.rules
, to create a device alias of /dev/hhb
:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="de29", NAME="hhb"
The next thing to do is to test the connection to the Home Heartbeat with a terminal program. The program cutecom
is simple to use and serves this purpose well. Configure cutecom
for device /dev/hhb
at 38400 baud, 8 data bits, 1 stop bit, no parity, and no flow control. As demonstrated in the Windows section above, hitting enter on the keyboard should elicit a “BASE” response from the Home Heartbeat Base Station.
Installing the VCP Macintosh Driver
As noted before, the Macintosh driver comes already configured to work with the Home Heartbeat. You can download the driver from:
http://www.ftdichip.com/Drivers/VCP/MacOSX/FTDIUSBSerialDriver_v2_2_17.dmg
and then install it with theses instructions:
You can test the installed driver with any serial terminal program. A freely available utility, called CoolTerm, can be installed from the following link:
http://freeware.the-meiers.org/CoolTermMac.zip
As with Windows and Linux, the CoolTerm application needs to be configured for 38400 baud, 8 data bits, 1 stop bit, no parity, and no flow control. Select the serial port, which should be usbserial-0000309F, or something similar. Press the Connect button, then hit the enter key and see the magic.
Trying Out the Home Heartbeat Commands
Now that you have a working serial connection to the Home Heartbeat, you’ll want to try the various commands supported by the device. There is another document that discusses all of these commands: