Skip to content Skip to sidebar Skip to footer

Unlock Fullscreen Apple CarPlay on Your BMW HU MGU ID7: A DIY Coding Guide

Upgrading your BMW to enjoy the seamless integration of Apple CarPlay in fullscreen mode can significantly enhance your driving experience. For owners of BMW models equipped with the Head Unit MGU ID7 (NBT Evo), achieving this coveted feature often involves a software update and specific coding. This comprehensive guide will walk you through the process of flashing your NBT Evo system and activating fullscreen Apple CarPlay, focusing on the crucial role of the BMW FSC Code Apple CarPlay For BMW HU MGU ID7.

BMW NBT Evo ID5 Apple CarPlay InterfaceBMW NBT Evo ID5 Apple CarPlay Interface

Understanding BMW NBT Evo and Apple CarPlay Compatibility

BMW’s NBT Evo (Next Big Thing Evolution) head unit is a sophisticated infotainment system found in many BMW models. Different iterations of NBT Evo exist, identified by versions like ID4, ID5, ID6, and ID7. For enabling fullscreen Apple CarPlay, particularly on older systems like ID5 or ID6, a software update to a later version (like ID7-based versions “N” or higher) is often necessary.

The FSC (Freischaltcode) code is a crucial element in this process. It’s a unique activation code that BMW uses to enable specific features, including Apple CarPlay. For fullscreen CarPlay, you might need to ensure your NBT Evo firmware is compatible and potentially acquire an FSC code to unlock the full functionality.

This guide focuses on upgrading an older NBT Evo (like version “J”) to a newer version capable of supporting fullscreen Apple CarPlay. It’s important to note that the process described here is for DIY enthusiasts and requires a certain level of technical comfort and understanding of BMW coding and programming.

Prerequisites: Tools and Software You’ll Need

Before embarking on this DIY journey, ensure you have the necessary tools and software. Incorrect procedures can lead to system malfunctions, so proceed with caution.

  1. E-Sys Software: This is BMW’s official coding and programming software. You’ll need a version like E-Sys 3.30.1 or newer.
  2. PSdZData Full: This contains the necessary data files for flashing and coding BMW modules. Ensure you have a full and up-to-date version (e.g., v.4.26.35_PSdZData_Full or newer).
  3. ENET Cable: An Ethernet to OBD cable is essential for connecting your laptop to your BMW’s OBD port for coding and flashing. An example ENET cable can be found online.
  4. ICOM Next (Optional but potentially beneficial for ZGW flashing): While ENET cable is sufficient for NBT Evo flashing, an ICOM Next interface might offer more stability and speed, especially if you intend to flash other modules or the entire car in the future. Be aware of clone devices and potential risks associated with them.
  5. Battery Charger (50 AMP or higher): Maintaining a stable voltage supply during the flashing process is critical to prevent ECU damage. Use a robust battery charger connected to your BMW.
  6. Laptop: A Windows laptop with sufficient processing power and storage for the software and data files.

Step-by-Step Guide to Flashing NBT Evo for Fullscreen CarPlay

Important Disclaimer: Flashing your car’s ECU is an advanced procedure and carries risks. Incorrect steps can lead to serious malfunctions. Proceed at your own risk and ensure you understand each step before execution.

1. Connection Setup with ENET Cable

ENET cable is generally recommended for NBT Evo flashing due to its simplicity and reliability.

  1. Network Adapter Configuration: On your Windows laptop, configure your Ethernet adapter settings as follows:

    • IP address: 169.254.1.1
    • Subnet mask: 255.255.255.0
    • Default Gateway: (Leave blank)

    Windows Ethernet Adapter Settings for ENET ConnectionWindows Ethernet Adapter Settings for ENET Connection

  2. Connect ENET Cable: Plug one end of the ENET cable into your BMW’s OBD port and the other end into your laptop’s Ethernet port.

  3. Ignition ON: Turn on your BMW’s ignition (engine OFF).

  4. ZGW_SEARCH (EDIABAS Tool): Run the ZGW_SEARCH.exe tool located in your C:/EDIABAS/Hardware/ENET directory. This tool helps verify the connection. It should display an IP address, indicating successful communication.

    ZGW Search Tool Output with ENET Cable ConnectedZGW Search Tool Output with ENET Cable Connected

  5. E-Sys Connection: Open E-Sys software and click the “Connect” button.

  6. Target Selector: In the Connection window, select “Target Selector” as “F020” (This is a common chassis selection for NBT Evo flashing, even for different F-series models. Refer to specific guides for your exact chassis if unsure). Connection via VIN or ZGW IP Address should be automatically populated.

    E-Sys Connection Settings for ENET ConnectionE-Sys Connection Settings for ENET Connection

  7. Establish Connection: Click “Connect”. E-Sys should now connect to your BMW.

    E-Sys Connected SuccessfullyE-Sys Connected Successfully

2. Preparing for Flashing

