This car was all stock, with many original parts. So I started with some maintenance and just a few mods. For instance, the On-Board Computer would not work, so I replaced it with a digital clock from an E30 318i. I swapped in a 6K tach, mainly because I wanted the 7K tach for my E28 and needed to replace odometer gears as well.

From the beginning, I planned to reuse the setup from my old M20 Megasquirt to run this M30 engine. However, I would attempt to use the flywheel-based timing signals instead of retrofitting a trigger wheel to the front of the engine. After updating my MS hardware to support dual VR sensors, I had the engine running almost right away. The large number of teeth on the flywheel ring gear (116) being used to trigger the MS didn't present a problem. But the oddity of having unevenly-spaced triggers (because 116 does not divide by 3, or 120 degrees) would cause a problem for timing accuracy. I spent a lot of time picking through the MS-Extra source code to understand how it worked and made changes to get the spark timing within one degree.

While tuning the power band seemed easy enough, other operating conditions were more challenging. Getting it to start and run smoothly in cold weather, have a consistent AFR at light loads, and have quick throttle response, all required attention. The first issue was solved mainly with more fuel. The second, by experimenting with the injector-opening-time constant, and by improving the accuracy of the MAP reading. The last one, dynamic response, I'm still not entirely satisfied with.

I've been spoiled by the M50 with its sequential injection. By comparison, my Megasquirt setup with batch injection just can't handle rapid changes in MAP so well. Opening all fuel injectors at once (or in alternating banks, if they are not correctly phased) imposes a latency of 1-2 revolutions between when the latest sensor data is used to calculate pulse width, and when the fuel actually enters the cylinder. In the future, I might look into different hardware mods to defeat this limitation.

modified version of MS-Extra HR10G

MSQ config file for my M30B32

The engine was smoking a bit and I suspected the valve stem oil seals had failed. A compression test showed 150psi on all six cylinders so I decided to take the head off for a rebuild. I also threw in an M30B35 camshaft just to see what would happen. After reassembly I converted the ignition to wasted spark using the IGN6 coil from diyautotune and some MSD spark plug wires. Then, another visit to the dyno...

The mods didn't really change the shape of the curve, but I picked up torque across the range. 5HP might not sound like much but I think the old dyno run was a bit inflated with its 1.06 correction factor. This one has a correction factor of only 1.01. The engine certainly feels stronger (and has a lumpy idle to match).

Here is the latest MSQ tune