BMW Garage BMW Meets Register Today's Posts
M2 Technical Topics > Suspension | Brakes | Chassis > How to code the Differential (GHAS) on an F series BMW M2, M3, and M4 with protool.

Post Reply
 
Thread Tools Search this Thread
      03-24-2023, 07:38 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 Differential (GHAS) on an F series BMW M2, M3, and M4 with protool.


Credit: unknow poster https://www.bimmerpost.com/storyimag...-b5db-a418.jpg

In this thread I will be teaching you how to code the differential (otherwise known as the GHAS) on an F BMW M2, M3, and M4. These instructions may also work on other similar models, but I cannot guarantee this. 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 differential? The reason why is because BMW programs these differentials differently from car to car, and this different programming has significantly different behaviors. Some behaviors allow better corner entry, some allow better rotation, some are more prone to understeer or oversteer etc. So having the ability to select different “codings” will allow you to better tailor the car to your desired driving style, instead of being forced to deal with what BMW gave you from the factory. For instance if you have an M2 maybe you want the M2CS’s or M2C’s differential programming/coding, or if you have an M3/M4 maybe you want the M4 CS or GTS’s differential programming/coding. With coding this is a possibility.

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 all share the same active M differential. The only difference is the programming or coding that is used to operate the differential currently selected in the differential’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 differential’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.


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://f87.bimmerpost.com/forums/sh...1#post29968171


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 GHAS/Differential:

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 Differential (GHAS) box under the chassis heading, and the following screen will pop up.


Credit: F87source


Step 3: From this new pop up menu you will click on coding which will bring you to this screen.


Credit: F87source


Step 4: You will click on edit coding next and the following disclaimer will pop up. (If you wanted to restore you factory settings you would just click factory code).


Credit: F87source


Step 5: You should click confirm here so you can back up your car. This is critical if something were to go wrong. After backing up your car this screen will popup:

Credit: F87source


Step 6: Tap on the 3000 DataSetSelector tab and this menu will pop up:


Credit: F87source


Step 7: First we will click on the DSS TASC box and a list of “codings/programming will pop up, if you look here my car is currently on F082GTS coding which is the m4 gts diff coding. But tapping on the box you will see a list of what my car has available:


Credit: F87source


Credit: F87source


Credit: F87source

Step 8: Click on the chassis code that you desire, I will choose F087cs (this chassis code corresponds to the m2cs) - but you are free to choose whatever you like (just avoid the not supported or custom options or spare options or VEH or any coding option that doesn’t make sense or hasn’t been tested. What does this mean? If you have an F8X car don’t code F10 because the differentials are not the same so it will not make sense to code these features, this may cause damage. So make sure you code something that has been done before, you can check the forums to see what others have done and generally you should stay in those confines. But typically you should only choose a chassis that shares the same parts as your car.) and then I will click confirm.


Step 9: Click on the DSS IPM box (which is below the DSS TASC box you saw in step 7) and the list of options will popup, once again my car here is what my car has:


Credit: F87source


Credit: F87source


Credit: F87source

Step 10: From here I will again select F087CS (the m2cs chassis code) and click confirm. Please note that your chose for the DSS IPM must match your choice for the DSS TASC.

Then I will click finalize to code the car. You may also be told to cycle your ignition after this, but follow what the app says.


Step 11: Go back to the differential tab from before


Credit: F87source


Step 12: Click on functions and this screen will pop up


Credit: F87source


Step 13: Click calibrate differential and you should hear the differential whirr and calibrate itself. This process is necessary in order to expedite the differential’s learning process and to avoid potential fault codes (these codes shouldn’t cause any issues, they’re just annoying). This is what makes Protool so nice because normally you would need ISTA to do this process, and it is buried deep within the menu system of ISTA so this makes it so nice and fast.


Step 14: 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. Enjoy your new diff 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 3
jefe2000739.50
Tchao333.50
CSBM52722.50
      03-24-2023, 07:40 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
      04-17-2023, 11:32 AM   #3
windzilla
Registered
0
Rep
4
Posts

Drives: bmw m2
Join Date: Oct 2022
Location: vancouver

iTrader: (0)

can GHAS be coded without changing DSC/MDM as well? only looking to do GHAS and maybe EPS.
Appreciate 0
      04-17-2023, 02:37 PM   #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 windzilla View Post
can GHAS be coded without changing DSC/MDM as well? only looking to do GHAS and maybe EPS.
Yes, ghas or dsc/mdm or eps can be changed independently of one another.
__________________
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 06:32 AM.




m2
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