In order to properly complete an S54 swap in an E36 chassis, and to control the CAN bus functions of the MSS54 DME, a CAN bus enabled gauge cluster is necessary. This allows for DME control of the A/C compressor, a working check engine light, and a working coolant temperature gauge using the original E46 M3/Z3M coolant temperature sensor. There are three options to achieve this. First, one can obtain a genuine 2001-2002 Z3M gauge cluster. This is an ideal solution, however they're very difficult to find, and VERY expensive. Second, a CAN bus gauge cluster from an M54 powered Z3 non-M can be used with little to no coding (easily done using NCS Expert). This is an okay solution, however the scaling for the tachometer doesn't support the S54's 8000 RPM redline, and the speedometer only goes to a non-M speed of 155 MPH. This is the cheapest and easiest solution, but it is flawed. Finally, as it turns out, the non-M M54 cluster has identical internal hardware to the Z3M S54 cluster, and can be reprogrammed to run the same firmware as the Z3M S54 Cluster. This gives it all the same functionality as BMW's factory S54 powered E36, the 2001-2002 Z3M, at a fraction of the cost of a genuine Z3M gauge cluster. After reprogramming, all that's left is a simple gauge face and red needle swap, to complete a Z3M cluster conversion. Against popular belief, this reprogramming is relatively simple, and really only requires some basic small electronic chipset, EEPROM, and computer knowledge and experience. It's possible to "DIY" this, without being a software/computer engineer. No soldering is required.
In order to convert a Z3 non-M gauge cluster to a Z3M cluster, these are the tools and necessary parts:
Step 1: Disassemble the rear half of the gauge cluster clam shell, to completely remove the circuit board. I won't be showing instructions for this step, as there are already plenty of DIY's showing this already. You need to remove the circuit board to expose the main chip board EEPROM.
Step 2: The EEPROM chip is covered in a protective coating (as shown). This can be removed using a small amount of heat from a heat gun or hot air soldering station, and something blunt to scrape(I use a small screw driver). Being very careful to not damage the chip or the legs, scrape the protective coating off of the legs of the EEPROM chip.
Step 3: Connect the EEPROM burner to the computer, load the supplied software, and connect the burner to the EEPROM directly using the 8-pin EEPROM chip clip. Pay attention to the orientation of the red wire (pin 1) as shown in the picture.
Step 4: Using the chip select function in the software, select ST93CS56, and read the chip. This may take a few tries, as it is difficult to make a good contact with the chip, using the chip clip. Reposition the chip clip until it makes a good contact with the EEPROM chip, and is able to read. Save a backup of the original Z3 Non-M dump to the computer.
Step 5: Load the low mileage Z3M S54 EEPROM dump into the program. Make sure the file is correctly loaded, and then program the EEPROM chip using the program button. This will probably fail, giving a sector write error when verifying the flash. This is because the ST93CS56 chips are difficult to flash. Read the failed flash on the chip, and confirm that is flashed some of the file correctly. In order to finalize the complete flash, you may have to disconnect and reconnect the chip burner from the computer, close and reopen the program, play with some settings, and reboot the computer. Keep attempting to flash the chip, until it successfully flashes the complete file. This make take some time and patience before it successfully flashes it. When starting up the cluster, if it displays EEP-2 error, that means it didn't successfully flash the chip completely.
Step 6: In order to set the mileage on the odometer, a flash dump with the correct chassis mileage of the coding plug is required. Remove the chip clip from the EEPROM burner, and insert the cluster coding plug into the EEPROM burner, with pin 1 of the coding plug on pin 1 of the EEPROM burner. Using the software, select the chip type as ST M93S46 @TSOP8. Read and backup the original dump from the coding plug. Load the dump with the correct chassis mileage into the program. Finally program that dump onto the coding plug EEPROM, the same way as the main EEPROM is programmed (in step 5).
Step 7: Reinstall the coding plug into the main circuit board, connect the circuit board to either a bench harness, or a complete E36, and make sure the mileage is correct and no EEP errors are present. There should be a tamper warning dot present in the odometer. This is because the internal EEPROM mileage differs from the coding plug. This will be fixed later. Reassemble the back half of the cluster clamshell. Install the replica gauge face in the front half the the clamshell, and red needles if desired. Gauge face installs and needle swaps are covered in many other DIY's, so I won't be showing that step. Fully assemble the cluster and test it. You can confirm that the programming was completed successfully, by connecting to the cluster using INPA, and accessing the “coding” menu. If the programming was successful, it will show a “speedometer limit stop” of 267 km/h.
Step 8: Finally, wire in the CAN bus and A/C into your S54 Swapped E36 (I can provide wiring instructions if necessary). Then install the cluster into the vehicle. In order to clear the mileage tamper dot, with the cluster installed in a drivable car, "sync" the mileage between the coding plug and the EEPROM using the built in cluster test 19 to unlock the cluster and test 16 to "sync" the mileage. Instructions can be found at https://www.zroadster.net/forum/viewtopic.php?t=39603 The car must be driven at least 2 miles without the cluster loosing power, in order to finalize the mileage "sync". Finally, enjoy your 8000 RPM tachometer and working A/C on your S54 swapped E36.
If this seems like something you want, but too difficult to attempt yourself, contact me. I also offer this as a complete service, doing either just the software programming, or a complete "build" with a gauge face swap (using a custom gauge face from VENOXY) as well.
Update: Corrected information about cluster CAN versions. All CAN bus clusters are eligible for this software conversion, not just CAN 03.
IG: @joelbanzhaf
In order to convert a Z3 non-M gauge cluster to a Z3M cluster, these are the tools and necessary parts:
- A Z3 Non-M gauge cluster sourced from an M54 powered Z3 (this can be identified by the part number, although there are several part numbers used. It can also be identified by last line on the 2nd part sticker on the top of the cluster stating "SW XX CAN 0X".
- A 5 volt EEPROM chip burner (preferably with an 8-pin EEPROM chip clip). I personally use an XGECU T48 TL866-3G chip burner, but any similar EEPROM burner should work.
- A Windows computer.
- An EEPROM dump from the main chip board EEPROM of a genuine Z3M S54 gauge cluster (Contact me, and I can provide this).
- An EEPROM dump from a Z3 cluster coding plug, with your correct chassis mileage (Contact me, I can also provide this. I will not be sharing the calculation used to convert the mileage to HEX, for legal and ethical reasons. I will also need proof of chassis mileage in order to create a BIN file for you). Alternatively, you can use the mileage that's already on the Z3 coding plug that's already set in the cluster.
- A 2001-2002 replica Z3M gauge face. This can either be purchased from Speedo Conversion Solutions, or VENOXY is able to create a better replica by contacting them to have a custom gauge face made.
- A set of red gauge needles from an M3 cluster, if desired.
Step 1: Disassemble the rear half of the gauge cluster clam shell, to completely remove the circuit board. I won't be showing instructions for this step, as there are already plenty of DIY's showing this already. You need to remove the circuit board to expose the main chip board EEPROM.
Step 2: The EEPROM chip is covered in a protective coating (as shown). This can be removed using a small amount of heat from a heat gun or hot air soldering station, and something blunt to scrape(I use a small screw driver). Being very careful to not damage the chip or the legs, scrape the protective coating off of the legs of the EEPROM chip.
Step 3: Connect the EEPROM burner to the computer, load the supplied software, and connect the burner to the EEPROM directly using the 8-pin EEPROM chip clip. Pay attention to the orientation of the red wire (pin 1) as shown in the picture.
Step 4: Using the chip select function in the software, select ST93CS56, and read the chip. This may take a few tries, as it is difficult to make a good contact with the chip, using the chip clip. Reposition the chip clip until it makes a good contact with the EEPROM chip, and is able to read. Save a backup of the original Z3 Non-M dump to the computer.
Step 5: Load the low mileage Z3M S54 EEPROM dump into the program. Make sure the file is correctly loaded, and then program the EEPROM chip using the program button. This will probably fail, giving a sector write error when verifying the flash. This is because the ST93CS56 chips are difficult to flash. Read the failed flash on the chip, and confirm that is flashed some of the file correctly. In order to finalize the complete flash, you may have to disconnect and reconnect the chip burner from the computer, close and reopen the program, play with some settings, and reboot the computer. Keep attempting to flash the chip, until it successfully flashes the complete file. This make take some time and patience before it successfully flashes it. When starting up the cluster, if it displays EEP-2 error, that means it didn't successfully flash the chip completely.
Step 6: In order to set the mileage on the odometer, a flash dump with the correct chassis mileage of the coding plug is required. Remove the chip clip from the EEPROM burner, and insert the cluster coding plug into the EEPROM burner, with pin 1 of the coding plug on pin 1 of the EEPROM burner. Using the software, select the chip type as ST M93S46 @TSOP8. Read and backup the original dump from the coding plug. Load the dump with the correct chassis mileage into the program. Finally program that dump onto the coding plug EEPROM, the same way as the main EEPROM is programmed (in step 5).
Step 7: Reinstall the coding plug into the main circuit board, connect the circuit board to either a bench harness, or a complete E36, and make sure the mileage is correct and no EEP errors are present. There should be a tamper warning dot present in the odometer. This is because the internal EEPROM mileage differs from the coding plug. This will be fixed later. Reassemble the back half of the cluster clamshell. Install the replica gauge face in the front half the the clamshell, and red needles if desired. Gauge face installs and needle swaps are covered in many other DIY's, so I won't be showing that step. Fully assemble the cluster and test it. You can confirm that the programming was completed successfully, by connecting to the cluster using INPA, and accessing the “coding” menu. If the programming was successful, it will show a “speedometer limit stop” of 267 km/h.
Step 8: Finally, wire in the CAN bus and A/C into your S54 Swapped E36 (I can provide wiring instructions if necessary). Then install the cluster into the vehicle. In order to clear the mileage tamper dot, with the cluster installed in a drivable car, "sync" the mileage between the coding plug and the EEPROM using the built in cluster test 19 to unlock the cluster and test 16 to "sync" the mileage. Instructions can be found at https://www.zroadster.net/forum/viewtopic.php?t=39603 The car must be driven at least 2 miles without the cluster loosing power, in order to finalize the mileage "sync". Finally, enjoy your 8000 RPM tachometer and working A/C on your S54 swapped E36.
If this seems like something you want, but too difficult to attempt yourself, contact me. I also offer this as a complete service, doing either just the software programming, or a complete "build" with a gauge face swap (using a custom gauge face from VENOXY) as well.
Update: Corrected information about cluster CAN versions. All CAN bus clusters are eligible for this software conversion, not just CAN 03.
IG: @joelbanzhaf
Comment