F30POST
F30POST
2012-2015 BMW 3-Series and 4-Series Forum
BMW Garage BMW Meets Register Today's Posts
BMW 3-Series and 4-Series Forum (F30 / F32) | F30POST > Technical Forums > F30 DIYs and Coding Discussions > How to code the Steering (EPS) on an F series BMW
Extreme Powerhouse
Post Reply
 
Thread Tools Search this Thread
      03-24-2023, 10:46 PM   #1
F87source
Major General
F87source's Avatar
No_Country
7252
Rep
7,429
Posts

Drives: Bmw M2
Join Date: Aug 2018
Location: .

iTrader: (1)

How to code the Steering (EPS) on an F series BMW


Credit: speedsnice https://f87.bimmerpost.com/forums/sh...81&postcount=3

In this thread I will be teaching you how to code the steering rack (otherwise known as the EPS) as this process should be almost the same on any F series BMW. But the instructions will be specific to my m2 so I cannot guarantee that they will work on other cars, so you can search on the forum of what modules you may need to code to get the desired results if my instructions are not the same for your car. Again I will be talking about coding in context of my 2017 BMW M2, on ISTEP level F020-19-07-539, so what I may be able to do might be different to what you will be able to do as there is a difference in vehicle and software version.

So before we begin you may ask why would I want to code my steering rack? The reason why is because BMW programs these steering racks differently from car to car, and this different programming has significantly different behaviors. Some programming/codings make the steering wheel super light for comfort, this is typically present on non M BMW’s and is typically geared for the luxury feel - meaning you sacrifice alot of steering feel and precision. Some steering feels are extremely heavy to the point where you have to fight the wheel and lose precision, like the stock F87 steering coding. Some steering feels are absolutely perfect in my opinion, and that is the F87cs coding. So having the ability to select different “codings” will allow you to better tailor the car to your desired steering feel, instead of being forced to deal with what BMW gave you from the factory.


Now you may ask how is this possible? Well the answer to that question is because the M2, M2C, M2CS, M3, M3CS, M4, M4CS, and M4 GTS (the non M models also share their own steering racks, and the SUV’s will share their own rack as well) all share the same electronic power steering rack: https://www.realoem.com/bmw/enUS/par...&q=32107852660. The only difference is the programming or coding that is used to operate the steering rack currently selected in the EPS’s ecu, otherwise they are all the same. The good thing about this is BMW does not have bespoke software for each car. Instead they have a bunch of “codings/programmings” in the EPS’s ecu that are toggled to a specific car. So essentially you will already have all the different codings available, all you have to do is set which one you want. The only exception to this is if your car’s current software level otherwise known as ISTEP has those codings available, aka if your car’s software is too old chances are you won’t have the GTS or CS settings. Of course the model of your car will affect this too.


The last question you may have is what do you use to code these things? Well my answer to that is either BMW’s special software called ESYS (which I will not be explaining in this thread), or Protool which is an android app that allows you to code everything ESYS can.

Here is a link to my review on protool explaining everything a bit more in depth, and why you really should buy this app over the alternatives: https://f30.bimmerpost.com/forums/sh...8#post29968598

Disclaimer:

Damage/Injury Disclaimer: Any technical advice, coding advice, installation instruction, or product installation demonstrated in my reviews is to be done at your own risk. I will not be responsible for personal injuries, injuries to others or any living being, or any damage to your car, or any property damage.

Coding these advanced features like the GHAS (differential), power steering (EPS), and DSC (traction control) can be very dangerous as it causes your car to behave much differently than before. So proceed with caution. Again I will not be responsible for any outcome that occurs due to you (the reader) using my instructions to code a car.


Monetary disclaimer: I do not make commission, or profits or any kind of monetary gain from the sale of this App (Protool).

Image Credits:

Images and videos used in this review are all property of their rightful owners as credited below each image, I am just using them for the purpose of this review but if you (the owner of the image) would like them removed please let me know via pm. Otherwise thanks to the respective image owners (I made sure to credit your online name and link where I found the photo) of the photos, without you this review would be so much more bland.


