Skip to main content

Highway Addressable Remote Transducer Protocol

HART is a digital industrial automation protocol which has been in use for quite some time now. It uses "Continuous Phase" Frequency Shift Keying to transmit data over the same wires (a pair of wires - one for each direction of flow of current) which had been used for 4-20 mA current loop signaling. bit 1 is represented by a sinusoid at 1200 Hz and bit 0 is represented by a sinusoid at 2200 Hz. The signal has an amplitude of 1mA peak to peak (current signaling):

Top: HART Signal Below: Data Transmitted

The HART Packet consists of a sequence of fields each consisting of varying number of bytes:

Various fields of HART Packet sent from Master to Slave

Each byte is it self a standard UART frame sent out at 1200 bps in 8-O-1 format. So a PC equipped with a serial port can act as a master simply by using a HART modem and appropriate application:

A HART Modem (black device with white sticker on right) from MACTek. The PCB shown here is used to sniff the data being sent from the PC to the modem.

Windows Application - VIATOR Check utility that came with the MACTek HART Modem.

Of course one can use good ol' DOS prompt too to send data out the serial port using simple commands.

And finally here are a the captured waveforms of a HART frame being transmitted:

Measuring the frequencies for Bits 1 (1200 Hz) and 0 (2200Hz). FFT of the signal clearly shows peaks at these two frequencies:

And finally one can use Serial Monitor from HHD Software to monitor the data being sent out the serial port by any Microsoft Windows based application running on your PC. Here are some screen shots:


  1. Hi! Thank you for the article.
    I use other app for monitoring com ports. Did you try Serial Port Monitor (

  2. Hi sir, I am having hart communication, I got the data back and that is the instant value "cmd1" I want to get full values from pressure gauges like total, curent ... Please share it with us. Best regards


Post a Comment