I acquired this 1998 E36 M3 sedan because I needed the motor for another swap I was doing at the time. I got it for a good price after some minor front end damage, the suspension is all in decent shape and the accident damage was limited to the radiator core support, hood and front end (all panels that can be bolted off and replaced). I decided I wanted to do something a little different with this project and do it on a budget as a sort of side project at my shop. This is how it looked the day I picked it up.
The car did run and drive - I drove it home about 15 miles from where it was parked to my shop. I had the engine out that evening after making a little bit of a mess.
Once the engine was out and the other swap finished, I decided to set a goal for this car - to make best E36 daily driver possible, but with a different engine than the stock S52. To me a daily driver has a few critical components - it needs to be reliable, it can't be driven daily if it keeps breaking down. It needs to be cheap and easy to fix when stuff does break. It should be decent with mpg and it also needs to be fun to drive. I have also always been curious how the European spec 328i felt to drive, as they received aluminum block M52's whereas here in the United States our M52 blocks were iron blocks in all models except the Z3.
I am also a big fan of the M54 and I find it to be a very fun, punchy motor. The M54B30 has the same stroke as the US S52 engine (which is what originally came installed on this car) but is slightly de-bored. Although it is smaller in displacement the M54 is an aluminum block and features Double VANOS whereas the S52 is an iron block with Single VANOS. The M54 also features an intake manifold featuring a DISA valve, which allows for two different intake lengths depending on RPM and a few other variables. These factors all combine into making a very torquey engine, which coupled with the lighter engine should make for a really great daily driver from the "fun" perspective.
Reliability-wise, these motors came on tons of cars and I am very familiar with them. They have a bit of a bad reputation in some circles, but honestly in my opinion, a stock, well taken care of M54 is a hell of a motor. I also think the N52 is even better... but that's another story for another day (and way harder to swap into an E36, at least as of writing this). I own two BMW's with M54's currently and they have both proven to be very solid. The aluminum block and additional engine technology helps increase efficiency so mpg should be improved over the stock E36 M3 without any major power deficit.
Speaking of power, I have also added headers and a custom tune to help make up some of the power difference between the M54B30's 225hp and the S52's 240hp. The M54 also has a lower redline, at 6500rpm vs. 7000 for the S52. Using the camshafts from the 235hp M54B30 motor from the 330i ZHP plus the headers would likely match the S52's stock horsepower figures while increasing the M54's redline to 6800 - making it very close to an S52. It is worth noting as well that the M54 makes its torque earlier, and for longer, compared to the S52. With the goal of this being a good daily driver I think the M54 will work very well.
Little nerd tidbit but, I also want to mention that while the M54B30 at 2979cc and US S50B30 at 2990cc are both 3.0 engines, the way the M54 achieves that displacement is mostly via stroke. This changes the characteristics of the engine, so this car is not going to drive like one with a S50B30US engine (which came in the US market 95 M3). At a bore x stroke of 86mm x 85.8 the S50B30US is almost a perfectly square engine design. This gives it a nice high-revving and well balanced nature, where the engine has a fairly smooth powerband up to it's redline and it enjoys being revved. Smooth, flat powerbands, high redlines, stuff the M division likes.
I want to preface the next fact with another fun fact - the US only received one M54 engine block, bored to 84mm. The differences from the M54 2.5L variant to the 3.0L are entirely from the stroke, with the 2.5 utilizing a 75mm stroke. The M54B30 bore x stroke is 84mm x 89.6 making it an undersquare engine. That also means that from the same block, the M54B25 is oversquare and the M54B30 is undersquare, giving them different torque curves entirely. Oversquare engines, with their short piston travel distances and lower inertia means they like to rev. The powerband gets shifted higher as a result of an oversquare design. On the flip side though the deliciously undersquare M54B30 has oodles of torque down low, right where you want it for a daily driver.
For the record, the S52 bore x stroke is 86.4mm x 89.6 - making it undersquare like the M54B30, although less so than the M54B30 (which has a stroke/bore Δ 5.9mm on a stroke of 84, vs the S52 stroke/bore Δ 3.2mm on a stroke of 86.4). So what BMW did when moving from the S50B30US to the S52 was increase the bore by .4mm and the stroke by 3.8mm, turning a very slightly oversquare engine with a relatively flat powerband that likes to rev to an undersquare design that is intended to make more torque at the expense of some revvability.
I hope after all this that I have convinced you, and myself, that an M54 is an appropriate option in an E36 M3.
I also did end up buying a parts car to help finish it up. I needed so many little odds and ends that I just bought this to save money... the M54B30 donor was originally from an E39, so I took what I could but couldn't make it all work and was missing a few things too. This is a 2001 Z3 3.0i - for those who don't know, the Z3 is an E36 chassis and BMW swapped M54's in these from the factory (it's not a very elegant job when you really start tearing into it, but it works). A lot of the swap was sort of reverse engineering what BMW did, simply following their routings and finding ways to replicate it on the E36. The more I tore into it, the more I realized how hard it actually was - a lot of the things BMW did to convert the Z3 to the M54, just simply wouldn't fit or work on the E36. But still, it was good to have the parts car... and if you wanted to do this swap starting from scratch, it would make the most sense to find an M54 Z3. Even a 2.5, and source a 3.0 motor separately if you want to.
One last note - the stock E46 330i manual came with a 2.93 differential ratio (ZHP's got a 3.07) and I have already installed a 3.38 limited slip differential into this E36, which should really help the acceleration without sacrificing too much highway practicality. I have also chosen to use the 5 speed transmission, the stock ZF 320Z. The reason for this is mostly lightness. The 6 speed boxes are phenomenal and would have offered me the ability to go to an even higher rear diff ratio, but at the expense of a little bit of weight. I thought a lot about it, the weight would be low down and in the middle, which is the best place to add weight if you have to. But ultimately, I decided I didn't have to add the weight. So I didn't and I kept the 5 speed. Plus I love how a good 320Z shifts and this is still a budget build. Plus that would add more complication to a swap that is already dragging out a little too long.