Getting MegaSquirt to work with the Optispark
Updated 6/1/2018 – Stock ignition module documentation added for all MS variants
Thanks to “Mobythevan” on hybridz.org for his notes on the settings!
Application(s): All Chevrolet LT1, LT4, and L99 engines with the Optispark distributor. This includes Camaro, Trans Am, Corvette, and B-body (Caprice, Roadmaster, Fleetwood) applications.
Level of control: Full Standalone EMS– Fuel and Ignition Control
When GM went looking for a new ignition design for the LT1, they went with a somewhat unlikely source – Mitsubishi. They bought an optical distributor system that was already in use in many Mitsubishi, Chrysler, Subaru, and Nissan applications. The stock ECU uses the 360 slot ring to determine crank angle and the inner ring of eight slots to identify the cylinders. If you’re using MegaSquirt-II, the ECU does not need or use the information provided by the second ring of 360 slits or the length of the inner slits, so you just need to obtain a signal from the trailing edge of the ring of 8 slits. This writeup covers using the stock ignition module for controlling the coil.
MegaSquirt-III has a new, dedicated Optispark mode. This uses both wheels.
If you would prefer not to use the Optispark, check out our page on crank triggered ignitions. This can be used for either a distributorless ignition or using the Opti strictly as a distributor.
You can run this engine on MegaSquirt-III or MegaSquirt-II depending on your needs. It’s stepper IAC motor control can drive the stock idle air control valve, which is one feature MegaSquirt-I does not have. For those looking to build this on a budget and who want to figure out another route to control your idle speed, we also have a write-up covering MegaSquirt-I.
Wiring – MS3
Usually, the MS3 uses pin 32 for the cam input signal. Because of the high frequency of the Optispark, you’ll be using PT4 (pin 31) instead.
Optispark pin out
You will also need to connect 330 ohm, 1/4 watt resistors from TPS VREF (pin 26) to both the low resolution signal and the high resolution signal to provide a pull-up in the wiring harness. Wire spark output A (MS3X pin 14) to the stock ignition module. Alternatively, MS3 allows you to use the Optispark to trigger a distributorless ignition.
For the injector outputs, use the following pins.
Wiring – MS2 or MS1
The output is quite straightforward – you will just need to connect the “B” terminal of the stock ignition module to pin 36, leaving all the other coil and ignition module wiring connected to the stock locations. For the ignition input side (tach signal into the ECU), wire the low resolution input signal from the Optispark pin A (this is usually either black with a red stripe, or red with a black stripe) to the MegaSquirt pin 24.
Optispark pin out
Idle Air Control
LT1s used a stepper idle air control motor. If you have a MegaSquirt-II, you can drive it from the MegaSquirt pins 25, 27, 29, and 31. GM used several different idle air control valves on the LT1 series; they don’t all have the same connector design.
Other Things the ECU Controls
The stock ECU controls a couple other devices in these cars besides the injectors, ignition, and IAC valve. Here’s what to do about the ones you will need to control.
Fuel pump: This is a standard output on the Megasquirt. Wire the Megasquirt pin 37 to the fuel pump relay wire that went to the stock ECU.
Cooling fans: These cars generally had two cooling fan control outputs. MS3 can use any of its medium current outputs on the MS3X for fan control. If you’re not using MS3, use one MK-RelayCtrl mod kit for each of them if you want to control the fans. If you have an MS2, you can use the on/off IAC output on pin 30 for one of the fan controls, and use just one relay control mod kit for the other fan output. We recommend using PA0 – Knock Enable for the output, wiring the input of the transistor to pin JS11, and using SPR3 to bring the output out to pin 3 of the DB37 cable. See here for a picture of an installed relay control mod kit.
Vehicle speed output: Some Corvettes use this for features like active suspension control, and it is linked to the cruise control. MS3 has a vehicle speed output option you can use. If you’re not using MS3, the easiest way to keep this active, if you want to use these features, would be to leave the stock ECU in place, just disconnected from what you have the Megasquirt controlling.
Air conditioning: MS3X can use a spare digital input and a spare medium current output to run the A/C and provide an idle up. While the stock ECU controls the air conditioner, you don’t need a computer to make this work. Wiring the A/C request wire running to the ECU to the A/C compressor relay should make this work, although we have not tested this one for ourselves.
Automatic transmission: The Megasquirt itself does not control the 4L60E, but the GPIO board has this capability with a MegaShift mod kit, or you can run a MicroSquirt loaded with transmission control firmware. Otherwise, if you have an automatic you will need to either control it with the stock GM ECU or a stand alone transmission controller.
If you’re doing a parallel installation to keep the stock ECU in control of the transmission, see this article for tips on parallel installs.
TunerStudio Configuration for MS-III
Under the ignition setup menu, set the following.
TunerStudio Configuration for MS-II
Set ignition capture to “Falling Edge,” and coil charging to Standard Coil Charging. Dwell will depend on exactly which coil you are using. Cranking trigger time must be set to Calculated. If using MS2/Extra, set the ignition type to Basic Trigger. Trigger angle is in the 90 degree range; this may vary depending on production tolerances, so confirm this with a timing light.
Important when using the BIP373: On the ‘Ignition Settings’ menu make sure to set ‘Spark Output’ to ‘Going Low’ and set ‘Coil Charging Scheme’ to ‘Standard Coil Charge’.
If you use someone else’s .msq file we do recommend you check the firmware version the .msq file was built on as you cannot always use a file built on one firmware version with an ECU running a different version– it’s best to use the .msq files with the same version of the firmware that the file was built on. Alternately you can manually copy the settings over from the borrowed file.
TunerStudio Configuration for MS1/Extra
On the ‘Spark’ menu choose ‘Spark Settings’ and set ‘Spark Output Inverted’ to No when using the stock ignition module. It is critical to get the Spark Output Inverted setting correct, as setting this wrong can result in damage to the ignition module or coil. For Trigger Angle, start with 68 degrees with a Trigger Angle Addition setting of 22.5 degrees. This may vary a little depending on production tolerances, so check this with a timing light. Dwell settings will depend on the coil used. A typical rule of thumb is to back off the dwell until you can just barely detect a misfire under lean cruising conditions, then add 0.2 ms of dwell time.
If you use someone else’s .msq file, we recommend you check the firmware version the .msq file was built on as you cannot always use a file built on one firmware version with an ECU running a different version– it’s best to use the .msq files with the same version of the firmware that the file was built on. Alternately you can manually copy the settings over from the borrowed file.
As stated above, we recommend a MegaSquirt-II V3.0 or V3.57 to have full control over the engine. You will be able to use your existing sensors except for the MAP sensor which is built into the MegaSquirt.
Mod kits discussed in this article:
Other recommended parts