Quick Start Guide
System requirements
BimmerCode works with all iOS devices running iOS 12 or higher and all Android devices running Android 5.0 or higher.
Supported cars
BimmerCode supports a wide range of BMWs and MINIs and the 2019 Toyota Supra. Please check compatibility with your car here before purchasing the full version.
Supported coding options
The available coding options depend on the car and the optional extras. A list of the supported coding options is available here. Please note that the coding options require specific control units to be present in the car and that some control units in newer G Series cars are only accessible with specific OBD adapters. It is possible to check the available control units and options for your car using one of the supported OBD adapters and the free version of the app.
Required accessories
To connect to your car using BimmerCode one of the supported OBD adapters is required. You can find a list of all supported devices here. Please note that not all adapters are suitable for all cars and adapters other than the listed devices will not work.
Connection
Preparing your car
- Turn on the ignition in the car. For G-Series cars the diagnostic mode has to be activated additionally (press the start button in the car three times in quick succession without pushing the brake or clutch pedal).
- Please make sure that the engine is not running.
- Ensure that no gear is engaged (selector lever position P for cars with automatic transmission) and that the parking brake is on.
- Make sure all electrical consumers (lights, heating, ventilation etc.) are turned off.
- Disconnect or disable any third party hardware installed to the car that is connected to the CAN bus (e.g. JB4, rear view camera, exhaust flap control), because the communication may be interfered and coding may fail in this case.
- The headunit has to be in its original state. If you used a third party solution to enable CarPlay or the navigation has been unlocked, these changes have to be reverted, because BimmerCode will not allow coding the headunit otherwise. Retrofitted iDrive systems may also not be accessible under certain circumstances.
iOS
- Please make sure to force quit any other app running in the background that may be using the OBD adapter (OBDLink app for example).
- Plug in the adapter into the OBD port in the footwell on the driver side in the car.
- Enable the Airplane mode on the iOS device.
- Turn on Bluetooth on the iOS device.
- For OBDLink MX+ users: This adapter has to be paired with the iOS device as described here.
- Turn off Wi-Fi on the iOS device.
- Disable CarPlay in the iOS settings (“Settings” > “General” > “CarPlay” > Select car > Disable “CarPlay”).
- Disconnect the iOS device in the iDrive settings in the car (“COM” > “Mobile devices” > Select the device > “Disconnect device”).
- Disconnect any additional Bluetooth connections to other devices.
- Keep the distance between the iOS device and the adapter as short as possible.
- Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
- Tap “Connect” on the start screen in the BimmerCode app.
- Allow BimmerCode to use Bluetooth when prompted in the app.
- Make sure you have allowed BimmerCode access to Bluetooth (iOS Settings > BimmerCode > Bluetooth)
- Make sure to follow the steps outlined in “Preparing your car” and “How to connect”.
- Remove the OBD adapter from the OBD port, plug it in again firmly and make sure that the LEDs in the adapter are lighting up. If the LEDs in the adapter do not light up when connected, the adapter may be faulty or there may be an electrical problem with the OBD port in your car (a bent pin for example).
- Make sure that your OBD adapter is supported for iOS devices. There are some variants that can only be used for Android and do not work for iOS. You can check the compatibility here.
- Make sure that your OBD is supported for your specific car. You can check compatibility here.
- Restart your device and the OBD adapter by unplugging it.
- If you have some kind of third party CarPlay unit connected to the iDrive system in your car, please enable “Ignore headunit” in the settings in the app. If you want to access the headunit with BimmerCode you have to disconnect the CarPlay unit from the iDrive system temporarily.
- For OBDLink adapter users: Update the adapter firmware using the OBDLink app and make sure that the OBDLink app is not running in the background when trying to connect with BimmerCode.
- Please make sure to force quit any other app running in the background that may be using the OBD adapter.
- Plug in the adapter into the OBD port in the footwell on the driver side in the car.
- Enable the Airplane mode on the iOS device.
- Turn off Bluetooth on the iOS device.
- Turn on Wi-Fi on the iOS device.
- Disable CarPlay in the iOS settings (“Settings” > “General” > “CarPlay” > Select car > Disable “CarPlay”).
- Open the iOS Wi-Fi settings and connect to the adapter network.
- Keep the distance between the iOS device and the adapter as short as possible.
- Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
- Tap “Connect” on the start screen in the BimmerCode app.
- Allow BimmerCode to access the local network when prompted in the app.
- Make sure to follow the steps outlined in “Preparing your car” and “How to connect”.
- Remove the OBD adapter from the OBD port, plug it in again firmly and make sure that the LEDs in the adapter are lighting up. If the LEDs in the adapter do not light up when connected, the adapter may be faulty or there may be an electrical problem with the OBD port in your car (a bent pin for example).
- Allow BimmerCode to access the local network (iOS settings > BimmerCode > Local network).
- Make sure that your OBD is supported for your specific car. You can check compatibility here.
- Restart your device and the OBD adapter by unplugging it.
- If you have some kind of third party CarPlay unit connected to the iDrive system in your car, please enable “Ignore headunit” in the settings in the app. If you want to access the headunit with BimmerCode you have to disconnect the CarPlay unit from the iDrive system temporarily.
- Connect the Ethernet adapter to your iOS device and the ENET cable and plug in the OBD connector into the OBD port in the footwell on the driver side in the car.
- Enable the Airplane mode on the iOS device.
- Turn off Bluetooth on the iOS device.
- Turn off Wi-Fi on the iOS device.
- Open the iOS Ethernet settings and wait for an IP address to be assigned.
- Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
- Tap “Connect” on the start screen in the BimmerCode app.
- Allow BimmerCode to access the local network when prompted in the app.
- Make sure to follow the steps outlined in “Preparing your car” and “How to connect”.
- Remove the OBD adapter from the OBD port, plug it in again firmly and make sure that the LEDs in the adapter are lighting up. If the LEDs in the adapter do not light up when connected, the adapter may be faulty or there may be an electrical problem with the OBD port in your car (a bent pin for example).
- Allow BimmerCode to access the local network (iOS settings > BimmerCode > Local network).
- Make sure that your OBD is supported for your specific car. You can check compatibility here.
- Lock your car, let it sit for at least 15 minutes or perform a battery reset by unplugging the negative battery terminal in the car for a few minutes and then try to connect again.
- Plug in the adapter into the OBD port in the footwell on the driver side in the car.
- Enable the Airplane mode on the iOS device.
- Turn off Bluetooth on the iOS device.
- Turn on Wi-Fi on the iOS device.
- Disable CarPlay in the iOS settings (“Settings” > “General” > “CarPlay” > Select car > Disable “CarPlay”).
- Open the iOS Wi-Fi settings and connect to the “MHD CAN” or “MHD ENET” network.
- Keep the distance between the iOS device and the adapter as short as possible.
- Open the settings in the BimmerCode app and make sure the correct adapter type is selected. If you have previously established a connection to the “MHD CAN” network in the network settings, please select “MHD (orange)” here. For the network with the name “MHD ENET” please select “MHD ENET (black)”.
- Tap “Connect” on the start screen in the BimmerCode app.
- Allow BimmerCode to access the local network (iOS settings > BimmerCode > Local network).
- Make sure to follow the steps outlined in “Preparing your car” and “How to connect”.
- Remove the OBD adapter from the OBD port, plug it in again firmly and make sure that the LEDs in the adapter are lighting up. If the LEDs in the adapter do not light up when connected, the adapter may be faulty or there may be an electrical problem with the OBD port in your car (a bent pin for example).
- Allow BimmerCode to access the local network (iOS settings > BimmerCode > Local network).
- Make sure that your OBD is supported for your specific car. You can check compatibility here.
- Lock your car, let it sit for at least 15 minutes or perform a battery reset by unplugging the negative battery terminal in the car for a few minutes and then try to connect again.
- Restart your device and the OBD adapter by unplugging it.
- Update the adapter firmware using the MHD app.
Android
- Please make sure to force quit any other app running in the background that may be using the OBD adapter (OBDLink app for example).
- Plug in the adapter into the OBD port in the footwell on the driver side in the car.
- Open the Android Bluetooth settings and pair the adapter with the Android device.
- Enable the Airplane mode on the Android device.
- Turn on Bluetooth on the Android device.
- Turn off Wi-Fi on the Android device.
- Disconnect the Android device in the iDrive settings in the car (“COM” > “Mobile devices” > Select the device > “Disconnect device”).
- Disconnect any additional Bluetooth connections to other devices.
- Keep the distance between the Android device and the adapter as short as possible.
- Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
- Tap “Connect” on the start screen in the BimmerCode app.
- Allow BimmerCode to use Bluetooth when prompted in the app.
- Make sure to follow the steps outlined in “Preparing your car” and “How to connect”.
- Remove the OBD adapter from the OBD port, plug it in again firmly and make sure that the LEDs in the adapter are lighting up. If the LEDs in the adapter do not light up when connected, the adapter may be faulty or there may be an electrical problem with the OBD port in your car (a bent pin for example).
- Make sure your Android device is NOT paired with a Bluetooth OBD adapter that has "iOS" in its name. If it is, unpair the OBD adapter and pair with the Bluetooth device without the “iOS” suffix. It may take a bit longer until this is showing up in the Bluetooth devices list.
- Make sure that your OBD is supported for your specific car. You can check compatibility here.
- Restart your device and the OBD adapter by unplugging it.
- If you have some kind of third party CarPlay unit connected to the iDrive system in your car, please enable “Ignore headunit” in the settings in the app. If you want to access the headunit with BimmerCode you have to disconnect the CarPlay unit from the iDrive system temporarily.
- For OBDLink adapter users: Update the adapter firmware using the OBDLink app and make sure that the OBDLink app is not running in the background when trying to connect with BimmerCode.
- Please make sure to force quit any other app running in the background that may be using the OBD adapter.
- Plug in the adapter into the OBD port in the footwell on the driver side in the car.
- Enable the Airplane mode on the Android device.
- Turn off Bluetooth on the Android device.
- Turn on Wi-Fi on the Android device.
- Open the Android Wi-Fi settings and connect to the adapter network.
- Keep the distance between the Android device and the adapter as short as possible.
- Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
- Tap ”Connect” on the start screen in the BimmerCode app.
- Make sure to follow the steps outlined in “Preparing your car” and “How to connect”.
- Restart your device and the OBD adapter
- Remove the OBD adapter from the OBD port, plug it in again firmly and make sure that the LEDs in the adapter are lighting up. If the LEDs in the adapter do not light up when connected, the adapter may be faulty or there may be an electrical problem with the OBD port in your car (a bent pin for example).
- Make sure that your OBD is supported for your specific car. You can check compatibility here.
- Restart your device and the OBD adapter by unplugging it.
- If you have some kind of third party CarPlay unit connected to the iDrive system in your car, please enable “Ignore headunit” in the settings in the app. If you want to access the headunit with BimmerCode you have to disconnect the CarPlay unit from the iDrive system temporarily.
- Connect the ENET cable with your Android device using an appropriate USB to Ethernet adapter.
- Connect the cable to the OBD port in the footwell on the driver side in the car.
- Enable the Airplane mode on the Android device.
- Enable “Static IP“ in the Android settings(“Settings“ > “Connections“ > “More connection settings“ > “Ethernet“ > “Configure Ethernet device“ > “Static IP“) and make the following entries:
- IP Address: 169.254.250.250
- Netmask: 255.255.0.0
- Default gateway: 0.0.0.0
- DNS address: 0.0.0.0
- Disconnect the cable and connect it again to make the changes take effect.
- Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
- Tap “Connect” on the start screen in the BimmerCode app.
- Please make sure your Android device supports an ethernet connection and allows to use a static IP address. Otherwise this connection type is not supported.
- Make sure to follow the steps outlined in “Preparing your car” and “How to connect”.
- Make sure that your OBD is supported for your specific car. You can check compatibility here.
- Lock your car, let it sit for at least 15 minutes or perform a battery reset by unplugging the negative battery terminal in the car for a few minutes and then try to connect again.
- Restart your device and the OBD adapter by unplugging it.
- Connect the ENET cable with your Android device using an appropriate USB to Ethernet adapter.
- Connect the cable to the OBD port in the footwell on the driver side in the car.
- Enable the Airplane mode on the Android device.
- Enable “Ethernet tethering“ in the Android settings (“Settings“ > “Connections“ > “Mobile Hotspot and Tethering“ > “Ethernet tethering“).
- Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
- Tap “Connect” on the start screen in the BimmerCode app.
- If the connection continously fails, please lock the car, let it sit for a while and then try to connect again.
- Please make sure your Android device supports an ethernet connection and allows to enable “Ethernet tethering“.
- Make sure to follow the steps outlined in “Preparing your car” and “How to connect”.
- Make sure that your OBD is supported for your specific car. You can check compatibility here.
- Lock your car, let it sit for at least 15 minutes or perform a battery reset by unplugging the negative battery terminal in the car for a few minutes and then try to connect again.
- Restart your device and the OBD adapter by unplugging it.
- Plug in the adapter into the OBD port in the footwell on the driver side in the car.
- Enable the Airplane mode on the Android device.
- Turn off Bluetooth on the Android device.
- Turn on Wi-Fi on the Android device.
- Open the Android Wi-Fi settings and connect to the “MHD CAN” or “MHD ENET” network.
- Keep the distance between the Android device and the adapter as short as possible.
- Open the settings in the BimmerCode app and make sure the correct adapter type is selected. If you have previously established a connection to the “MHD CAN” network in the network settings, please select “MHD (orange)” here. For the network with the name “MHD ENET” please select “MHD ENET (black)”.
- Tap ”Connect” on the start screen in the BimmerCode app.
- Make sure to follow the steps outlined in “Preparing your car” and “How to connect”.
- Make sure that your OBD is supported for your specific car. You can check compatibility here.
- Lock your car, let it sit for at least 15 minutes or perform a battery reset by unplugging the negative battery terminal in the car for a few minutes and then try to connect again.
- Restart your device and the OBD adapter by unplugging it.
- Update the adapter firmware using the MHD app.
- Please make sure to force quit any other app running in the background that may be using the OBD adapter (OBDLink app for example).
- Connect the USB cable with your Android device using an appropriate USB adapter.
- Connect the cable to the OBD port in the footwell on the driver side in the car.
- Enable the Airplane mode on the Android device.
- Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
- Tap “Connect” on the start screen in the BimmerCode app.
- Allow BimmerCode to use USB when prompted in the app.
- Make sure to follow the steps outlined in “Preparing your car” and “How to connect”.
- Make sure that your OBD is supported for your specific car. You can check compatibility here.
- Make sure that your Android device supports USB-OTG.
- For OBDLink adapter users: Update the adapter firmware using the OBDLink app and make sure that the OBDLink app is not running in the background when trying to connect with BimmerCode.
Desktop
- Connect the ENET cable with your device.
- Connect the cable to the OBD port in the footwell on the driver side in the car.
- Ensure that your device is connected to the internet.
- Tap “Connect” on the start screen in the BimmerCode app.
- Select the correct adapter and model of your car when prompted.
- If the connection continously fails, please lock the car, let it sit for a while and then try to connect again.
- A proper internet connection is required for coding. Ensure that your device is connected to the internet.
- Make sure to follow the steps outlined in “Preparing your car” and “How to connect”.
- Make sure that your OBD is supported for your specific car. You can check compatibility here.
- Lock your car, let it sit for at least 15 minutes or perform a battery reset by unplugging the negative battery terminal in the car for a few minutes and then try to connect again.
- Restart your device and the OBD adapter by unplugging it.
- Please make sure to quit any other app running in the background that may be using the OBD adapter.
- Connect the USB cable with your device.
- Connect the cable to the OBD port in the footwell on the driver side in the car.
- Tap “Connect” on the start screen in the BimmerCode app.
- Select the correct adapter and model of your car when prompted.
- Make sure to follow the steps outlined in “Preparing your car” and “How to connect”.
- Make sure that your OBD is supported for your specific car. You can check compatibility here.
Coding
There are two different ways to code your car: The basic mode allows you to code the most popular coding options in an easy and convenient way and the expert mode is intended for experienced users that are already familiar with coding and have special knowledge. In general expert mode is not required and all popular options are available in the basic mode.
Coding in basic mode
- Connect to the car as described in the chapter ”Connecting”.
- Select the type of your car from the displayed list and tap ”Connect”
- The control units in the car are identified now and a list of all supported control units is displayed afterwards.
- Select a control unit from the list.
- Make the desired changes for the selected control unit. You can find a list of the supported coding options for your car here.
- Tap ”Code” to start the coding process.
- The coding process will start and a message will be displayed on success.
Coding in expert mode
- Connect to the car as described in the chapter ”Connecting”.
- Select a control unit from the list.
- Activate expert mode by selection ”Expert mode”.
- Make the desired changes for the selected control unit.
- Tap ”Code” to start the coding process.
After coding
- After coding the car may display errors, but there is no need to worry. This is totally normal and the errors will disappear after a short period of time when you turn the ignition off and on again.
- Depending on the control unit you may have to set the time again and restore user defined settings in the iDrive system in the car.
- When coding the instrument cluster the average consumption is reset and the remaining range may display an unusual value. This will normalize itself after some driving cycles.
- After coding the instrument cluster the outside temperature may display an unusual value. This will normalize itself after some time.
Coding failure
If an error occurs during coding, please proceed as follows:
- Close the connection, restart the iOS or Android device and the adapter (disconnect and reconnect).
- Open BimmerCode and connect as described in the chapter ”Connecting”. Please exactly follow these instructions in order to prevent external interference during coding and avoid problems.
- Select the specific control unit. If coding data is invalid this is marked with a red dot.
- Restore the coding data using a backup as described in the chapter ”Backups”.
- If coding fails continuously, please contact support using the “Support request” option in the settings in the app.
Backups and recovery
iOS
Each time a control unit is read out, a backup of the coding data for the selected control unit is automatically saved for later restoration of the original data or for restoration in the event of an error.
Recovery
- Connect to the car as described in the chapter ”Connecting”.
- Select a control unit from the list.
- Tap ”Backups”.
- Select a backup from the list (the backups are sorted ascending by creation date). To undo all coding in the selected control unit, please select the last backup at the bottom of the list.
- Tap ”Done”.
- Tap ”Start coding” to start the coding process.
Exporting backups
In order to have access to the backups even if the iOS device is changed or lost, it should be backed up regularly. The backups can be transferred to a Windows or Mac computer as described here . The backups are also accessible via the iOS Files app (open the Files app > ”On My iPhone”> ”BimmerCode” > ”Backups”) and can therefore also be saved in iCloud Drive, for example.
Android
The first time the coding data is read from a control unit a backup is created automatically to restore the original coding data later or to recover in case of an error.
Create backups
Backups are created automatically the first time a control unit is read out.
Perform recovery for a control unit
- Connect to the car as described in the chapter ”Connecting”.
- Select a control unit from the list.
- Tap on in the top right corner.
- Tap ”Recovery”.
Export backup files
- Open the BimmerCode app on your Android device.
- Tap in the top right corner of the start screen.
- Select “Backup files“.
- Select “Export”.
- Now you have the option to save the backup files to Google Drive, for example, or to send them by email.
Import backup files
- Open the BimmerCode app on your Android device.
- Tap in the top right corner of the start screen.
- Select “Backup files“.
- Select “Import”.
- Depending on where you saved your backup files, you may need to navigate to the appropriate folder and select the backup files.
- After selecting, the backup files will be checked and imported into BimmerCode.
Direct access to the backup files
The backups are saved in the device's storage under “Android/data/de.appomotive.bimmercode/files/Backups” and can be accessed as follows:
- To export the backups to your Windows or Mac computer please follow the steps described here.
- With the free app TotalCommander: “Internal shared storage” > “Android” > „data” > „Installed apps“ (allow access in the notification dialog) > Navigate to the folder “de.appomotive.bimmercode/files/Backups”.
Desktop
The first time the coding data is read from a control unit a backup is created automatically to restore the original coding data later or to recover in case of an error.
Create backups
Backups are created automatically the first time a control unit is read out.
Perform recovery for a control unit
- Connect to the car as described in the chapter ”Connecting”.
- Select a control unit from the list.
- Tap on in the top right corner.
- Tap ”Recovery”.
Direct access to the backup files
The backups are saved in a folder on your system and can be accessed as follows:
- Open the BimmerCode Desktop app.
- In settings, click on
Manage files
. This will open the directory where all app data are stored. - Find and open the
backups
folder.