Before we start talking more about coding, I would like to give some tips on how to code your car safely:

Make back ups before you code, this way if something goes wrong you are able to revert your car back to factory settings.
Make sure you know exactly what you are doing before you code. This means doing plenty of research on what coding you will be doing, what the changes itself does, what ecus need to be coded and how to make the changes, and of course if the coding you want to do is available for your car.
Make sure you have an appropriate (and good quality) battery charger to keep your car powered while you code, because if your battery drops below a certain voltage while coding your car will shut off and this can leave the car bricked. For some coding you can leave the engine running while coding, but do not drive while coding.
Use quality cables/wireless adapters - cheapo adapters/cables are slow and can fail part way through the flashing process. In the past I have purchased cheap enet cables from aliexpress, and while on the outside they look clean and good quality. When I opened the obd2 shell I saw how terribly put together they were, the wires were stripped extremely poorly and the cables had patches of exposed copper all over the place. This could lead to a short if the adjacent exposed wires touched, and that would be bad news for the car.
Read the protool’s user guide completely and thoroughly before you begin, failure to do so can result in damage to your car.



How to code the EPS/Steering rack:

Step 0: Connect a battery charger to your car, if it dies during coding you may brick it. Connect only to the under hood terminals not directly to the battery to avoid damaging the IBS. Make sure you read the protools manual before starting to code, failure to do so can result in damage to your car.

Step 1: Connect to your car with protool, after this step you should see a menu screen like so:


Credit: F87Source


Credit: F87source


Credit: F87source


Step 2: From the menu screen you will tap on the Electric Steering (EPS) box under the chassis heading, and the following screen will pop up.


Credit: F87source


Step 3: Click on the coding option and the following screen will pop up:


Credit: F87source


Step 4: From this screen you will click edit coding and the following disclaimer will pop up:


Credit: F87source


Step 4: click confirm and back up the current coding for your car. This is a critical step incase errors were to occur. Afterwards the following menu will be displayed:


Credit: F87source


Credit: F87source


Credit: F87source


Credit: F87source


Step 5: Scroll down to “Variantencodierung Normal” and click on it, the following steering coding options will show up (these options are the chassis codes for each possible car, typically you should code only the chassis codes that share the same steering rack as your car otherwise you risk damage. So for example the m2 can have the m3 and m4 codings and vice versa, as they share the same rack. If in doubt look on the forums to see what others have done before doing anything risky. If you code a non compatible chassis you can get errors, also avoid the not supported, custom, or veh options - only select valid chassis codes AGAIN IF YOU ARE UNSURE DON’T DO IT, RESEARCH THINGS CAREFULLY).


Credit: F87source



Credit: F87source


Credit: F87source


Step 6: select on the desired chassis code, for me I selected F087CS. Once you have done so click on confirm, and then finalize to finish coding your car. You may be told to cycle the ignition afterwards, so follow the instructions on your screen.

Step 7: Disconnect from the car and you are done! If there are any other instructions to follow protool will let you know and you should follow them. Otherwise enjoy your new EPS/steering rack coding!
__________________
Click on the link below to see a compiled list of every review I have ever written:
https://f87.bimmerpost.com/forums/sh...2#post30368242
Appreciate 2
fe7565552.50
F20_M135i100.50
      03-24-2023, 10:50 PM   #2
F87source
Major General
F87source's Avatar
No_Country
7252
Rep
7,429
Posts

Drives: Bmw M2
Join Date: Aug 2018
Location: .

iTrader: (1)

Reserved for future posts.
__________________
Click on the link below to see a compiled list of every review I have ever written:
https://f87.bimmerpost.com/forums/sh...2#post30368242
Appreciate 0
      05-23-2023, 05:14 AM   #3
LA1Z24
Captain
358
Rep
770
Posts

Drives: 2014 435i M Sport
Join Date: Oct 2020
Location: Long Island

iTrader: (0)

I tried to use ProTool to code the rack in my F32. Protool has no way to inject the FSC code so it worked as intended. I had to use Esys.
Appreciate 0
      05-23-2023, 06:53 AM   #4
