Deep OBD for BMW and VAG
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:
Supported adapters
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 PIC18F2480 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)
First start
At the first start of Deep OBD for BMW adn VAG you will be asked to download the ECU files. The file package is very large (100MB) and requires approximately 1GB on the external SDCard after extraction.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 BMW 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 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, because this way a connection password could be assigned.
The main menu
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.
- 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.
- Storage media: If the default storage media for the ECU files is not appropriate, a different media could be selected in this sub menu. The application storage directory on the media will be always fixed to de.holeschak.bmw_deep_obd.
- Download ECU files: Since the BMW ECU files are very large (100MB), they are not included in the application package. When starting the application for the first time the ECU file download is requested automatically. With this menu entry the file download could be initiated manually if the ECU files are damaged.
- 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 generatorlog_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.
- Online help: Displays this help page.
- App info: Displays the app version and unique id.
Below are some screenshots from the example E61 configuration:
Log and trace files location
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.