hakentt's S54B32 engine swap in E36 1999 323is on a tight budget
If you need MSS54 coding for swap contact me,
Rather than buying boring S52 for my 1999 323is, I decided to go with S54B32 and do it with least amount of money spent (on a tight budget). Goal is to buy an excellent condition late production S54b32 engine with low miles so that I don't have to spend extra money on updating engine bearings, water pump and other expensive parts and to get it as complete as possible. I found one from wrecked 2006 on ebay for 4.5k plus I asked the seller to include few more parts that I would need for swap. So it all came out to 5k delivered to my door. Not bad considering the fact that I would spend 3k for a very nice S52 engine.
After inspecting the engine I can say I am lucky, the engine is very nice condition, look trough the oil filler hole and I can see camshafts are all clean and look great, no oil burns.
Preparing the S54 for installation:
My engine came with SMG clutch and dual mass flywheel, I could use that, but I am afraid of that self adjusting pressure plate, I just did not want to risk it. So I went with S52 stock setup that I had used, I just bought the 240mm $65 saschs disc from ebay and it is for E46 because I could not find 240mm disc for E36. The only difference is that E46 disc has stronger structure of the disc = better. S54 starter works fine with S52 flywheel, same teeth and spacing.
I decided to use the weak Getrag 250 that came in my 323is, because I won't be drag racing my e36 so it will hold plus it is very light weight.
Before you install the engine I would recommend that you change the front and rear crank seal with the older spring loaded lip version seals, they last much longer. And there is a oil plug on right side of the block in the rear up corner, that seems to leak over time, I filled mine with jb weld.
Use, E36 mounting arms, E36 engine mounts will work with 3mm spacer, S54 is heavier so the mounts will sink, especially the right side one, I used 3mm tick washers to compensate, because engine sits very close to rack and pinion.
S54 heater hoses will work, the longer one will have to be cut to fit, the shorter one is direct fit. If you will be installing the engine with intake manifold then install the heater hoses just as about as the engine goes in cut the hose and clamp it, if you install the engine fully you won't be able to get to the hoses.
S54 headers with catalytic converters fit fine and clear everything with plenty of room for movement.
S54 alternator is controlled by the DME, and DME sends the charge signal to the cluster. I think S54 alternator must be used.
S54 power steering pump should be used too, pulley is different diameter, I think E36 pump would work.
With the engine package I got the seller to include cut section of both flanges of midpipes. I must use what I have, so I used stock 328i exhaust system, to get the full benefit of having nice quiet exhaust I cut the mid section right after the catalytic converters, then went to autozone and bought 4 two inch 40 degree pipes and one straight that I cut in to two. Bolted it all on the car then aligned the pipes and spot welded them, took them off the car and put nice weld on them. Total cost $45.
You got to use E46 fuel filter with 5 bar regulator, it fits stock location just fine, cover protector fits fine also.
Stock M3 smg vacuum/booster hose will fit fine, it needs to be properly routed then cut to fit, there is a vacuum jet pump and bleed off solenoid that fit in that line, very straight forward.
Use, stock E36 A/C compressor parts, they will bolt right on S54, must use shorter belt 5PK865, the vanos accumulator will have to be moved back more. I used E36 dashboard shim, bolted it to the block then used a hose clamp to secure the accumulator. Notice the E36 gauge temperature sensor bolted in coolant drain plug? No need to spend money on hose adaptors.
Lower intake manifold support, I used E36 dashboard shim, bolted it to the block then used long 8mm bolt with 3 nuts, worked out very well, no need to manufacture a bracket.
I chose to use E46 M3 coolant bottle with mounting bracket, sense it was included with the engine. I modded the bracket and test fitted the tank to sit as high as possible without interfering with the hood insulation, the tank has to sit at higher level than the last row of the radiator for proper air bleeding. M3 hose won't work, I removed the hose from quick connect ends then used a Gates(19607) cut to fit, put two clamps on there.
E46 M3 SAP air valve hits A/C line and will have to be adjusted, I spun the valve around then created small extending adapter from E36 SAP hardware.
E36 radiator with shroud fits, E36 318i clutch and fan must be used. E36 hoses, upper fits fine, the lower needs 1/2 inch trim on the radiator side to fit like a glove. 5/16 coolant hose can go from the radiator trough E36 fan shroud to coolant tank in one peace.
Stock E46 M3 oil cooler can be made to fit under the radiator but I did not like that location, plus the seller wanted to much for the cooler, but I got the E46 M3 cooler hoses. I cut the cooler hoses right at the crimped clamps at engine side, then I went and bought dual row oil cooler from local VW store, (EMPI 9243) $38 cooler, and 4 feet of gates transmission ½ inch hose. Bolted the cooler on the auxiliary fan body. Fits great just under the bumper frame.
Using stock E36 SAP pump, the E46 SAP valve opens on pressure from the pump flow so there is no vacuum line to it. E46 hard line connection to hose.
This is how right side looks right now. Windshield washer system will have to wait for solution. I never use it anyway.
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 E46 pedal connector]
8. Electric pedal [to pin 4 of pedal connector]
9. Voltage supply for electric pedal [to pin 5 of pedal connector]
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 of pedal connector]
13. Electronic pedal [pin 6 of pedal connector]
14. Electronic pedal [pin 3 of pedal connector]
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 [optional]
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 [optional]
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 [optional]
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.
Air intake system:
The E46 M3 intake system will not fit properly, intake boot has less of an angle and touches the strut tower, I kicked in about ¼ inch of a strut tower side wall in so that the intake boot clears properly. Seller included the MAF sensor with plastic part broken off the air box, this was something that I wanted, I then went and bought spectre 3.5 to 4.0 inch rubber adaptor #9741 $10, 4.0 inch 22 degree aluminum bend #9729 $15, cone air filter #8132 $22, home depot plastic flashing #11938 $6, and created good efficient intake system on a budget. It is very important to have one foot of tubing before air mass sensor or else the engine will not idle right, sensor is very sensitive to turbulence. The other option is to get intake system from 2001-2002 M coupe/roadster but that is very hard to find. Dealer wants $800 for new one.
As of right now all monitors are set exept evaporative system, this means my E36 will pass federal US emission testing. One problem is no functional check engine light. Light is required for emission testing, What can be done if one decides to just use E36 cluster is to wire the oil pressure light to the check engine light bulb, so that when key is on check engine lights up and with engine running check engine light is off. Other option is to use non M late model cluster from Z3, it is CAN supported.
The E46 electronic gas pedal does not fit right, it sits too forward and closer to the brake pedal, What I had to do is cut the carpet just on the edge, then mod the gas pedal mount flange so that it fits farther in and away from brake pedal. On the bottom part I had to use one long sheet metal screw to secure the flange to the floor. Now pedal fits right where it needs to be.
A/C control solution:
It can be modded to work directly from the control module bypassing DME with fully functional two speed auxiliary fan. Maybe there a better solution so that DME raises the idle, I don't know yet.
If you got ASC-T equipped E36, you will get ABS check light because the unit won't be getting any of the signals from the DME. ABS part will still work and send speed signal to the MSS54, you could remove the ASC and ABS fault lights out of the dash if you don't care. What I did, I wired as a 'plug and play' the (non ASC) ABS module as you can see here, this is the proper way to delete ASC-T system:
Finished with my swap, hear it run:
This is not a 'budget' engine but when I say budget means that I spent much less money than most of the people when doing this swap, this is because they go out of their way to buy extra stuff, pay for labor…..etc.
$5000 engine with required parts for a swap (keep in mind this is 2006 very low miles beautiful condition with everything on it with included shipping, and I bought it from BMW salvage yard, and those guys are never cheap. You can buy a 2001 thrashed engine for much cheaper.)
$200 misc, items, intake, exhaust welding, oil seals, belts, bulk hose
$0 dme reprogramming, I did it myself, I put on used fuel filter, haven't even changed the oil yet.
-$1000 for the M52 engine, sold locally
-$200 ms41 dme with ews, and key chips, (to be sold)
-$100 S54 A/C compressor with hose, idle and mount (to me sold)
Final cost: $3900
Test drove it, and all I can say why even bother with S52, this thing is so much fun to drive, engine revs fast and happy, car feels much lighter. My budget exhaust is nice and quiet, no rasp. My ASC switch rig works great for sport button, I switch it and I can feel different throttle characteristics. All I have to say I am very happy that I did this and the investment will not lose much value at all, it is true motorsports engine that after years of enjoying it I can always sell it for how much I invested in it. Good thing I did not waste money on S52us (overbored general production M52).
Last edited by HakenTT; 03-24-2014 at 01:42 PM.