F87source
Major General
F87source's Avatar
No_Country
7252
Rep
7,429
Posts

Drives: Bmw M2
Join Date: Aug 2018
Location: .

iTrader: (1)

Quote:
Originally Posted by LA1Z24 View Post
I tried to use ProTool to code the rack in my F32. Protool has no way to inject the FSC code so it worked as intended. I had to use Esys.
Sorry, I have no idea what you're trying to say.

Why would you need FSC injection when you're trying to FDL code? I believe you're doing something wrong, if you need help please post screen shots or contact protool support.
__________________
Click on the link below to see a compiled list of every review I have ever written:
https://f87.bimmerpost.com/forums/sh...2#post30368242
Appreciate 0
      06-14-2023, 03:27 AM   #5
twark43
New Member
0
Rep
6
Posts

Drives: BMW
Join Date: Jun 2023
Location: Europe

iTrader: (0)

Which chassis code will be best for me? F30 '16. 320i
I have a problem with a heavy steering wheel when im parking or at very low car speeds.
I would like a lighter steering wheel control when the car is not moving.
Appreciate 0
      06-14-2023, 03:42 AM   #6
F87source
Major General
F87source's Avatar
No_Country
7252
Rep
7,429
Posts

Drives: Bmw M2
Join Date: Aug 2018
Location: .

iTrader: (1)

Quote:
Originally Posted by twark43 View Post
Which chassis code will be best for me? F30 '16. 320i
I have a problem with a heavy steering wheel when im parking or at very low car speeds.
I would like a lighter steering wheel control when the car is not moving.
I don't know, you should try all of the settings and pick one you like the best.
__________________
Click on the link below to see a compiled list of every review I have ever written:
https://f87.bimmerpost.com/forums/sh...2#post30368242
Appreciate 0
      08-03-2023, 09:13 PM   #7
SpencerWDay
Registered
0
Rep
1
Posts

Drives: 2016 BMW 535i
Join Date: Aug 2023
Location: Palm Beach

iTrader: (0)

Coding new steering rack

So I’m having to replace my steering rack and was wondering if anyone knows how to use protool to code the new rack ro the car. I’m very new to protool and the coding aspect. PLEASE HELP!!”
Appreciate 0
      08-03-2023, 10:24 PM   #8
F87source
Major General
F87source's Avatar
No_Country
7252
Rep
7,429
Posts

Drives: Bmw M2
Join Date: Aug 2018
Location: .

iTrader: (1)

Quote:
Originally Posted by SpencerWDay View Post
So I’m having to replace my steering rack and was wondering if anyone knows how to use protool to code the new rack ro the car. I’m very new to protool and the coding aspect. PLEASE HELP!!”
You should email protool for help, they should be able to point you in the right direction.
__________________
Click on the link below to see a compiled list of every review I have ever written:
https://f87.bimmerpost.com/forums/sh...2#post30368242
Appreciate 0
      08-04-2023, 03:48 AM   #9
TheNine90
Banned
578
Rep
2,047
Posts

Drives: bmw
Join Date: Aug 2021
Location: Workshop

iTrader: (0)

Quote:
Originally Posted by SpencerWDay View Post
So I’m having to replace my steering rack and was wondering if anyone knows how to use protool to code the new rack ro the car. I’m very new to protool and the coding aspect. PLEASE HELP!!”
You need to inject cafd in the new EPS module.
Appreciate 0
      08-04-2023, 06:41 PM   #10
eff32fl
Lieutenant Colonel
eff32fl's Avatar
1052
Rep
1,790
Posts

Drives: 2019 440i M Sport THP MPPSK
Join Date: Jun 2020
Location: Florida

iTrader: (0)

You're just doing FDL coding so Bimmercode should work ok for this shouldn't it?
Appreciate 0
      08-05-2023, 01:30 PM   #11
LA1Z24
Captain
358
Rep
770
Posts

Drives: 2014 435i M Sport
Join Date: Oct 2020
Location: Long Island

iTrader: (0)

Quote:
Originally Posted by F87source View Post
Sorry, I have no idea what you're trying to say.