Before initiating the flash, it’s crucial to check module dependencies to avoid communication issues.

  1. Read FA (Vehicle Order): In E-Sys, click “Read FA” and save the FA file.

  2. Activate FA: Right-click the saved FA file and select “Activate FA”.

  3. Read ECU: Click “Read ECU” (or “Read SVT” for newer versions). Save the SVT file as SVT_ist.

  4. Determine Target I-Step: Note the “I-Step (shipment)” value displayed in E-Sys. This represents your car’s original software level.

  5. Select Target I-Step: In the “KIS/SVT Target” section, select the same “I-Step (shipment)” value.

  6. Choose Latest Target I-Step: In the “I-Step (target)” section, select the latest available I-Step version. This will be the software version you are flashing to.

  7. Calculate SVT_soll: Select “Complete Flash” and click “Calculate”. Save the calculated SVT file as SVT_soll.

  8. Calculate TAL: Click “Calculate TAL”. A warning might appear; click “OK”. Save the TAL file as SVT_tal.

  9. Dependency Check (TAL Processing):

    • Go to “Expert Mode” -> “TAL Processing”.
    • Load the saved SVT_tal file.
    • Click “Edit TAL”.
    • Examine the “Dependencies” for the HU_NBT2 module (or your head unit module). Identify any dependent ECUs that also need updating. In the example provided, BDC_GW was a dependency.

    TAL Processing Dependency Check in E-SysTAL Processing Dependency Check in E-SysDependency details for HU_NBT2 moduleDependency details for HU_NBT2 moduleExample of ECU Dependency - BDC_GWExample of ECU Dependency – BDC_GWDependency details for another ECU moduleDependency details for another ECU moduleDependency details for yet another ECU moduleDependency details for yet another ECU module

3. Flashing Procedure

  1. Expert Mode -> TAL Processing: Navigate back to “Expert Mode” -> “TAL Processing”.

  2. Load TAL and SVT_soll: Load the SVT_tal file and the SVT_soll file.

  3. Read FA (Again): Click “Read FA” above the FA … (3 dot) button. This step is crucial to avoid potential errors later.

  4. Read VIN: Click “Read VIN”.

  5. ECU Selection: In the “ECU” section, select the modules you want to flash. To update NBT Evo for CarPlay, at a minimum, select HU_NBT_63. If dependencies were identified, include those as well (e.g., BDC_GW). For targeted NBT Evo update, uncheck “ALL” and then manually select HU_NBT_63 and any dependencies. Choose the following flashing operations for the selected modules: blFlash, swDeploy, cdDeploy, ibaDeploy.

    E-Sys TAL Processing ECU Selection for NBT Evo FlashE-Sys TAL Processing ECU Selection for NBT Evo Flash

  6. Check Software Availability: Click “Check Software Availability” to verify that you have the necessary data files in your PSdZData. You should see a confirmation indicating the software is available.

    Software Availability Check ConfirmationSoftware Availability Check Confirmation

  7. Start Flashing: Click “Start”. The flashing process will begin. Do not interrupt the process. It can take 40-45 minutes or longer. Ensure your battery charger is providing stable power throughout the process.

4. Post-Flash Configuration and Apple CarPlay Activation

  1. ID6 Lite Skin Coding (Optional but recommended for visual update): After successful flashing, your NBT Evo might revert to the ID5 menu style. To update to the ID6 “Lite” skin (visual appearance), use E-Sys in “Coding” mode (not “Flashing”):

    • Connect to your car in “Coding” mode.
    • Navigate to ECU HU_NBT_63 (or HU_NBT2 or similar depending on your E-Sys version).
    • Go to “FDL-Editor”.
    • Search for parameter HMI_ID_VERSION.
    • Change the value to id6_light.
    • Click “Write FDL”.
    • Code activate the changes.
  2. Apple CarPlay Activation Coding:

    • In “FDL-Editor” for HU_NBT_63:
      • Set HMI / HMI_39_39_128 to aktiv OR
      • Set HMI / CARPLAY_FULLSCREEN to aktiv
    • Click “Write FDL”.
    • Code activate the changes.
  3. Fullscreen Apple CarPlay FSC Code (If required): For fullscreen Apple CarPlay to function, especially on older systems upgraded to newer firmware, you might need an FSC code. This code is typically obtained through third-party services. Follow their instructions to input the FSC code into your NBT Evo system. This often involves using a separate Windows-based tool while your car’s CID screen is displaying a blue screen (indicating it’s ready for FSC code input).

    BMW NBT Evo with Fullscreen Apple CarPlayBMW NBT Evo with Fullscreen Apple CarPlayBMW iDrive 7 Menu after NBT Evo FlashBMW iDrive 7 Menu after NBT Evo FlashBMW iDrive Controller - ZBE4BMW iDrive Controller – ZBE4BMW Dashboard Interior ViewBMW Dashboard Interior View

Troubleshooting Common Issues

During the flashing process, you might encounter errors. Here are solutions to the issues encountered in the original guide:

  1. “FA must not be null” Error:

    TAL execution started. [C205] VCM Update: VCM-Update is deactivated. VCM will not be updated. [C197] [Exception - UNKNOWN] FA must not be null when trying to execute a TAL containing coding transactions Fatal error while executing tal! Asynchrone programming failed! [C049] FA must not be null when trying to execute a TAL containing coding transactions [1358] - SYSTEM_ERROR

    Solution: As mentioned in step 3.3 of the Flashing Procedure, ensure you click “Read FA” again after step 18 of the original numbered steps (after “Read VIN” in TAL Processing). This refreshes the FA and resolves the null FA issue.

  2. “Medium in dvd drive” Error:

    [] Failed ProgrammingPrecondition ECUId:HU_NBT2_0x63 error ID:128 - Medium in dvd drive. Flash may have problems when updating drive firmware. Please remove medium from drive before flash. Otherwise flash cannot start. [THROWABLE]

    Solution: This error indicates a CD/DVD is present in the NBT Evo’s drive. Eject any media from the CD/DVD drive before starting the flash. If the eject button seems unresponsive, try pressing it multiple times, as a hidden CD might be present.

Conclusion

Successfully flashing your BMW NBT Evo to enable fullscreen Apple CarPlay is a rewarding DIY project. By following this guide, understanding the importance of the BMW FSC Code Apple CarPlay for BMW HU MGU ID7, and proceeding with caution, you can unlock this enhanced functionality and enjoy a more integrated and modern infotainment experience in your BMW. Remember to always double-check your connections, software versions, and procedures before initiating any flashing or coding operations on your vehicle.