BMW Fxx-Ixx-Gxx-series Coding Guides, Tips, & Cheat Sheets (from

What is Included:

  1. What is BMW Fxx-Ixx-Gxx-series Coding
  2. Step-By-Step Guides
  3. Connecting to Vehicle
  4. Helpful Hints & Acronyms
  5. Cheat Sheets

NOTE1: Links are in BLUE and pictures are links to larger images.

NOTE2: See this thread for Software Links

  1. What is Coding:Coding is a bit of a misnomer. Neither any programming language (eg, C++ or Python) knowledge is necessary nor software modified. Instead, an easy-to-use, graphical user interface (GUI) is used to customize settings so a vehicle operates more as the individual desires. This guide will help minimize risks and outline how to reset a vehicle back to factory. If you choose to proceed, approach the task with a clear plan, know the steps, and NEVER guess, clarifying any doubts before you proceed. Many willing forum experts will assist you.
  2. Step-By-Step Guides:E-sys Getting Started Documents(Updated 06/07/2017)
  • Within the main directory, you will find two PDF’s, including a sort of pictorial, Table of Contents and Guiding PDF (Information below).
  • Start w/ “Getting Started” paired w/ “Editors and Viewers” & “How to Change Werte Values”
  • Then, look at “How to change FA in F-series car,” and “VO Coding Guide”

These short, pictorial, step-by-step documents will help familiarize you with E-sys terminology & GUI.
At a later time, peruse “User Manual v1.4,” as it is more comprehensive & may be confusing or overwhelming at first.


VO vs FDL Coding



See Notes on Retrofits

fdl coding


NOTE: “CODE” = VO Coding. “Code FDL” = FDL Coding


  1. Connecting To Vehicle:

E-sys Launcher: Select actual chassis (eg. F015 for 2014+ X5)



  • E-sys Connection Target: representative mainseries (eg. F025 for X5). See Target Window Below.
  • Info in “Launcher Targets and Chassis” PDF & “install instructions” in linked guides (above)
  • NOTE: Incorrect Launcher Chassis selection results in unmapped (ie without descriptions) ECU in FDL-Editor and Incorrect Connection Target results in “doesn’t map to an item” read errors.


For proper connection:

  • Make sure motor is running if car is not connected to External Charger.
    • This maintains battery voltage (See note below), provides power to all ECU’s, and allows HVAC to run for more coding session.
  • Disable Third party Security Suites (ie Antivirus / Firewall / etc)
  • LAN Adapter is set for DHCP and not using a Static IP.
  • The Target Connection Window should not be blank (See multiple target connections for different chassis)


CAUTION WARNING: Besides initial connection, the following conditions can corrupt ECU’s if vehicle & computer communication is disrupted:

  • Vehicle shutdown during coding because battery voltage is not maintain using either engine or external PSU
  • Lose or low quality cable / adapter.
  • Computer shuts down due to loss of battery.
  1. Helpful Hints & Acronyms:
  • NEVERselect “Code Default Values.” It actually refers to an “Initial [unprocessed] State,” which is not equal to “factory values.”
  • Develop or utilize a system to track changes that works for you. One way is using BMW Coding Database
    • Search descriptions or function values & import codes (via selecting “To Car Profile”) into created Car Profiles
  • E-sys Vehicle Files Backup:
    • Net-Coded Data: “Reading Coding Data” ==> processed car data in the form of an *.ncd’s file (C:\data\CAF).
      • Prior to saving FDL-editor changes or “Reading Coding Data,” move or copy these files to another location; otherwise, they will be overwritten
      • Using TokenMaster’s NCD / CAFD Tool (NCD Compare) is just one way these can be used to highlight differences.
    • Comparatively, FA’s (C:\data\FA) & SVT’s (C:\data\SVT) must be manually saved after read from vehicle. Use as offline reference, but always read SVT from vehicle

For Newest BMW E-sys software,please check here:

Newest BMW E-sys Coding software Free Download


  • Normal Behavior & What to Expect:
    • Prior to coding, backup your vehicle key profiles to a USB stick using idrive menus b/c saved preferences, including seat settings & hotkeys, may be erased depending on which ECU’s you code
    • When VO or FDL coding, the associated car functions will power cycle (eg., HU_NBT turns off and show boot animation)
    • After FDL coding certain ECU’s, various errors in the instrument cluster (eg, KOMBI) or head unit (eg, HU_NBT(2)) may appear
      • It is fine as long as E-sys pop-up shows “Report – “0” Errors”
      • For KOMBI, you may have to reset clock
      • Others (eg. ACSM or ICM) will clear with driving or External Transmitter as described in ShawnSheridan’s install instructions
    • Other Acronyms
      • VCM = Vehicle Configuration Management. The following two are pulled when “Read”:
        • FA = Fahrzeugauftrag (German for Vehicle Order): Vehicle Profile, including VIN, upholstery, & factory options. Same information as found in Decoded VIN.
      • SVT = Software Variant Table: Lists all vehicle ECU’s & their current firmware. Like FA’s, it contains zero actual vehicle coding parameters.
      • ECU = electronic Control Unit (Complete CAFD_ID’s LIST). SVT will list ECU name & CAFD_ID (eg, HU_NBT & CAFD_00000DED, respectively). Know CAFD_ID’s to load NCD’s in FDL-Editor.
      • CAFD = Processed CAF
  1. Cheat Sheets:

Coding Made Easier (Cheat Codes in E-Sys Launcher): See Video @1:25




NOTE1: Use Launcher Pro to sync or manually download latest Cheat Codes from Github. Place in one or more of the following directories:

  • C:\Program Files (x86)\TokenMaster\E-Sys Launcher Premium\FDLCodes
  • C:\Program Files (x86)\TokenMaster\E-Sys Launcher PRO\FDLCodes

NOTE2: Make your own using either this or this guide.

Make sure to “Review” potential changes before applying because funktions move around and present codes may not be relevant to vehicle.

  • Cheat Sheets also found in linked Guide (Section 4 “Getting Started”) as well as BMW Coding Database (link in Section 4).
  • NOTE: Coding is Hardware Specific; this relates to ECU’s and other components like Headlamps. See Technical Training Docs(On individual chassis threads), specifically “General Vehicle Electronics” for ECU Functions.
    • Example: DO NOTuse Cheat Sheets or Launcher Cheat Codes meant for halogen lamps on Xenons or LED’s.
    • Example: You will not find Fem_Body in a 5-series or BDC_Body in an M3.
    • Example: Folding mirrors via CA (Requires 322 CA) or keyFOB (Requires 430 / 430 Power Mirrors)
  • Cheat Sheets
    • Grouped by Shared ECU’s (See Section 1“Supported Chassis” & Section 6 “CAFD_ID’s”):
      • F001 & F010 & F025. Main Module = FRM (CAFD_0000106D) and CAS (CAFD_0000000F).
      • F020. Also used F030. Main Modules are Fem_Body (Front, CAFD_00000794) & REM (Rear, CAFD_000007A1)
      • F030Main Modules are Fem_Body (Front) & REM (Rear)
      • F015 & F048 & F056. Main Module is BDC_Body.
      • I001. Main Module is BDC_Body
      • G012 & G30 (Use F15& Launcher Codes). Main Module is BDC_Body (CAFD_000017BC, CAFD_000017BD, CAFD_00001DF7, CAFD_00001DF8).




For best quality BMW ICOM, inpa and ENET cable, contact email at




BMW inpa


BMW ENET cable