Wiring the E46 S54 harness to the E36 late model chassis is not that hard. It was for me because I had to do it all without having any real information. It took me about a week to figure out where every wire goes and what it actually does. BMW is horrible on their wiring diagrams especially on E46, WDS does not tell you everything and most of the time it gives you wrong information. Now that I know exactly what needs to be done, I could wire it up in one day. I will post the wiring information here because I feel like community needs to know and to get some sense of wiring configuration for this swap for the first time. People who have done this swap don't want to share information on wiring, this is very common with bmw community.
The ECU harness will not be able to be moved to the passenger side original E36 location, one of the ECU plugs X60003 is too short, it would needed to be removed from the harness that is routed under the intake manifold. I did not want to make a mess, so I kept it in original condition and decided to locate the DME near fuse box like original location of E46. I will be doing many MSS54 flashings and testing so I wanted it in that location.
Harness comes with DME relay and Injectors relay and its own little fuse box. Power and ground is easy.
Thick red wires go to battery + and brown(with brown sometimes) goes to ground. I am eliminating X20 connector and wiring it all directly and using only the 16 pin diagnostic port inside the car. I am making this swap full OBD2 compliant
The main part of the harness is the connector X60004 it goes to the chassis, and you must get it from the donor car, has to be cut off. It is a black 40 pin connector that is 4th in line on the MSS54 DME. From other connectors only about 3 wires need to be connected.
X60004 connector pin out information with where to wire them on late model E36, a 1999 323is in my case:
1. Signal, terminal 61, [mss54 dme sends the signal for alternator charging lamp in the cluster, the alternator is controlled by the dme itself and not by a cluster. Wire this to pin 25 on the X20 connector.
2. Engine start signal feedback, connector voltage signal, terminal 30h [empty slot in my case, this is on early models, I did not wire this anywhere, but you can add pins to the x60004 connector easily]
3. SAP relay, [ if you want secondary air pump then this wire sends ground signal to the SAP relay, you will need to steal SAP relay wiring from your E36 harness, in my case I wanted this, because I am running catalytic converters, I am keeping my swap full OBD2 compliant]
4. Signal to electric fan [ fan is controlled by the mss54, on e36 fan is controlled by thermo switch and A/C relay, you won't be able to use this feature]
5. Ground [empty slot on my x60004, if you got the wire there, then ground it]
6. Starting signal [ wire this to pin 18 on X20 it signals dme that engine is cranking]
7. Ground for electronic pedal [ to pin 1 of pedal connector]
8. Electric pedal [to pin 4]
9. Voltage supply for electric pedal [to pin 5]
10. Not used on USA models [fuel pump relay on EU models, this is regular relay not EKP, not sure if this will work on US mss54]
11. Oil pressure signal [to dash oil pressure light bulb, wire to pin 23 on X20]
12. Ground electronic pedal [pin 2]
13. Electronic pedal [pin 6]
14. Electronic pedal [pin 3]
15. Sport button switch [ this wire receives momentary ground signal to turn on sport mode, I rigged my E36 ASC switch for this, you must wire it straight]
16. Sport button switch LED light [ mss54 sends ground signal to the 12v LED to indicate that sport function is turned ON, I rigged the ASC switch to work, all though you can barely see the light]
17. RPM signal to the diagnostic connector [use this as a RPM signal to the cluster if you don't plan on using CAN supported cluster out of Z3, to pin 20 on X20 connector]
18. Activation heating fuel tank leak module [I did not wire this yet because I can delete the evaporative system out of the mss54 and still pass emissions, you are allowed to have at least two uncompleted readiness monitors on E36, but I plan on wiring it, the late model E36 fuel tank should be good enough for E46 leak module to work, I plan on using muffler flap, carbon canister solenoid wires from X6031 connector so that I don't have to run wires directly to the spare tire location]
19. Not used
20. Activation valve for fuel tank leak module
21. Oil level signal for E46 instrument cluster [ no wiring option if E36 cluster is used]
22. Vehicle speed [wire to pin 9 on X20 connector, it is signal from ABS unit and mss54 needs it, this can also be deleted by mss54 programming]
23. Not used
24. Brake light switch S_BLS negative [I deleted this option from the mss54, it is only for cruise control that you won't be able to run on E36 anyway]
25. Not used
26. Terminal 15 fuse F29 [ wire this to switched 12v, pin 21 on X20 connector]
27. Data link steering wheel cruise control [no option on E36, must be deleted from the mss program]
28. Not used
29. A/C compressor relay control, [sends ground to relay, you won't be able to use this option on E36, because mss54 needs K-Bus information from climate control module, and E36 module can't do this, also A/C required pressure sensor and not pressure switch]
30. Fuel tank leak diagnosis module
31. Not used
32. TXD diagnostic signal K-bus line [ wire to OBD2 connector pin 7, X6031 pin 4]
33. EWS signal [rolling code signal wire from EWS, you won't be able to use EWS2 system. Get EWS 3.3 system or get ews delete program from me]
34. Brake light switch BLTS B+ [not required]
35. Not used
36. CAN bus HIGH signal to cluster[no use on E36 cluster]
37. CAN bus LOW signal to cluster [no use on E36 cluster]
38. Ground for radiator temperature sensor, located in lower hose [you could wire this and put sensor anywhere, but this is for fan control that you can't run on E36 anyway so best is to delete this from mss54 programming]
39. Signal from radiator temp sensor
40. Not used
EKP-modul [regulated fuel pump relay must be used, the E36 relay will not work properly, I installed the ekp relay inside the E36 fuse box]
EKP pin 1 [pulsating signal from mss54 connector X60002 pin 11 then to X6021 pin 1 black/violet (black 4 pin connector), I just wired this directly]
EKP pin 2 [to fuel pump, pin 13 on X20 fat green/purple wire]
EKP pin 6 [battery +12]
EKP pin 7 [ground]
EKP pin 8 [switched +12, DME relay X6021 pin 2, white/red wire]
X60002 pin 20 [signal from gear recognition switch, this is for cruise control, you will not be able to wire this to E36, it needs to be deleted from the mss54 program]
X60002 pin 12 [ecu box cooling fan negative trigger, if you plan on installing mss54 dme in stock e36 location than you could mod the cover so that dme can be cooled via fan, this is something that I don't use so I just deleted the E-box cooling fan out of the programming]
Black 8 pin connector:
Pin 1: starter cranking, fat black wire [connect to pin 18 on X20]
Pin 2: power for oil level sensor [connect to switched 12v, pin 21 on X20]
Pin 3, 4 ,5, 6 [are all empty no wires]
Pin 7: gray wire [unknown, seems to go nowhere in the harness]
Pin 8: yellow/black wire goes to X60003 pin 19 [unknown, I can't find any information about this wire]
That's about it when it comes to wiring.
DME Mss54 or mss54hp has to be reprogrammed for proper operation because some of the components must be deleted from programming. Contact me via private message if you need this service, most of the tuners don't even have a test car to test the dme, I do have one and know what exactly needs to be done.
Required and optional programming:
Anti theft module delete, brake light switch delete, cruise control delete, CAN bus delete, E box fan delete, radiator sensor and fan delete, A/C delete, clutch gear recognition delete, steering angle sensor delete, DSC delete, emissions components delete…..etc.
Last edited by HakenTT; 12-23-2012 at 07:08 PM.
Reason: look at first post