Posted on

Haltech Wideband CAN sniffing and DBC files

This project began as a way to determine how the Haltech Wideband responded to received information on the CANbus. You can read more about that in the “Using a Haltech Wideband Controller with Link and ECU Master Black ECUs” article.

Using a combination of ECU Master Light Client and Savvy Can the can messages were viewed to determine which streams were relevant to the WB1.

The PC connection was done using a Kvaser Leaf Light V2, but if you’re interested in trying something like this yourself our “CANbus Hacking – Part 1 – Getting on the CANbus” article is a great place to start.

With only the WB1 plugged in, the streams looked like this:

While viewing the CAN stream we could look for patterns and changes. Once we knew which streams were being broadcast by the WB1 we could connect a Haltech ECU and open NSP. This allowed us to use the WBC1 WBI Lambda channel to display the state of the WB1. Using this we could see which CAN messages changed at the same time as the NSP display.

From this, we could disconnect the WB1 from the CANbus and transmit our own stream to see which numbers had what effect on the data received by the NSP software.

Sending the above on the CANbus resulted in this display in the NSP software

Using a similar process we were able to determine the following information about the WB1 CAN stream

CAN ID: 0x2B1

CAN ID: 0x2B3

If you read those tables carefully you would have noticed that the battery voltage conversion is a ridiculous number, however it does provide an accurate battery voltage output. Wondering whether the WB1 itself was seeing a voltage that was different to the battery output we tried taking it apart, but unfortunately the PCB is potted into the housing so we couldn’t check this.

With this information the we could create a DBC file within SavvyCAN

The DBC allows you to view a “translated” version of the CAN stream, giving something like below

This type of data can be used when integrating these devices with other ECUs, or when creating your own CAN based devices such as our “Arduino Nano powered gauge for the Haltech WB1“.

  • Haltech WB1 Bosch - Single Channel CAN O2 Wideband Controller Kit HT-159976
    Haltech WB1 Bosch – Single Channel CAN O2 Wideband Controller Kit HT-159976
  • 4 Port CAN Hub
    4 Port CAN Hub
  • USB-CAN Interface
    USB-CAN Interface

DBC files for the WB2 will be updated at a later date.