THE LARGEST BMW 2-SERIES FORUM ON THE PLANET
2Addicts
2Addicts
BMW Garage BMW Meets Register Search Today's Posts Mark Forums Read
2Addicts | BMW 2-Series forum Technical Topics DIY and Coding Discussions How to code the Steering (EPS) on an F series BMW

Post Reply
 
Thread Tools Search this Thread
      03-24-2023, 11:32 PM   #1
F87source
Major General
F87source's Avatar
No_Country
7082
Rep
7,280
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://www.2addicts.com/forums/show...9#post29968569


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 0
      03-24-2023, 11:33 PM   #2
F87source
Major General
F87source's Avatar
No_Country
7082
Rep
7,280
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
      03-25-2023, 04:31 PM   #3
Kernel Kurtz
Captain
Kernel Kurtz's Avatar
323
Rep
978
Posts

Drives: 2020 M240i xDrive
Join Date: Sep 2007
Location: Winnipeg, Canada

iTrader: (0)

Interesting, thanks. Will be watching this thread.

I've coded the EPS max-current value down from 105 to 85 amps on my F22 using Protool. This has had the effect of making both the comfort and sport mode steering heavier, and is an improvement, but comfort is still too light. Obviously nothing is going to improve the overall road feedback of EPS, but there are certainly improvements in feel to be had.

When it warms up a bit more here I plan to look further into other coding options for the steering, and this gives me another place to look. Hopefully others can share their experience here. I will be sure to do so. Cheers.
Appreciate 1
F87source7082.00
      03-25-2023, 04:54 PM   #4
F87source
Major General
F87source's Avatar
No_Country
7082
Rep
7,280
Posts

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

iTrader: (1)

Quote:
Originally Posted by Kernel Kurtz View Post
Interesting, thanks. Will be watching this thread.

I've coded the EPS max-current value down from 105 to 85 amps on my F22 using Protool. This has had the effect of making both the comfort and sport mode steering heavier, and is an improvement, but comfort is still too light. Obviously nothing is going to improve the overall road feedback of EPS, but there are certainly improvements in feel to be had.

When it warms up a bit more here I plan to look further into other coding options for the steering, and this gives me another place to look. Hopefully others can share their experience here. I will be sure to do so. Cheers.
I'm not sure if you have access to gts mode, but if you like heavy steering that was pretty good. Then f87 was the heaviest by far, to the point where I personally found it uncomfortable.
__________________
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 1
      05-07-2023, 11:57 AM   #5
juantg93
New Member
juantg93's Avatar
Spain
5
Rep
28
Posts

Drives: BMW F22
Join Date: Jan 2022
Location: Pontevedra

iTrader: (0)

I have a f22. And i code eps for 4-series. I think is better.
Appreciate 0
      05-07-2023, 06:19 PM   #6
F87source
Major General
F87source's Avatar
No_Country
7082
Rep
7,280
Posts

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

iTrader: (1)

Quote:
Originally Posted by juantg93 View Post
I have a f22. And i code eps for 4-series. I think is better.
That's great to hear!
__________________
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-09-2023, 05:33 PM   #7
juantg93
New Member
juantg93's Avatar
Spain
5
Rep
28
Posts

Drives: BMW F22
Join Date: Jan 2022
Location: Pontevedra

iTrader: (0)

Quote:
Originally Posted by F87source View Post
That's great to hear!
In the variant selection profiles there is also the m235i racing variant, which I am curious to try.
Appreciate 0
      05-09-2023, 05:56 PM   #8
F87source
Major General
F87source's Avatar
No_Country
7082
Rep
7,280
Posts

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

iTrader: (1)

Quote:
Originally Posted by juantg93 View Post
In the variant selection profiles there is also the m235i racing variant, which I am curious to try.
I believe the m235i shares the same steering rack as the m235ir (as per real OEM) so that coding shouldn't be a problem. Try it out and let us know if you like it.
__________________
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-10-2023, 08:47 AM   #9
LanceM26
Second Lieutenant
LanceM26's Avatar
Canada
116
Rep
232
Posts

