The Haltech CAN bus operates at 1 MBit/s and uses 11bit IDs, which are expressed in Hexadecimal.
The first byte in a packet is considered byte 0, and the 8th byte is byte 7. The most significant bit in a byte is considered bit 7 and the least significant bit is bit 0.
Data is encoded as bigendian.
Data that is the size of an individual byte (that is byte aligned) are represented with the byte number, e.g., 4
for data at byte 4
Data that crosses multiple bytes (that is byte aligned) are represented with a byte range. The range is inclusive, e.g., 0  1
for 2 bytes of data in bytes 0 and 1, 4  7
for 4 bytes of data in bytes 4, 5, 6, and 7.
To address data stored in individual bits within a byte, the following notation is used X:Y. The X is the byte number and the Y is the bit number, e.g. 4:0
for bit 0 in byte 4.
To address data stored across many bits that may span bytes the above notation is used but expressed as a range. The range is inclusive, e.g., 6:3  7:0
for 12 bits of data starting at bit 3 on byte 6 to bit 0 on byte 7.
The "Conversion from Raw" column in the example protocol specification table below, shows how to convert the raw value in the message to a value known unit as indicated by the "Units" column.
The x symbol represents the raw value and y represents the value converted.
E.g. The "Throttle Position" channel has a raw value of 456. The conversion for it is y = x / 10. Therefore the converted value of y equals:
y = 456 / 10 = 45.6%
If other units are required, it is the responsibility of the device reading these values to perform these conversions. All pressures are absolute, and it is necessary to subtract 101.3 kPa from the final result if gauge pressure is desired.
Symbol 
Name 
Quantity 
Notes 
RPM 
Revolutions per minute 
Rotational velocity 
Typically, engine crankshaft rotational speed. 
kPa 
kiloPascals  gauge 
Pressure 
0 kPa = standard atmospheric pressure. 101.3 kPa = absolute vacuum. 
kPa (abs) 
kiloPascals  absolute 
Pressure 
0 kPa (abs) = absolute vacuum. 101.3 kPa(abs) = standard atmospheric pressure. 
% 
Percent 

° 
Degree 
Angle 
360
degrees make up one revolution. Note that a 4stroke engine cycle requires 2 crankshaft revolutions, so the engine cycle is
720 degrees.


lambda 
1 lambda = the stoichiometric ratio of the fuel being used. To convert to typical gasoline/petrol AFR: multiply by 14.7 To convert to ethanol AFR: multiply by 9 To convert to methanol AFR: multiply by 6.47 

K 
Kelvin 
Temperature 
A unit of temperature where 0 is absolute zero temperature. It uses the same scale as degrees Celsius. So, an increase of 1K is an
increase of 1°C.
To convert from Kelvin to degrees Celsius, simply subtract 273.15. To convert from Kelvin to degrees Fahrenheit: Water freezes at 273.15K and boils at 373.15K. 
km/h 
kilometers per hour 
Velocity 
A common metric speed measurement. To convert to meters per second: divide by 3.6. To convert to miles per hour: divide by 1.609. 
m/s2 
meters per secondsquared 
Acceleration 
A
common metric acceleration measurement. To convert to G: divide by 9.8 
dB 
Decibel 

cc/min 
cubic centimeters per minute 
Volume Flow Rate 
A volume flowrate measurement commonly used for fuel injectors. A common approximate conversion to pounds per hour (lbs/hr) is to 
cc 
cubic centimeter 
Volume 
0.001 L. To convert to fluid ounces (fl. oz.): divide by 29.574. 
L 
liter 
Volume 
Volume. 1000 cc. To convert to US gallons: divide by 3.785 
V 
Volt 

ppm 
parts per million 
Concentration
/ 
A
mass ratio used for representing concentrations of a substance within
another. 
g/m3 
grams per cubic meter 
Density 
Water has a density of 1 million g/m³ 
ms 
millisecond 
Time 
1/1000 of a second. 
s 
second 
Time 
1/60 of a minute, 1/3600 of an hour. 
min 
minute 
Time 
60 seconds. 1/60 of an hour. 
h 
hour 
Time 
60 minutes. 3600 seconds. 
Typically, each binary digit (bit) represents whether a thing is 0 or 1. 0 typically means false or off, and 1 typically means true or on.
E.g., The Haltech ECU channel "Engine Limiting Method" has 1 as Fuel and 2 as Ignition. This is 0b01
for fuel and 0b10 for Ignition. If both Fuel and Ignition are being used, the
two values are added together, giving a value of 1 + 2 = 3.