Modifying a BMW E34 M5 dash (NMC9346EN chip)

European GM ECUs and PCMs
Site Admin
User avatar
Posts: 5975
Joined: Sat Feb 28, 2009 8:34 pm

Modifying a BMW E34 M5 dash (NMC9346EN chip)

Postby antus » Thu Jul 06, 2017 11:09 am

Sorry for the semi off topic post. I know this isnt a GM, but it is a Euro vehicle so here seemed the best fit.

This chip is used in the BMW E34 M5 dashboard. Its a physical dongle which plugs in the back of the dash, and contains the dashboard calibration.

A mate of mine is trying to convert the digital display from Miles on an imported vehicle to Kms. The official BMW tools will talk to the car but dont want to talk to the dash. We dont know for sure if this is a wiring problem in the vehicle of if the dash is not supported, but suspect the dash is not supported. The usual way of modifying the calibration is to request a new code plug from BMW. They write the code plug to suit the car and its option codes and you physically plug it in to the back of the dash.

There are two versions of the IC in the code plug. The older code plugs are brown and contain a National Semiconductor NMC9346EN, which the GQ-4X is happy to read as a generic 93C46B where the B means '16 bit mode'. The brown codeplugs were replaced with blue code plugs containing a variation of the 93C56B. We did not open one of these to identify the specific chip. The GQ-4X happily reads and writes this IC as 93C56B. The BMW documentation advised the blue plugs are an update and it sounds like they can be swapped in to the older vehicles. Here is a picture of the adaptor I hacked together and the guts of the brown codeplug.

20170705_221302_resized.jpg (417.04 KiB) Viewed 1659 times

The first problem is wiring the ICs. The GQ4X is failing to write the brown plug as the generic 93C46B. The bar graph jumps to 100% instantly then verification of the write fails. However it can write the blue code plug where the write bar graph takes a couple of steps before reaching 100% and then verifies correctly. As everything is the same family, I am not sure if there is a problem with specifically the 93C46B write function of the GQ-4X. Multimeter testing has shown the connections are good. Has any one attempted to write this chip with a GQ-4X?

The next part of the problem was that we wanted to move the configuration from the brown to the blue IC as that was the one we could write. Being twice the size I stacked 2 copies of the data from the brown code plug. Verification succeeds but the car rejects the code plug, and dash the dash is not correctly configured. The gauges are all wrong for example idle rpm reads at 200 rpm. Does anyone know why stacking a working brown code plug and dropping it on a blue does not work? We dont have a sample bin of the larger IC, the chip we had was a BMW spare that contained all FF and had never been programmed.

The final part of the problem is what to actually change to convert it from miles to kms. We dont have an Aussie code plug to begin with, and havnt found any tools that support this dash or bin. Does anyone have an bin our an aussie codeplug they could read and post to compare?

I'll post 2 bins. Once from the car which we are attempting to modify, and another from a spare dash with a different configuration, although still miles. If anyone is able to convert the 'car dash' file it with any tool and re-post it would be appreciated.
National Semiconductor NMC9345EN.pdf
(566.98 KiB) Downloaded 142 times
wbahd22090 bf52472 b23091 as 93c46b spare dash.bin
(128 Bytes) Downloaded 139 times
wbshd92000 ga25086 b23111 as 93c46b car dash.bin
(128 Bytes) Downloaded 132 times
Have you read the FAQ? For lots of information and links to significant threads see here: viewtopic.php?f=7&t=1396

User avatar
Posts: 1896
Joined: Thu May 17, 2012 8:53 pm
Location: WA

Re: Modifying a BMW E34 M5 dash (NMC9346EN chip)

Postby Tazzi » Thu Jul 06, 2017 1:09 pm

Make sure your using the latest version of the software with GQ4X, I had issues previously with an old version with writing to certain eeproms.

Bottom part of the bin looks like an odometer.. about 152045kms Id assume.. so it probably shows 94476miles on the car dash bin?

I recon maybe location 7E could be a starter.. Its just infront of the odometer so might indicate the country code?? May explain why they differ between the bins but still display miles if both places use imperial?

Posts: 1
Joined: Wed Dec 06, 2017 10:31 pm

Re: Modifying a BMW E34 M5 dash (NMC9346EN chip)

Postby Gasplanet » Wed Dec 06, 2017 11:45 pm

I'm new here but I'll wind this thread up in case it helps anyone down the track.
Also to give kudos to Antus for setting me on the right path.

I eventually got this odometer to read in kms with the correct total a few days ago.
The OBC/trip computer still defaults to miles and Fahrenheit on a battery reconnect which suggests it's still fundamentally coded as a UK car but this can be quickly and easily changed as required and stays set to these units until the next battery disconnect.

Antus had succeeded in writing parts of a Euro spec E34 525i BIN to the brown 93c46 plug while keeping what we assumed was my odometer data.
The odo finally showed kms as units but the total was wrong.
I also had other weirdness on the dash like an econometer instead of an oil temp gauge, some auto trans symbols, and incorrectly calibrated speedo and fuel gauge.
This is because the coding plug stores specific info for the various types of E34.
An M5 is 6 cylinder, has oil temp, 90 litre tank, 300km/h speedo and they are all manual.
Other E34's can be 4 or 8 cylinder, auto, with an econometer, smaller tanks and lower top speed speedos.
So at least we were on the right path and it was just a matter of working out what data to change on the original BIN.

The breakthrough came when I finally found a BIN from a Euro M5, albeit for the larger IC.
I now had data for:
UK Spec E34 M5 manual in miles and English
UK Spec E34 535i manual in miles and English
EU spec E34 525i auto in kms and German
EU Spec E34 M5 manual in kms and German
Comparing these gave a bunch of logical locations to try first.

I used Antus' MiniPro TL866 to edit these locations one by one but still wasn't able to get kms to show.
In the end I just merged all the Euro M5 data with my odo data and got everything to work correctly, albeit in German with the incorrect VIN.
The trick to getting the total kms to show correctly was to reverse the order that's in the BINS attached to the 1st post.
I was also able to rule out a bunch of other locations as they would change slightly after short drives suggesting they were also possible odometer or trip meter/service interval data.

Then I started narrowing it down by changing line by line, then byte by byte until I found the correct location to change.
The final product is attached - it's a D2 instead of D3 on the 2nd line.
What was 134k miles now reads 220k kms and all gauges and VIN are spot on.
GA25086 21_11 kms.BIN
(128 Bytes) Downloaded 139 times

Return to Euro GM ECUs

Who is online

Users browsing this forum: No registered users and 1 guest