Drives: BMW M235i, BMW M240iX
Join Date: Sep 2020
Location: Vancouver, BC

iTrader: (0)

Following
Appreciate 0
      10-12-2023, 04:40 AM   #10
SpencerC_6MT
Second Lieutenant
SpencerC_6MT's Avatar
United_States
193
Rep
233
Posts

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

iTrader: (0)

Garage List
2017 BMW M240I  [0.00]
"nobuildlevel"

I've just started messing around with ProTool EPS settings, and I came across something I can't find an explanation for. Every M135i steering config (the default for my pre-LCI M240i) has a "nobuildlevel" counterpart. Can anyone explain what the difference is? Would it be worth coding in?

I'd also love to know about any other settings to sharpen the steering. The 105A -> 85A trick is nice, but not mind-blowing.
Name:  nobuildlevel.jpg
Views: 2888
Size:  97.9 KB
Appreciate 0
      10-12-2023, 05:29 AM   #11
F87source
Major General
F87source's Avatar
No_Country
7082
Rep
7,280
Posts

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

iTrader: (1)

Quote:
Originally Posted by SpencerC_6MT View Post
I've just started messing around with ProTool EPS settings, and I came across something I can't find an explanation for. Every M135i steering config (the default for my pre-LCI M240i) has a "nobuildlevel" counterpart. Can anyone explain what the difference is? Would it be worth coding in?

I'd also love to know about any other settings to sharpen the steering. The 105A -> 85A trick is nice, but not mind-blowing.
Attachment 3297669
Sorry I can't be too much help (since I'm not too well versed on the m135i), but I think you should email protool about this.
__________________
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-12-2023, 03:28 PM   #12
SpencerC_6MT
Second Lieutenant
SpencerC_6MT's Avatar
United_States
193
Rep
233
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 F87source View Post
Sorry I can't be too much help (since I'm not too well versed on the m135i), but I think you should email protool about this.
Just sent them an email - they don't know either Guess it's time to be a trailblazer. FWIW, I have an '17 M240i, the EPS settings are only labeled "M135i". I assume this means I share EPS coding with early F2x cars, a little disappointing since I heard rumors of later cars having better programming. Perhaps it's an LCI-only change.
Appreciate 1
F87source7082.00
      12-04-2023, 10:44 AM   #13
SpencerC_6MT
Second Lieutenant
SpencerC_6MT's Avatar
United_States
193
Rep
233
Posts

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

iTrader: (0)

Garage List
2017 BMW M240I  [0.00]
Quick bump for anyone still interested: I found an interesting setup that I've been trying for a few days now, and I like the results. Under the 3 "vehiclevariant" settings, I tried switching to the Alpina EPS settings. Think the name is "F030_Alpina_Sdrive", there's also F32/F33 settings. I wasn't sure whether an Alpina-type setup would tend softer or more aggressive than stock BMW, but I found a nice combination of both. At low speed, the wheel is very light, like switching from Sport to Comfort. However, it gets heavier rapidly above 20mph, and at speed, it feels a little heavier than my car's default [F020_Sport_M135i_Nobuildlevel_Sdrive_Vdc]. I specifically appreciate this change because it makes it easier to tell when the steering is "engaging" so to speak. Although slop on-center is inevitable with old bushings, I can actually tell when I'm leaving the "slop zone" and actually turning the car now. It sounds a bit strange, but confidence-inspiring in practice.

Note this is all still on the 85A setting for Max Current
__________________
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 1
Mike F.97.50
      01-29-2024, 04:46 AM   #14
BMW_E_F_G
New Member
BMW_E_F_G's Avatar
Netherlands
17
Rep
27
Posts

Drives: BMW M550i COMPETITION G30 2017
Join Date: Oct 2023
Location: Schiedam

iTrader: (0)

Hi,

I am going to try this on my G30 M550i.
Appreciate 0
Post Reply

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

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 08:40 AM.




2addicts
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