M2 build

BMW M2 Build - Coding

Before I start talking about what coding I did to the 2016 BMW M2, let me first say coding a modern car is a source of massive debate.  I do not take coding lightly as there is potential for serious issues.  With that said, I personally feel modern cars have (in some ways) become too smart.  They restrict us beyond what is needed and in a quest to be smarter they begin to take away some of the primary characteristics of the car's spirit and purpose.  This is why I decided to code my M2 as part of this build, but I certainly do not suggest someone else coding their car.....that is up to you and you alone.

Coding 101

Ok, with that out of the way let's talk about what coding is, why I coded, what I coded, and who I used.  For those that don't know much about coding modern cars the concept is rather simple.  The master computer in the car is hooked up to many sensors and modules.  The computer is run by code.  The sensors and modules feed information into the computer and the computer code decides what the car can and can not do.  Manufactures of cars don't want to write special code for each model and version of car they make.  So they write as few different versions of their code as they can and then simply have options in the code to handle the different models and versions.  This is cost effective for the car manufacture but it also opens the door for hackers to manipulate the code to get your car to do things the manufacture didn't intent when you bought the car.  

An example would be BMW's brake force lighting.  Some BMWs will flash the brake lights under heavy braking while other BMWs will simply make the brake lights brighter.  That decision is run by a code variable.  If you can find that variable in the code you can "enable" brake force lighting or "disable" it.  In the case of the M2 there is no setting to change this for the typical owner.  But if you change the code slightly all of a sudden your M2 can have brake force lighting which was reserved for the M4 and M3 in certain countries.

M2 Observations

As a street car there is no strong reason to code outside of wanting to "trick your car out".  But I quickly learned that if you are planning on taking a modern car to the track coding might be safer and needed.  The first few times I took my stock M2 on the track I noticed a few things that were beyond annoyances and bordered on major concerns.  The first was the nanny systems.  While BMW gives you some control over the nanny systems by allowing you to select Comfort, Sport, or Sport+ all of those settings are still too aggressive for track driving.  For the street they are likely the way to go, but for the track they kill the power upon the exit of the turns and generally hold you back from feeling the car and having complete control over the car.  You can turn off the system almost entirely but for some people this is too extreme.  I have found Porsche gives the driver far more options on fine tuning the nanny systems.  But rather than simply living with it I can do something about it with the code.

The second thing I found when tracking my M2 is that the tire pressure monitoring system (TPMS)  causes all sorts of issues on the track.  Again, this is a great system for the street but when on the track a few things happen.  If you are like 99.99% of all track drivers you play with your tire pressure before and after each track session to optimize the pressure and grip as the tires go from cold to hot.  If you fall into this category then the TPMS will drive you nuts.  If you drop the pressure in the paddock so that the pressure can increase 8-10 lbs as they heat up you are likely to trigger TPMS as you start the session.  Not only will the chime and lights and display message distract you, but when TPMS is triggered it can automatically change your nanny system setting from off or Sport+ or Sport and drop you back down to Comfort.  This not only kills the car's performance but it is highly distracting and frankly can cause issues for you and the other drivers when on track at speed doing hard braking.  Another consideration is that if you have multiple sets of tires some might have TPMS sensors and some might not.  This means when you switch to a set that does not have the sensor you will immediately trigger the TPMS.  But now you are stuck as you can't turn off the TPMS.  And even if all your tire sets have TPMS sensors, each time you change tires you will need to reset the TPMS in your car.  All of this adds up to a pain in the ass on track days.  But thankfully there is a code for that.

If you were to upgrade the seats of an M2 to put in proper racing seats and racing harnesses (say 4, 5, or 6 point) you will trigger the seat belt reminder chime and light.  This again is very distracting to the driver to have a chime and light and display message while you are trying to drive at speed on the track.  It is also a bit counterintuitive to have a warning light when you are in a certified racing seat that is far safer than the stock seat, with a 6 point harness attached to a half cage, and wearing a HANS device and helmet.  So don't plug your ears and put black tape over the dash light...code it out.

