News

Retrofitting Dynamic Cruise Control on a BMW 3-Series (F30)

These are the words of BHPian Moontan.

The only disappointment I've had with this car was the lack of Cruise Control (CC). It came with a pretty useless LIM button instead. The cost initially was prohibitively expensive to have this multifunction steering (MF) switch bought, installed and then coded by any BMW dealer.

Over time, this MF switch became available on the internet market places but I was having trouble locating one that had CC as well as LIM. All I found had SET instead of LIM. As the 328i came with LIM from factory, I wanted to retain that function without coding another button to mimic it. This April I found one on eBay Europe and bought it for Rs. 8,000 and change, including shipping. Shipping was impossible due to the pandemic and the shipper was able to ship it to me only in October. He kept asking me to allow him to refund the money as he had no idea when shipping would resume, but I requested him to hang tight and ship whenever he could. He's got so many parts for all German cars. He's become a good, reliable supplier to me. When shipped, the part got to Bangalore in 4 days.

Then began the hunt for coders with cable, e-Sys and technical know how. That awesome dude at 'Blackworks' in Bangalore came to the rescue. When I contacted him, all Venkat said was bring the car down and let's have a go at it. He'd never used e-Sys for coding or coded before but, hey, what could go wrong? Venkat is one hell of a good person to know and as a bonus, he's also very good at what he does.

I'm going to describe what needs to be done in case another F30 owner decides to go down this path. All I can say is that the hardest part was removing the airbag.

Different steering wheels, require different switches.

MF switch for my wheel: 61319316954 (With LIM)

Coding was done with e-Sys and we used INSTA+ to flush out all errors post coding and bring all ECUs back to Green.

As both of us had never coded before or understood head or tail of coding, YouTube and Google were our best friends and, surprisingly, were all we needed. The most puzzling bit for us to figure out was how to add option 544 to the SALAPA element. We did not even know where the SALAPA element is or what it was. Google gave us this guide:

How to VO Code 544 to enable Cruise Control in your BMW

Once you have your Cruise Control switch physically installed, you will need to enable your Cruise Control feature in your car through "VO coding". Note that the procedure is also applicable to enable "Enhanced Bluetooth" feature or other VO code procedure. The modules that are required to be coded will be different though. For example, "Enhanced Bluetooth" will require HU_ENTRYNAV module only.

In order to avoid any VCM update errors (this does not affect your coding), go to the top of ESYS and click Options > Settings > Options tab. UNCHECK both check boxes -> "Update VCM after TAL execution" and "Update MSM after TAL execution".

  • Start your E-Sys, Click "Read" button and then "Active FA".
  • Go to "SALAPA-Element" and right click and select "Edit".
  • Add the value "544," into the SALAPA-Element and click the save button on the right as highlighted.
  • Click the "save" button to save the file into a XML file with your desired file name.
  • Go to "VCM" section and load the same XML file that you had saved.
  • Right click "calculate FP" and you will see the Vehicle Profile generated.
  • Click the "Write FA FP" button once you are satisfied with your settings which will writes into your ECU memory.

Once we completed these steps and added option 544, we went back to the attached PDF and completed the coding of the FEM, ICM and KOMBI ECUs. We used Bimmercode to code in the LIM function also. It was awesome fun. As neither of us had ever coded or studied the first thing about coding, we killed a few ECUs initially, the car threw drive malfunction errors and all sorts of fun stuff. But we never let that bother us, started googling and going through the various guides, till we had CC with LIM up and running.

Once we completed these steps and added option 544, we went back to the attached PDF and completed the coding of the FEM, ICM and KOMBI ECUs exactly as shown in the PDF. We used Bimmercode to code in the LIM function also as described in the PDF. It was awesome fun. As neither of us had ever coded or studied the first thing about coding, we killed a few ECUs initially, the car threw drive malfunction errors and all sorts of fun stuff. But we never let that bother us, started googling and going through the various guides, till we had CC with LIM up and running.

Remember to use ISTA+ to erase all stored faults. Repeat the erasing process till all the ECUs are 'Green' and error free. It does not clear all faults in the first run.

Truth be told, coding with eSys was very easy and fun, once we got the hang of it.

A huge SHOUTOUT to Venkat of Blackworks Engineering for just being so nice. It really was so much fun with no panic at all even when we were experimenting and trying to see how e-Sys works and the car was throwing all sorts of errors to let us know we were making mistakes.

If you follow this guide, you will have CC with LIM functioning perfectly after just 10 mins of coding and error flushing. It's that easy and this from one who had never seen e-Sys on a system before.

Oh! Do save a copy of your settings before you start any coding with e-SYS. That way you can always revert back if you need to.

Read more about the DIY and BHPian comments.

 
A helmet will save your life