Why would you need FSC injection when you're trying to FDL code? I believe you're doing something wrong, if you need help please post screen shots or contact protool support.
Servotronic steering needs and FSC code installed for the variable steering to work in different drive modes.
Appreciate 0
      08-05-2023, 01:57 PM   #12
F87source
Major General
F87source's Avatar
No_Country
7252
Rep
7,429
Posts

Drives: Bmw M2
Join Date: Aug 2018
Location: .

iTrader: (1)

Quote:
Originally Posted by LA1Z24 View Post
Servotronic steering needs and FSC code installed for the variable steering to work in different drive modes.
Ah I see, you can do fsc injection via protool so I'm not sure why it failed for you
__________________
Click on the link below to see a compiled list of every review I have ever written:
https://f87.bimmerpost.com/forums/sh...2#post30368242
Appreciate 0
      08-25-2023, 01:58 PM   #13
DankMistaPanda
Registered
0
Rep
2
Posts

Drives: 2014 BMW 435i xDrive M Sport
Join Date: Mar 2023
Location: Brentwood, TN

iTrader: (0)

Garage List
Hi guys, I am currently driving a 2014 BMW 435i xDrive 6MT. When decoding my VIN, I saw nothing about steering whatsoever so it is my belief that I at minimum do not have VSS.
Here is my Concern/Questions:
I came from an e46 ZHP and steering was phenomenal on it, I would like to get my 435i as close as possible to it.
I drove my friend's 2019 M4CS the other day and the steering was insane. I was shocked.

I'm just wondering if it's possible to code the M4CS steering onto my 435i.

From the research that I have done, I found that the steering rack on the M4 and 435i are not the same but I also read that the M4 simply has a larger motor.
Would the code work on my 435i? Would it damage it?
I would appreciate any input.
Thanks
Appreciate 0
      08-25-2023, 02:51 PM   #14
LA1Z24
Captain
358
Rep
770
Posts

Drives: 2014 435i M Sport
Join Date: Oct 2020
Location: Long Island

iTrader: (0)

It is not possible. I looked into variant coding the rack last year. The only really worth while variant for our rack is the 135i, and it was a minimal difference. Some people have had luck changing the EPS max current from 105amps to 80 amps. This effectively reduces the amount of power assist. But I didn't notice much difference to keep it that way.
Appreciate 0
      08-25-2023, 03:26 PM   #15
F87source
Major General
F87source's Avatar
No_Country
7252
Rep
7,429
Posts

Drives: Bmw M2
Join Date: Aug 2018
Location: .

iTrader: (1)

Quote:
Originally Posted by DankMistaPanda View Post
Hi guys, I am currently driving a 2014 BMW 435i xDrive 6MT. When decoding my VIN, I saw nothing about steering whatsoever so it is my belief that I at minimum do not have VSS.
Here is my Concern/Questions:
I came from an e46 ZHP and steering was phenomenal on it, I would like to get my 435i as close as possible to it.
I drove my friend's 2019 M4CS the other day and the steering was insane. I was shocked.

I'm just wondering if it's possible to code the M4CS steering onto my 435i.

From the research that I have done, I found that the steering rack on the M4 and 435i are not the same but I also read that the M4 simply has a larger motor.
Would the code work on my 435i? Would it damage it?
I would appreciate any input.
Thanks
I personally wouldn't code any other steering settings unless all components are the same. I'm not even sure your istep would have provisions for the m4cs settings.
__________________
Click on the link below to see a compiled list of every review I have ever written:
https://f87.bimmerpost.com/forums/sh...2#post30368242
Appreciate 0
      10-16-2023, 11:46 AM   #16
SpencerC_6MT
Second Lieutenant
SpencerC_6MT's Avatar
United_States
197
Rep
239
Posts

Drives: '17 M240i 6MT
Join Date: May 2017
Location: San Diego, CA /// Tuscaloosa, AL

iTrader: (0)

Garage List
2017 BMW M240I  [0.00]
Quote:
Originally Posted by LA1Z24 View Post
It is not possible. I looked into variant coding the rack last year. The only really worth while variant for our rack is the 135i, and it was a minimal difference. Some people have had luck changing the EPS max current from 105amps to 80 amps. This effectively reduces the amount of power assist. But I didn't notice much difference to keep it that way.
What was your experience between the M135i settings, specifically in terms of the "nobuildlevel" settings? My M240i was coded by default to "F020_M135i_Sport_Nobuildlevel_sdrive_vdc" and I can't find anything online about that one little thing. The rest is obvious, xdrives likely get a little more assist to deal with front axle hardware and vdc is likely a marginal difference for variable damper control reasons, but nobuildlevel keeps itching at me. I tried it out myself, and my hunch is that it means power assist doesn't get stronger as force on the tire increases, but I'm still searching for a definitive answer. And I'd love a way to increase the sensation of tire load through the wheel, if it means changing any of the cryptic settings in ProTool.

If any of these look like they're worth changing from "initwert" to "FF" I'm willing to be the guinea pig.
Name:  Screenshot_20231013-210515.jpg
Views: 2107
Size:  71.4 KB
__________________
2017 BMW M240i 6MT Slicktop | Wavetrac 3.46:1 Limited-Slip Diff - DinanTRONICS Sport Boost Controller - H&R Sport Springs - Millway Street Camber Plates - Agency Power Intake w/ Paradigm Engineering Turbo Inlet
Appreciate 0
      02-09-2024, 02:06 AM   #17
Antho4.40
New Member
2
Rep
7
Posts

Drives: 218d F22
Join Date: Feb 2024
Location: Nice, france

iTrader: (0)

Garage List
2015 218d  [0.00]
Quote:
Originally Posted by eff32fl View Post
You're just doing FDL coding so Bimmercode should work ok for this shouldn't it?
I'm asking myself the same question
Anyone know if we can do it whith bimmercode??
Appreciate 0
      02-09-2024, 03:28 AM   #18
F87source
Major General
F87source's Avatar
No_Country
7252
Rep
7,429
Posts

Drives: Bmw M2
Join Date: Aug 2018
Location: .

iTrader: (1)

Quote:
Originally Posted by Antho4.40 View Post
I'm asking myself the same question
Anyone know if we can do it whith bimmercode??
Unfortunately you can't, bimmercode doesn't have access to these ECU's. The last time I spoke to bimmercode (years and years ago asking this same question) they told me it was due to liability reasons, and iirc German liability laws wouldn't be guaranteed to make them immune to said liabilities. That's why they couldn't implement it.

With protool they're based in the US, and I would assume American liability laws are different and allow them to be immune from anything that may arise from allowing providing a means to perform such coding.
__________________
Click on the link below to see a compiled list of every review I have ever written:
https://f87.bimmerpost.com/forums/sh...2#post30368242
Appreciate 0
      03-07-2024, 12:01 PM   #19
pluo616
Enlisted Member
6
Rep
42
Posts

Drives: f32
Join Date: Aug 2021
Location: richmond,va

iTrader: (0)

great post. But I was wondering if you can code Pull Drift Compensation on an F36 2019 440ix? I heard it's for f8x only
Appreciate 0
      03-07-2024, 03:31 PM   #20
F87source
Major General
F87source's Avatar
No_Country
7252
Rep
7,429
Posts

Drives: Bmw M2
Join Date: Aug 2018
Location: .

iTrader: (1)

Quote:
Originally Posted by pluo616 View Post
great post. But I was wondering if you can code Pull Drift Compensation on an F36 2019 440ix? I heard it's for f8x only
I'm not sure. You should email protool to ask.
__________________
Click on the link below to see a compiled list of every review I have ever written:
https://f87.bimmerpost.com/forums/sh...2#post30368242
Appreciate 0
Post Reply

Bookmarks


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT -5. The time now is 01:13 AM.




f30post
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
1Addicts.com, BIMMERPOST.com, E90Post.com, F30Post.com, M3Post.com, ZPost.com, 5Post.com, 6Post.com, 7Post.com, XBimmers.com logo and trademark are properties of BIMMERPOST