Back to my example with brake force lighting....wouldn't that be a nice safety feature when on the track versus your standard brake lights?  For advanced drivers who are pushing the car by doing late braking into turns which usually means getting close to other cars on the track it seems obvious that enhanced braking features would be beneficial.  Many purpose built race cars and race organizations require enhanced brake lighting.  Whether it is for hard braking, coasting, or for the rain many motorsport organizations and teams have decided to shift to enhanced brake lights to catch the attention of other drivers.  So why settle for normal brake lighting when on the track in your M2?

All of these were performance or safety specific issues I ran into.  But I also found other changes I wanted that fell more in the bucket of convenience.  Like when the side mirrors fold and unfold, when the radio turns off, and the constant legal disclaimer reminders that seem to turn driving into an "accept these terms in order to have fun" experience.  Also the M2 has a nice feature in the exhaust system where there is a value that the ECU controls to either open up the exhaust or restrict the exhaust.  This doesn't impact the performance in a material way, but it does change the sound.  I wanted to manually control that valve without having to buy BMW's M Performance exhaust as I prefer the sound of Dinan's exhaust.

My Code Changes

There are dozens of code changes you can make and most fall into the convenience bucket.  If you want to see a full list of options check out the vendor's sites mentioned below.  I decided to limit my changes to the following:

  • enable Euro MDM (this is the nanny setting used in Europe versus the US which tends to be a bit less restrictive)

  • enable brake force lighting (flash the brake lights under heavy braking)

  • disable TPMS (tire pressure monitor system)

  • disable driver and passenger seat belt chimes, lights, and reminders

  • driver controlled exhaust valve (open, closed, let the ECU decide)

  • disable legal disclaimers

  • fold mirrors when locking

  • unfold mirrors when unlocking

  • turn off radio and nav after turning off car and opening door (BMW's standard setting is that you have to hit the power button twice to turn off the radio/nav otherwise it remains on for some time)

Who I Used

There are lots of companies and services that do this kind of work.  After some research I decided to go with BimmerCode because I liked the idea that I could make the modifications myself through an OBD II kit and my iPhone app.  They don't support all the changes I wanted but they did support most plus I can use the kit and app on other cars as needed.  I also used CodeMyCar which is more expensive and requires them to remotely connect into your car through your laptop and a cable so they can do the coding work for you.  The advantage is that they can code more things and their service allows for unlimited code changes over time.  CodeMyCar also seems to be able to go beyond simple code changes and actually install tunes to some degree.  I used CodeMyCar for the Euro MDM code and to disable the TPMS as those codes were not supported by BimmerCode.  I also used Macht Schnell which handles codes a bit differently.  They sell modules (a small electronic control box) you install into the car that then manipulates how the car operates in certain ways.  What's nice about this method is that they can use existing buttons and switches in your car to activate the code change.  For instance their TPMS code change is triggered by lifting up on the driver's side window switch for 5+ seconds.

Findings

So far I am very satisfied with my code changes and I have not had any issues with warning lights or odd behavior.  I will do more track testing later this month at Sonoma with NASA so if anything comes up I will update this posting.  One question that has come up is what this will do to your warranty or when you go into the dealer.  Based on my research the code changes are reversible, they are largely undetected unless someone was to audit your car's computer code which is extremely rare, and frankly since I am tracking the car and doing extensive mods my warranty is shot anyway :)  The way I look at it is that in older cars we used jumpers and other tricks to accomplish the same thing as recoding.  So as long as you do your research, pick the right solutions, don't do too much, and understand the risks.....code away.

BMW M2 Build - repeating the past

As some of you know I started my performance driving in a 1995 BMW M3 E36.  She started her life as a street car but once I got my hands on her I started down that dark path of converting her from a daily driver to a track car.  It began with suspension, Dinan parts, and a wheel and tire set.  But over the course of three years the modifications continued until the point where there was a custom half cage, racing seats, aero, data and video system, and countless accessories.  As far as dual purpose cars go I felt she was perfect.

Unfortunately her life was cut a bit short when she went into the wall at Sonoma.  But her spirt continues as her parts helped other cars transform from commuters to track demons.  After her passing, I shifted my driving focus from GT cars to prototypes and bought a 2009 Radical ProSport 6.  While I loved my 95 M3 dual purpose car, there were certain sacrifices I had to make with her and in the end she only had modest HP.  So needless to say I welcomed the shift to an open cockpit, high revving, purpose built race car....for a while.  Eventually I missed the simplicity of a GT.  Something that could be streetable (barely) but also a good track car.  I also missed the countless hours you could spend thinking about, and buying, aftermarket parts to make the car your own unique creation.  And while all high performance cars require love and attention, a GT tends to be less demanding on track days compared to a prototype.

So when my personal life required me to rethink my garage lineup, my mind quickly reminisced to the fond days of driving the 95 M3.  Yet one thing had already changed in my garage....I now had an M2 to contemplate modifying.  I purchased the M2 from Enthusiast Auto Group, who I have bought a few cars from as they have a unique ability to get their hands on hard to find BMW M cars (vintage and new).  When dealers had one M2 on the lot, EAG had a dozen.  EAG was able to source a low milage (like 12 miles) Alpine White M2 and get it to me within a couple of weeks.  So after hours of thinking about which direction to take, I finally decided to take my 2016 M2 and turn it into my vision of what BMW would have created if they had dared to make an M2 GTS.  But rather than simply copying the M4 GTS, I wanted something that was not restricted to the BMW parts bin. The purpose of this build was to have a streetable car (even if just barely) that would be a track animal for HPDE days as well as something that could reasonably compete in Time Trial events with NASA.  The hard part would be to do all that while trying to keep the BMW "factory look".  For me this would be the recreation of my 95 M3, but with modern advancements.

In my opinion, The M2 is a perfect starting point for a project like this.  Arguably, the M2 is the rebirth of the E36 and E46 M3 era.  Small, balanced, high revving 6 cylinders, and a focus on the driver above all else.  I went with white to pay tribute to the classic BMW Motorsport cars of long ago.  I added a few things when I first got the car (well maybe more than a few things) and had EAG install most of them before I took delivery.  I will admit I went with the DCT option versus the manual.  I won't bother going into why, as that will just lead to a religious debate, but needless to say I had my reasons.  Here is the build's starting point:

  • BMW M Performance grill
  • BMW M Performance gills
  • BMW M Performance carbon fiber mirrors
  • BMW M Performance carbon fiber spoiler
  • BMW M Performance carbon fiber rear diffuser
  • BMW M Performance carbon fiber steering wheel trim
  • BMW M Performance pedals
  • Dinan carbon fiber air intake
  • Dinan tune (stage 1)
  • Dinan resonator delete
  • Mach Schelle exhaust control unit
  • Rennline two hook (front and rear)
  • Cool Carbon ST Plus brake pads
  • Bimmercode custom ECU coding

I am working with Edge Motorworks in Mountain View, CA to help me piece together the rest of the project.  They helped me with my 95 M3 and have extensive experience in racing and helping customers create their BMW dream car.  Along with Edge I am working with select companies that have products or services that match the kind of build I am doing.....which I summarize as "high performance, purpose built, with excellent fit and finish".  Over the course of the build I will post updates and photos and explain why I went the direction I did.  If you are in the Bay Area and go to the Portola Valley cars and coffee event each month, or frequent the local tracks, you are sure to find me and I would be happy to discuss the build or the Silicon Valley Motor Club.  Check out the club calendar to track me down or shoot me an email.  And with that, its time to open the pocket book and begin the build.