Bimmerpost
3
/
4 Series
BMW Garage BMW Meets Register Today's Posts
Technical Topics DIYs and Coding Discussions How to code the Steering (EPS) on an E, F, G series BMW

Post Reply
 
Thread Tools Search this Thread
      03-24-2023, 11:00 PM   #1
F87source
Major General
F87source's Avatar
No_Country
7369
Rep
7,543
Posts

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

iTrader: (1)

How to code the Steering (EPS) on an E, F, G 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. Note, protool works on E, F and G series BMWs, and the process to code the dsc (on an F and G series bmw) is similar so this will acts as a basis on how to do it and show that it's possible to do. Essentially anything you can code via esys you can code via protool.

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://g20.bimmerpost.com/forums/sh...5#post29968615


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

Last edited by F87source; 03-25-2023 at 04:18 PM..
Appreciate 0
      03-24-2023, 11:01 PM   #2
F87source
Major General
F87source's Avatar
No_Country
7369
Rep
7,543
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
      04-28-2023, 02:37 PM   #3
MHL
Private
MHL's Avatar
13
Rep
66
Posts

Drives: '20 BMW G22 and '22 Volvo S60
Join Date: Oct 2017
Location: Europe

iTrader: (0)

I am not going to do this DIY, but wanted to thank you for your effort to create this post!
Appreciate 1
baturbo47.50
      04-28-2023, 03:02 PM   #4
F87source
Major General
F87source's Avatar
No_Country
7369
Rep
7,543
Posts

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

iTrader: (1)

Quote:
Originally Posted by MHL View Post
I am not going to do this DIY, but wanted to thank you for your effort to create this post!
Thanks for the kind words, and glad your liked my diy guide.
__________________
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
      04-29-2023, 02:31 AM   #5
zoominguy
Registered
0
Rep
3
Posts

Drives: 2013 BMW 328i
Join Date: Apr 2023
Location: Australia

iTrader: (0)

This is a very useful guide, thank you for the post. I didn't realise protool was so capable. I've been struggling to get Esys running on my end so it might be useful to me.

A slightly irrelevant question, but would you know if it is possible to code a replacement EPS using protool as well?
Appreciate 0
      04-29-2023, 02:38 AM   #6
F87source
Major General
F87source's Avatar
No_Country
7369
Rep
7,543
Posts

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

iTrader: (1)

Quote:
Originally Posted by zoominguy View Post
This is a very useful guide, thank you for the post. I didn't realise protool was so capable. I've been struggling to get Esys running on my end so it might be useful to me.

A slightly irrelevant question, but would you know if it is possible to code a replacement EPS using protool as well?
No problem, glad I could help!

I'm not sure what is required for an eps replacement, but if it is solely done via esys then the answer would be yes. If it requires ISTA then maybe, because protool doesn't have all the ISTA functionality implemented yet. So your best bet would be to contact the protool team and ask them.
__________________
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-07-2024, 06:58 AM   #7
freackazzoid
Registered
0
Rep
1
Posts

Drives: BMW F20
Join Date: May 2024
Location: Portugal

iTrader: (0)

Hi,

I have a BMW F20 prod. date 11/06/2012 with servotronic eps, recently bough a servotronic eps produced in 06/12/12012.
Can i replace the old eps with this "new"?

Best regards.
Appreciate 0
      05-07-2024, 12:38 PM   #8
F87source
Major General
F87source's Avatar
No_Country
7369
Rep
7,543
Posts

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

iTrader: (1)

Quote:
Originally Posted by freackazzoid View Post
Hi,

I have a BMW F20 prod. date 11/06/2012 with servotronic eps, recently bough a servotronic eps produced in 06/12/12012.
Can i replace the old eps with this "new"?

Best regards.
This the wrong thread to ask in, you should go to the 2 series forum and ask there.
__________________
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-07-2024, 05:59 PM   #9
EvanL
Private
36
Rep
84
Posts

Drives: '07 335i, '23 330e
Join Date: Sep 2006
Location: Wisconsin, USA

iTrader: (1)

Thanks F87source for posting this. I just did this on my G20 330e (LCI if it matters).

I don't have ProTool so I used BimmerUtility, which doesn't have the indexed EPS chassis options. As such I simply coded VehicleVariantStF1Value in EPS4 to {00,06}. There are also VehicleVariantStF2Value and VehicleVariantStF3Value--I didn't touch those two.

Steering feels a bit heavier now, but nowhere near as heavy as the "Sport" steering option which I find rather artificial. No idea if I ended up with the F87CS configuration as mentioned (doubtful) but I am happy with it so far.
__________________
E92 335i/G20 330e

Last edited by EvanL; 05-07-2024 at 06:09 PM..
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 11:22 PM.




g20
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