Overcoming MegaSquirt Start Up and Idle Issues
We new nothing about engine tuning before we installed the MegaSquirt MS3Pro PnP and we were expecting we would need to learn and experiment a lot before the Exocet would run well. For several months now, we’ve been slowly tweaking the tune to overcome numerous issues such as starter kickbacks, high idle RPMs, idle hunt, and inconsistent starts.
One of the biggest mistake we made was to assume that the MegaSquirt was truly a Plug-n-Play solution. We figured the PnP feature meant that theoretically, we could drop it the car and expect it to work more or less out of the box like a stock ECU would. We did not find this to be the case at all as the base tune pre-installed refused to start or idle properly.
Overcoming Starter Kickback on Cold Starts
The first and biggest problem we had was in cold starting the engine. The engine would crank for a couple of seconds and just suddenly seize with a loud “clunk” noise. This behavior went on despite changing a lot of things around.
It wasn’t until the good people at diyautotune.com helped us in identifying that “clunk” noise as basically starter kickback and that we could try reducing the crank timing. The default setting started at 10 degrees for the Cranking Advance setting. After many iterations, we found that reducing the crank advance down to 0 degrees yielded the best result.
At 0 degrees, we no longer get any starter kickbacks while the starting the engine cold.
Overcoming Difficult Warm Starts
A strange behavior we encountered was that the car would not start well after the car had been completely warmed up. The engine would start but the RPM would suddenly dive down till the car nearly dies. Then the engine speed would race back up and proceed to drop again. This behavior would oscillate several times but it would eventually settle down.
What we discovered was that Tunerstudio has a setting called the “Cranking RPM” which was originally set to 750. What this meant was that when the engine of the RPM dropped below 750, the MegaSquirt ECU would assume that we were trying to start the car and it would go into its full start up sequence to bring the engine speed back up. We set this value 500 to prevent the oscillation.
To prevent the engine speed from dipping too rapidly, we adjusted the “Idle RPM Timing Correction Curve” to be a little more aggressive with adding more timing when the RPM is too low.
With these changes, our warm starts look much better and is no longer giving us any issues.
Overcoming Idle Hunt
Another problem we ran into was that every so often, the idle would hunt around, oscillating up and down between 800-1000 RPM. Our previous settings for the Idle VE Table had the 800 RPM range set a bit low so RPM would drop a bit too fast.
To solve the problem, we increased the amount of fuel we gave it at the lower RPMs so it doesn’t reduce the amount of fuel so dramatically. This helped to minimize the oscillation.
Coolant Temperature Sensor (CLT) Calibration
From the moment we turned on the MegaSquirt, the coolant temperatures were reading 10 degrees higher than it should have been even though we were running a stock CLT sensor. On a whim, we manually set the values to what it should have been for a 1996 Miata.
With these settings, the MegaSquirt started reporting the coolant temperatures much more accurately. We were quite surprised that the MegaSquirt did not ship with the correct settings.
Intake Air Temperature Sensor (IAT) Calibration
For our build, we decided to bypass the Mass Air Flow Meter (MAF) and instead rely on a GM Intake Air Temperature Sensor as the MegaSquirt supports an alternative approach to calculating the amount of air flowing into the engine.
AEM X-Linear Wideband Calibration
We had installed an AEM Wideband O2 Sensor in order to get accurate Air-Fuel-Ratio readings for the ECU. Tunerstudio had presets for an AEM X-Series Wideband sensor so we tried that hoping that it would work for our 03-3000 series.
Unfortunately, these values were not correct for the 30-0300 model of the AEM Wideband system. Tunerstudio was showing a completely different AFR value from the AEM Wideband gauge.
After noticing this inaccuracy, we manually entered in a custom linear setting based on the values AEM supplied in the manual and we started getting the correct AFR readings in MegaSquirt.
After all of these changes, the car finally starts and idles well in all the temperature ranges we tested. We are now ready to take the car out for a spin and start the rest of the tuning process.