Tuesday, May 3, 2022

Protocol configuration

  • you can use the advanced OBD configuration (available in app settings → Parameters → OBD configuration) to input custom sensor calibration data or explore the communication protocol on your ECU and discover unknown parameters and addresses.
  • please keep in mind, this is only a tool, the user must have sufficient knowledge about the parameters being investigated in order to understand the returned readings

  • General guide

    1. Select a memory address you want to explore (Honda OBD uses 256 memory addresses (0x00 to 0xFF), the address is appended to the parameter name in format "@0x__")
    2. Create a parameter:
      • define parameter name
      • Interpret as:
        • Default (no interpretation is used, the value is displayed in raw format in range 0 to 255)
        • User (define a user interpretation via a conversion table)
        • or choose one of the parameters from the list that will be used as a base for interpreting the raw value
      • Mask:
        • Default (no bit masking is applied, the value is displayed in raw format in range 0 to 255)
        • or choose one of the bit masks (the mask is useful only for two state parameters, such as switches, discrete states, etc., masked value is displayed in binary range, 0 to 1 e.g. OFF/ON, masked parameters are denoted by an appendix in format "&0x__")
    3. created user parameters are available for selection in main layout gauges as well as datalogging layout, under the filter with a label "User"
    4. use the datalogging tool to record and analyze the values returned by custom user parameters to see if they read any meaningful data


  • adding, removing or updating a user parameter will clear all logged data in the temporary datalog
  • you can adjust the parameter read frequency of user defined parameters. By default, the read priority is at level 3, to not slow down reading of other parameters too much
  • it's always better to start with default parameter definitions (interpret as: default, mask: default) and duplicate the parameter to more memory addresses at once, in order to discover memory addresses that return changing values
  • once the memory addresses have been identified, apply more granular parameter definitions to get the desired readings
  • please keep in mind, if you discover an address that does return a changing value, and it does not correspond to any of the predefined parameters, there's currently no way to know what exactly this value means or how it should be interpreted, you may define a custom interpretation for it, basing on a service manual or other informatin source / educated quess. Please don't contact us asking about this as we definitely won't know what you're dealing with.

  • Example

  • the following video guide shows the general workflow for user parameter definition and datalogging