This page describes how to use Deep OBD for BMW and VAG.
Download app from Google Play: https://play.google.com/store/apps/details?id=de.holeschak.bmw_deep_obd
Table of contents:
- Manufacturers
- Supported adapters
- First start
- Your first configuration
- The main menu
- Log and trace files location
- Background image
Basically Deep OBD for BMW and VAG can operate in two modes, either BMW or VAG. You have to select the car manufacturer first. The VAG group mode (VW, Audi, Seat, Skoda) is still experimental and only supports the protocols KPW2000, KWP1281 and TP2.0. A Replacement firmware for ELM327 adapter is required for this mode.
Deep OBD for BMW and VAG supports several OBD II adapters:
- Standard FTDI based USB "INPA compatible" D-CAN/K-Line adapters (all protocols)
- ELM327 based Bluetooth and WiFi adapters. Recommended ELM327 versions are 1.4b, 1.5 and origin 2.1, which are based on PIC18F25K80 processor (no MCP2515 chip) (D-CAN protocol only)
- Custom Bluetooth D-CAN/K-Line adapter (BMW-FAST protocol over D-CAN and K-Line)
- ELM327 based adapters with Replacement firmware for ELM327 D-CAN and K-Line (all protocols!). When VAG has been selected as manufacturer, only this adapter could be used.
- ENET WiFi adapters (for BMW F-models)
More details could be found here: Supported adapter types
At the first start of Deep OBD for BMW and VAG you will be asked to extract the ECU files. The extracted files are very large and requires approximately 2.5GB on the external SDCard. An internet connection is required for this to check for update information.
In the next step a configuration (*.cccfg file) must be created. The easiest way to do so is to use the configuration generator. For complex scenarios you could manually create configuration files (see HowTo create Deep OBD pages). After loading and compiling the configuration file, all tabs included in the file will be visible on the main page.
Before connecting to the vehicle via Bluetooth a Bluetooth adapter has to be selected (or you will be asked when connecting). It's recommended to pair the adapter in the android Bluetooth menu before using it in Deep OBD for BMW and VAG, because this way a connection password could be assigned.
Follow the next steps to generate your first configuration (BMW):
- Open the Configuration generator from the main menu
- In the generator menu select the correct interface type and Bluetooth adapter if needed.
- Press the Read button and wait until the ECU list is populated.
- Select an ECU entry you are interested in.
- On the next page select a job and corresponding job result for data you want to see on the main page.
Make sure you have set the checkmarks for these results!
You could test reading the value with Test button below. - Leave the page and possibly select another ECU.
- Exit the Configuration generator and store the configuration.
- On the main page you will see the selected ECU tabs and the Error tab.
- Press the Connect button.
- Select the desired tab.
The application has a configuration menu with the following options:
- Manufacturer: Select the car manufacturer with this menu point first. The default is BMW, the other manufacturers are from the VAG group (VW, Audi, Skoda). The VAG mode is still experimental and requires a [Bluetooth D-CAN/K-Line adapter](Build Bluetooth D-CAN adapter.md).
- Device: With this menu the Bluetooth adapter could be selected. If the device is not coupled already, searching for new devices is possible. This menu is only enabled if a configuration with interface type BLUETOOTH has been selected.
- Adapter configuration: When using a FTDI USB or Bluetooth (non ELM327) adapter, this menu item opens the adapter configuration page. The following settings are available (depending from adapter type):
- CAN baud rate: (500kbit/100kbit) or K-Line (CAN off)
- Separation time: Separation time between CAN telegrams. The default is 0, only change this value if there are communication problems.
- Block size: Size of CAN telegram blocks. The default is 0, only change this value if there are communication problems.
- Firmware update: If a new firmware is available for the adapter, the update could be initiated with this button.
- Configuration generator: Simple XML configuration files could be generated automatically using the informations obtained from the vehicle. This menu opens the configuration generator which allows to create new or modify existing XML files by simply selecting the ECU and job informations.
- Configuration: This menu allows the selection of the configuration file (*.cccfg file). When using the configuration generator the configuration is selected automatically. After selection the file will be compiled.
- Ediabas tool: This is a port of the tool32.exe windows application. Selecting the menu will open the Ediabas tool page.
- Extract ECU files: The EUC files are very large, so they have to be extraced at first app start. With this menu item files could be extracted again. An internet connection is required to check for update information.
- Data logging: Selecting this menu entry will open a sub menu with multiple data logging options:
- Create trace file: If the checkbox of this menu is active, a ifh.trc file will be created when the application is connected. The trace file will be created in the Log subdirectory.
- Append trace file: If this checkbox is enabled the trace file is always appended. Otherwise the trace file will be overridden after selection of a new configuration or restart of the application.
- Log data: This checkbox enables logging of the display data to a log file. Only those lines are logged, that have a log_tag property in the configuration file. The logfile property in the page node has to be specified as well to activate logging. When using the configuration generator log_tag is set by default to the job name and logfile to the ECU name. Data will be logged in the Log subdirectory.
- Translations: (Only for non German languages) This menu opens a submenu that allows configuration of automatic ECU text translation with Yandex.Translate:
- Translate ECU text: If this menu item is checked, automatic ECU text translation is active.
- Yandex API Key: For automatic translation with Yantex.Translate a free API Key is required, that allows a limited amount of translations per day. To get this key, a Yandex account is required. This menu provides a GUI that assists in obtaining the API Key.
- Clear translation cache: To enforce a new translation this menu resets the translation cache.
- Global settings: Opens the global app settings page.
- Online help: Displays this help page.
- App info: Displays the app version and unique id.
Below are some screenshots from the example E61 configuration:
The location of the log and trace files depends from the Android version.
Beginning with Android KitKat (4.4) writing to the external SdCard is not possible any more. For older Android versions log and trace files are stored in a subdirectory relative to de.holeschak.bmw_deep_obd on the external SDCard. For KitKat and above the data could be found in the directory Android\data\de.holeschak.bmw_deep_obd\files of the external SDCard.
The standard log files are stored in the subdirectory Log, whereas the Ediabas tool uses the subdirectory LogEdiabasTool and the configuration generator the subdirectory LogConfigTool.
It's possible to replace the background image. Simply store a custom Background.jpg file in the directory de.holeschak.bmw_deep_obd\files\Images (The Images subdirectory has to be created first).