Manual

System requirements

BimmerCode works with all iOS devices running iOS 9.3 or higher and all Android devices running Android 4.4 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
  1. 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).
  2. Ensure that no gear is engaged (selector lever position P for cars with automatic transmission) and that the parking brake is on.
  3. Make sure all electrical consumers (lights, heating, ventilation etc.) are turned off.
  4. 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.
  5. 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.
Bluetooth adapter connection
  1. Plug in the adapter into the OBD port in the footwell on the driver side in the car.
  2. ”OBDLink MX+” adapter only: this adapter has to be paired with the iOS device as described here.
  3. Enable the Airplane mode on the iOS device.
  4. Turn on Bluetooth on the iOS device.
  5. Turn off Wi-Fi on the iOS device.
  6. Disable CarPlay in the iOS settings (“Settings” > “General” > “CarPlay” > Select car > Disable “CarPlay”).
  7. Disconnect the iOS device in the iDrive settings in the car (“COM” > “Mobile devices” > Select the device > “Disconnect device”).
  8. Disconnect any additional Bluetooth connections to other devices.
  9. Keep the distance between the iOS device and the adapter as short as possible.
  10. Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
  11. Tap “Connect” on the start screen in the BimmerCode app.
ENET cable + Ethernet adapter connection
  1. 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.
  2. Enable the Airplane mode on the iOS device.
  3. Turn off Bluetooth on the iOS device.
  4. Turn off Wi-Fi on the iOS device.
  5. Open the iOS Ethernet settings and wait for an IP address to be assigned.
  6. Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
  7. Tap “Connect” on the start screen in the BimmerCode app.
  8. If the connection fails continuously, please lock the car, let it rest for a while and then try again.
Wi-Fi adapter connection
  1. Plug in the adapter into the OBD port in the footwell on the driver side in the car.
  2. Enable the Airplane mode on the iOS device.
  3. Turn off Bluetooth on the iOS device.
  4. Turn on Wi-Fi on the iOS device.
  5. Disable CarPlay in the iOS settings (“Settings” > “General” > “CarPlay” > Select car > Disable “CarPlay”).
  6. Open the iOS Wi-Fi settings and connect to the adapter network.
  7. Keep the distance between the iOS device and the adapter as short as possible.
  8. Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
  9. Tap “Connect” on the start screen in the BimmerCode app.
Bluetooth adapter connection
  1. Plug in the adapter into the OBD port in the footwell on the driver side in the car.
  2. Open the Android Bluetooth settings and pair the adapter with the Android device.
  3. Enable the Airplane mode on the Android device.
  4. Turn on Bluetooth on the Android device.
  5. Turn off Wi-Fi on the Android device.
  6. Disconnect the Android device in the iDrive settings in the car (“COM” > “Mobile devices” > Select the device > “Disconnect device”).
  7. Disconnect any additional Bluetooth connections to other devices.
  8. Keep the distance between the Android device and the adapter as short as possible.
  9. Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
  10. Tap “Connect” on the start screen in the BimmerCode app.
Wi-Fi adapter connection
  1. Plug in the adapter into the OBD port in the footwell on the driver side in the car.
  2. Enable the Airplane mode on the Android device.
  3. Turn off Bluetooth on the Android device.
  4. Turn on Wi-Fi on the Android device.
  5. Open the Android Wi-Fi settings and connect to the adapter network.
  6. Keep the distance between the Android device and the adapter as short as possible.
  7. Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
  8. Tap ”Connect” on the start screen in the BimmerCode app.
ENET cable connection (Android 4.4-10)

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.

  1. Connect the ENET cable with your Android device using an appropriate USB to Ethernet adapter.
  2. Connect the cable to the OBD port in the footwell on the driver side in the car.
  3. Enable the Airplane mode on the Android device.
  4. 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
  5. Disconnect the cable and connect it again to make the changes take effect.
  6. Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
  7. Tap “Connect” on the start screen in the BimmerCode app.
ENET cable connection (Android 11)
  1. Connect the ENET cable with your Android device using an appropriate USB to Ethernet adapter.
  2. Connect the cable to the OBD port in the footwell on the driver side in the car.
  3. Enable the Airplane mode on the Android device.
  4. Enable “Ethernet tethering“ in the Android settings (“Settings“ > “Connections“ > “Mobile Hotspot and Tethering“ > “Ethernet tethering“).
  5. Open the settings in the BimmerCode app and make sure the correct adapter type is selected.
  6. Tap “Connect” on the start screen in the BimmerCode app.

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
  1. Connect to the car as described in the chapter ”Connecting”.
  2. Select the type of your car from the displayed list and tap ”Connect”
  3. The control units in the car are identified now and a list of all supported control units is displayed afterwards.
  4. Select a control unit from the list.
  5. Make the desired changes for the selected control unit. You can find a list of the supported coding options for your car here.
  6. Tap ”Code” to start the coding process.
  7. The coding process will start and a message will be displayed on success.
Coding in expert mode
  1. Connect to the car as described in the chapter ”Connecting”.
  2. Select a control unit from the list.
  3. Activate expert mode by selection ”Expert mode”.
  4. Make the desired changes for the selected control unit.
  5. 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” in the settings in the app.

Backups

Every time the coding data is read from a control unit a backup of the coding data is created automatically to restore the original coding data later or recover in case of an error.

Restoring
  1. Connect to the car as described in the chapter ”Connecting”.
  2. Select a control unit from the list.
  3. Tap ”Backups”.
  4. Select a backup from the list (the backups are sorted ascending by creation date). To restore the original coding data you have to select the last backup at the bottom of the list.
  5. Tap ”Done”.
  6. Tap ”Code” to start the coding process.
Exporting backups

To have access to your backups after changing your iOS device, you should save them regularly. To export the backups to your Windows or Mac computer please follow the steps described here.

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.

Restoring
  1. Connect to the car as described in the chapter ”Connecting”.
  2. Select a control unit from the list.
  3. Tap the menu button in the top right corner.
  4. Tap ”Restore”.
  5. Tap ”Restore" in the dialog to start the coding process.
Exporting backups

To have access to your backups after changing your Android device, you should save them regularly. The backups are saved to the external storage in ”BimmerCode/Backups”. To export the backups to your Windows or Mac computer please follow the steps described here