BMW F30 Coding – Getting started

The F30 is a great car just like the previous 3 series models and it`s the best sold car by BMW for a reason. It`s great in the city (you can find a parking space without problems compared to the 5 and 7 series) and it`s fun to drive.

By coding your car you can enable or disable a lot of features and you can personalize your ride without having to go to the dealership which can cost a lot and they will not be able to do all the things that you will because their software doesn`t allow many mods. You will also be able to professionally diagnose your car and fix most things that are software issues and not actual faults (this happens a lot on newer models).


      1. Hardware Required
      2. Software Pack for F30 and F80
      3. Installation procedure
      4. Using Esys to code your car


1. Hardware Required

There are only two things that you need in order to get started:

  • A Windows native laptop (all windows versions will work so no special requirements there)

NOTE: you can use a Mac laptop with Bootcamp and windows installed as a virtual machine but you will have to make sure you get the settings right so that the virtual machine sees your ethernet adapter.

  • The ENET coding cable:

Enet F30 coding cable

The ENET cable can be bought from Amazon or eBay. For the lowest price check here.

You can also make your own ENET cable, it`s not that hard but it`s better to just buy a cable because it`s very cheap and it`s safer.

The cable has 2 parts – the OBD2 connector for plugging into your car`s port and the ethernet (LAN) part for plugging into your laptop.


2. Software Pack for F30 and F80

Next step is to get the required software and install it.

Components breakdown:

  • Esys – the main software for all F series coding
  • Psdzdata – the data files that esys uses (located in C:\Data\psdzdata)

There are many versions that can be found online but none of them are reliable (mostly for the F30 there are missing cafd files, can be corrupted and contain malware and that`s the last thing you want when connecting to your car or trying to code modules).

We recommend buying the latest Esys and Psdzdata files from our dedicated coding packs page, it`s always updated, you will also have installation tutorials, “how to” tutorials the latest cheat sheets.

3. Installation procedure

  • Installing Esys
  • Installing the Psdzdata
  • Installing the Launcher
  • Updating Java
  • Adding Java Options to your Windows System Enviroment Variables.

All these steps are detailed in the installation tutorial but we will outline these anyway and is based on the software provided.

  • Install Esys as any other software by agreeing to the terms and conditions and clicking next until the installation process begins. It`s easy so no further details here, just remember to install it to the default location, don`t change any of the paths.
  • After it is installed, erase the esys icon from the desktop and go to C:\Data and erase the folder called “psdzdata”. Next extract the psdzdata archive and copy the psdzdata folder in the same location.
  • Install the Launcher
  • Update Java on your laptop to make sure you have the latest version. This is used by the launcher to work properly but it`s also useful for you because it eliminates vulnerabilities found in older versions.
  • Add the following to your System Enviroment Variables:

Click on “New” to create a new variable and complete the fields with the following data:

Variable name: _JAVA_OPTIONS

Variable value: -Xmx1024M

We added these to make sure that the java virtual machine has access to enough memory to function properly, else you will be getting an error when starting Esys.


4. Using Esys to code your car

We will show you step by step how to use it to code your first mod:

  • Connecting to the vehicle

Choose target as: F20, and connection via VIN just like in the picture below then click Connect.

NOTE: If the “Connection via VIN is greyed out” it means either you forgot to plug in the cable either you didn`t set ignition on (the dashboard only should be on, not the engine – this is done by just pressing the start button without depressing the brake pedal). On a Mac virtual machine this means your network setting in Bootcamp are not correct.

target selection

  • Click on the Expert mode branch (1) just like in the picture below on the left side of the screen to expand it and click on Coding (2). Then click on Read (3) and on Read ECU (4). This will display a list of all the modules installed on the car.

expert mode coding

  • Right click on FA and select “Activate”.
  • Right click on any module name and select “Read Coding Data”.
  • Next expand the folder like icon under the module name, right click on the cafd file and select “Edit FDL” just like in the pic below:

Edit FDL

In this example we chose to edit the KOMBI module (Instrument Cluster) to add Digital Speed (you can find the new menu via the BC button, it will be the last one).  Another great mod for the F30 is to change the Startup Screen on the dasnboard to ///M Performance but you will find all that in the Cheat Sheets from the Fiverr gig.


After you modified the value like in the pic above, you need to click on Save and then click the green arrow to go back to the list of modules. The CAFD will be selected now and all you need to do is click on “Code FDL” on the right side of the scree, near the list. Beware not to click on “Code” as that will reset the module to default settings and will not apply our modifications.

All done, your dashboard should now contain the new menu item which will show you a value of 0 (zero) because the car is not moving but will start showind live speed data once you start moving.

Not all the mods are so simple and some retrofits also require you to perform FA/VO editing, changing of the build year etc. but once you learn the basics it will be much easier to get into the more complicated stuff.

Please write about any issues you`re facing and we will try to help you as soon as possible.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *