This car was all stock, with many original parts. So far I have done 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