Using MegaSquirt ECUs with the Optispark Ignition System
- Introduction
- MS3Pro wiring
- Internal mods for V3.0 and V3.57 MegaSquirts
- Wiring for V3.0 and V3.57 MegaSquirts
- Other ECU functions
- TunerStudio settings
- Suggested parts
Thanks to “Mobythevan” on hybridz.org for his notes on the settings for MS2!
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 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 sets of slots.
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.
MS3Pro wiring
Applies to MS3Pro Gen 1, MS3Pro EVO, and MS3Pro Ultimate. These ECUs will need a few resistors in the wiring, but no internal modifications.
Optispark pin out
Pin | Purpose |
A | Low Resolution Signal (White connector pin 6) |
B | High Resolution Signal (Gray connector pin 17) |
C | 12 volt power |
D | Sensor ground |
You will also need to connect 1K ohm, 1/4 watt resistors from TPS VREF (white connector pin 8) to both the low resolution signal and the high resolution signal to provide a pull-up in the wiring harness. Wire spark output A (gray connector pin 27) to the stock ignition module trigger wire. Alternatively, MS3 allows you to use the Optispark to trigger a distributorless ignition, such as a set of LS1 coils or IGN-1As.
For the injector outputs, use the following pins.
Gray connector pin | Injector letter | Cylinder |
1 | A | 1 |
2 | B | 8 |
4 | C | 4 |
6 | D | 3 |
8 | E | 6 |
10 | F | 5 |
11 | G | 7 |
12 | H | 2 |
ECU Modifications (V3.0 or V3.57 main board)
We recommend running this engine on MegaSquirt-III or MegaSquirt-II, depending on your needs. These have a stepper IAC motor control that 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.
Using the MS-III PCBv3.0 or V3.57 ECU with MS3X
That’s it! |
Using the MS-II PCBv3.0 or V3.57 ECU
That’s it. |
Using the MS-I PCBv3 with MSnS-E firmwareNote the separate instructions for v3.0 and v3.57 PCBs This will let you control fuel and ignition, but not the IAC valve. MegaSquirt-I PCBv3.0 Mods Required:
MegaSquirt-I PCBv3.57 Mods Required:
That’s it! |
Wiring – MS3X
On most ignitions, the MS3X 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
Pin | Purpose |
A | Low Resolution Signal (MS Pin 24) |
B | High Resolution Signal (MS3X pin 31) |
C | 12 volt power |
D | Ground |
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 trigger wire. Alternatively, MS3 allows you to use the Optispark to trigger a distributorless ignition.
For the injector outputs, use the following pins.
MS3X pin | Injector letter | Cylinder |
19 | A | 1 |
16 | B | 8 |
13 | C | 4 |
10 | D | 3 |
7 | E | 6 |
4 | F | 5 |
1 | G | 7 |
20 | H | 2 |
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
Pin | Purpose |
A | Low Resolution Signal (MS Pin 24) |
B | High Resolution Signal (Not used with MS2 or MS1) |
C | 12 volt power |
D | Ground |
Idle Air Control
LT1s used a stepper idle air control motor. If you have a MegaSquirt-II or III with the V3.0 / V3.57 board, you can drive it from the MegaSquirt pins 25, 27, 29, and 31. MS3Pro units use pins 30, 31, 32, and 33 on the gray connector. 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: Fuel pump output is standard on all MegaSquirt versions, but the GM fuel pumps used a high side driver while the MegaSquirt output is ground triggered. You will need to rewire the fuel pump relay coil so it connects to a switched 12V source and the MegaSquirt fuel pump output pin.
Cooling fans: These cars generally had two cooling fan control outputs. MS3Pro can control these with a PWM or high current output. MS3X can use any of its medium current outputs on the MS3X for fan control. 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 MK-RelayCtrl 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: MS3 can use a spare digital input and a spare medium current output (MS3X) or PWM or high current output (MS3Pro) to run the A/C and provide an idle up. Current MS2/Extra firmware also allows using a switched input to trigger A/C idle up and allows using a relay control output mod to activate the A/C compressor.
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 (including MS3Pro)
Under the ignition setup menu, set the following.
- Spark mode: Optispark
- Trigger Angle / Offset: 0 (adjust as needed if your timing doesn’t line up)
- Ignition input capture:
- Rising edge (MS3X)
- Falling edge (MS3Pro)
- Spark output: Going High / Inverted if using stock ignition module
- Number of coils: Single coil
- Spark hardware in use:
- MS3X spark (MS3X)
- Spark (MS3Pro)
- Cam input:
- MS3X cam in (MS3X)
- Digital Switched In 2 (MS3Pro)
- Note that some Optispark distributors, particularly ones not made by GM, may require turning on the Flip Polarity on High Res Tach signal.
TunerStudio Configuration for MS-II
- Spark mode: Basic trigger
- Trigger Angle / Offset: 90 (adjust as needed if your timing doesn’t line up)
- Ignition input capture: Falling edge
- Spark output: Going High / Inverted if using stock ignition module
- Number of coils: Single coil
- Spark hardware in use: JS10
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.
If you use someone else’s .msq file, 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, 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.
Suggested parts
You will be able to use your existing sensors, except for the MAP sensor which is built into the MegaSquirt.
MS3Pro:
MS2 options:
-
- MegaSquirt-II V3.0 kit or MegaSquirt-II V3.57 assembled unit
- MK-RelayCtrl will give you a relay control output. You’ll need two of them for the cooling fans.
- MK-Pullup will provide the pullup resistor needed for the internal mods described above
- JimStim kit or assembled JimStim
- Stimulator power supply
- 8′ wiring harness or 24″ wiring pigtail
- 6′ DB9 tuning cable
- USB adapter
MS3 V3.0 or V3.57:
- MegaSquirt-III V3.0 kit and MS3X or MegaSquirt-III V3.57 with MS3X assembled unit
- MK-Pullup will provide the pullup resistor needed for the internal mods described above
- JimStim kit or assembled JimStim
- Stimulator power supply
- 8′ wiring harness or 24″ wiring pigtail
- MS3X harness or 24″ MS3X pigtail
- MS3 USB tuning cable
- Wideband O2 sensor system
Transmission control:
- MicroSquirt with 4L60E harness (4L80E version also available)
or
Feedback welcome
If you have any further information, contributions, or questions about this article, please contact us.