Dyno2 Dynamometer Software – setting up OBD interface

The software supports reading diagnostic data through vehicle OBD interface. It is possible to use wired USB interface or wireless Bluetooth interface. OBD system configuration is done in SETTINGS / OBD.

Dynamometer OBD interface setup

OBD tab contains:
(1) Interface settings
(2) OBD channels configuration
(3) Interface communication log
(4) Interface type selection: USB / Serial or Bluetooth
(5) USB / Serial interface port name – available ports are accessible with right mouse click
(6) Bluetooth interface name – available interfaces are accessible with right mouse click
(7) Communication logging option – useful for interface diagnostic – it should be disabled during normal operation
(8) Force reading all OBD PIDs option overrides configured read groups when checked
(9) Diagnostic information
(10) Diagnostic information log

Channel readout priority can be configured in Channels tab.

OBD channels for dyno software readout

Background color under channel defines it’s availability:

  • gray – availability is not confirmed yet, or the vehicle didn’t advertise the channel as available
  • green – vehicle advertised channel as available or last read try was successful
  • red – last read try was unsuccessful

The amount of available OBD channels is high, and interface readout frequency is limited. Typically, interfaces can read 3 to 20 channels per second. Reading some 100 channels with 10Hz frequency would result in channel refresh once per 10 seconds, which is unacceptable for some channels.
This problem is solved with Read groups. Software has 9 read groups. The algorithm reads one channel at a time from a group, then proceeds to the next group. Empty groups are skipped. If we need one channel to be refreshed faster than others, it should be the only one in the group.
Let’s make example from configuration on above screenshot. We are interested in frequent readout of Engine speed (PID 12). It is assigned to group 1. Some other channels are assigned to group 2. Readout sequence follows:

  1. Group 1 : PID 12
  2. Group 2 : PID 5
  3. Group 1 : PID 12
  4. Group 2 : PID 14
  5. Group 1 : PID 12
  6. Group 2 : PID 15
  7. Group 1 : PID 12
  8. Group 2 : PID 5

As we can see, this configuration refresh engine speed every other readout. Other channels are refresh once per 6 readouts.
Readouts can be observed on timestamps in Last read column.

Channels update since version 4.x.x

In the recent software, channel list is editable. You can add your own channels and remove the existing ones. Additionally, the read groups now have additional priority settings.

First thing you want to do after running the software is to import the standard channels list. You can do it by right-clicking the channels list and selecting “Import from website”. In the dialog, select “OBD2 service 01 standard PIDs” and click OK.

Then you need to assign priority to the channels you would like to read from the vehicle. Right-click on a channel and select the priority from the menu. The priorities have the following meaning:
0/1 – the channel will not be updated
1/1 – the channel will be updated as often as possible (the channels from other groups will still be updated)
1/2 – the channel will be updated every two updates

1/100 – the channel will be updated once every 100 updates.

1/1000 – the channel will be updated once every 1000 updates.

You should assign 1/1 priority to the channels that have fast changing information, like the “Timing advance”. You can assign 1/100 priority to the channels that doesn’t need frequent update, like the “Engine coolant temperature” channel.

Of course, with the new priorities the update rate is still limited and if there are 200 channels assigned to the 1/100 group, every one of this channel can be updated once every 200 reads.

Whole communication with OBD interface can be observed in Communication tab if option Log communication is checked.

OBD communication preview in dynamometer software

USB interface connection procedure

  1. Select OBD interface type: USB / Serial
  2. Select USB / Serial interface port with mouse right click, i.e. ttyUSB0

Bluetooth interface connection procedure

Connect the interface to a vehicle and turn the ignition ON to supply power to the interface. Interface should be possibly close to the controller. Avoid any obstacles that can interfere with wireless connection.

Pairing with system Bluetooth manager

Pair the interface in operating system. Click Bluetooth icon (1) and select Add Device… (2)

Wait for the interface to show up on the list. If the interface doesn’t show up, it may be too far from the controller, or it may be not powered.
Select the interface (1) and click Pair (2).

Enter PIN number. Typically 1234 or 0000. Click OK.

The system shows the following message:

The pairing is correct, just the plain operating system doesn’t know how to use the device. The dyno software knows what to do with it.

Pairing with blueman Bluetooth manager

Pair the interface in operating system. Click Bluetooth icon (1) and select Devices… (2)

In the new window, click Search (1) and wait for your device to show up. Right-click your device (3) and click Pair (3).

Enter PIN number. Typically 1234 or 0000. Click OK.

The pairing is finished.

Connecting interface in dyno software

In dyno software, select OBD interface type: Bluetooth
Select Bluetooth interface with right mouse click, i.e. AA:BB:CC:DD:EE:FF = V-LINK
Wait some time for the Bluetooth to complete connection procedure

Walkthrough the OBDII setup

Using external Bluetooth adapter

If you place your DC1 controller in a closed metal cabinet, the Bluetooth connection quality with the interface placed in the car will be quite poor. You can use external USB Bluetooth dongle on USB extension cable to improve the situation greatly. So far, we tested a dongle based on a “CSR8510 A10” chip, and it worked flawlessly. To use an external Bluetooth adapter, you need to disable the internal one. Edit the /boot/config.txt file:

sudo nano /boot/config.txt

Add the following line at the end of the file to disable the built-in module and reset the system:

dtoverlay=disable-bt