Click here for MegaSquirt® MegaManual™ Information, Guides, and Links

MSD 6A Ignition Control with MegaSquirt-II

The MSD 6A ignition is a popular aftermarket capacitive discharge, multiple spark ignition controller.

There were a number of different kinds of MSD 6A modules:

ModelPart NumberTypical ApplicationsFeatures
MSD 6A6200Street/Strip4, 6, 8 cylinders even fire only
MSD 6A6246Street/Stripodd-fire V6
MSD 6AL6420Circle track and endurance racingRev limiter connections; 4, 6, 8 cylinders even fire only

Wiring the MSD 6A Module

With a MSD modules, the ignition module wires you need to know about are:

With the MSD ignition box, we do not use the VR sensor wires (orange and violet). Do not connect these. Instead, we send the signal from the Hall, VR, optical or points to the MegaSquirt-II box, then send the MSD ignition box a square wave signal on its white wire. To connect the distributor and MSD module to MegaSquirt-II, follow these steps:

Settings for the MSD 6A Module

When using the MSD 6A ignition modules, set the ignition parameters in TunerStudio to:

Ignition Input Capture
  • Rising Edge - Signal through V2.2 or V3 optoisolator (U4) using the Hall sensor circuit
  • Rising Edge - Signal through V3 VR sensor circuit
  • Falling Edge - with MicroSquirt
Cranking triggerTrigger Rise
Coil Charging SchemeStandard Coil Charge
Spark OutputGoing Low (Normal)

('Going Low (Normal)' for MicroSquirt)

Maximum Spark Duration25.5

Under the dwell settings:
Maximum Dwell Duration25.5

To set the dwell to 25.5, you'll have to change the mainController.ini file for TunerStudio. This is in your 'C:\Users\..user..\Documents\TunerStudioProjects\..project..\projectCfg' folder.

Edit the following line with Notepad.exe (installed on most Windows systems, look under 'Start/All Programs/Accessories') or a similar text editor:

max_coil_dur = scalar, U08, 4, "ms", 0.10000, 0.00000, 1.00, 8.00, 1 ; * ( 1 byte)


max_coil_dur = scalar, U08, 4, "ms", 0.10000, 0.00000, 1.00, 25.50, 1 ; * ( 1 byte)

You must also set the initial position of the trigger (called the 'trigger offset'), then check it using the Trigger Wizard in the tuning software.

The 'trigger offset' in the tuning software is the number of degrees before TDC at which the VR sensor output goes from positive to negative, and the falling edge of the square wave is sent from the 4-pin HEI module to MegaSquirt-II™. This tells MegaSquirt-II™ where the crankshaft is positioned so that timing advance can be calculated appropriately. (Note that since the optoisolator (U4) inverts the trigger signal, you specify 'Rising edge' for the 'Input Capture' in the tuning software, which refers to the signal at the processor.) Positive trigger offsets are used to specify the number of degrees before top dead center (BTDC), negative numbers are used for triggers that occur after top dead center (ATDC).

Reference (tach) pulses come into MegaSquirt-II™ from pin R at 10° BTDC (this offset can be calibrated using TunerStudio so that the spark table values match the actual advance). At each reference pulse, the period between it and the previous reference pulse is calculated. The difference is used (with a time interpolation technique) to set up the timing pulse for the next ignition event. Specifically, the reference period is added to the time of the current pulse, a calculated amount subtracted for the advance, another amount subtracted for the dwell to determine the rise time.

The output signal from MegaSquirt-II™ (from the 5th hole of JP1 on the V2.2 MegaSquirt® PCB, DB37 pin #36 on the V3 main board) is used by the module to control the current through the coil. When the signal is pulled low, current stops, the magnetic field in the coil collapses, and a spark is produced. However, the low to high transition is not used to determine when coil charging begins, instead the MSD box controls this itself. Thus, the HEI module fires on the 'trailing edge' of the advance signal. The advance signal is generated by MegaSquirt-II from the tach signal by modifying the end point of the 'high' pulse.

If you are using a VR pick-up in your distributor and a 4-pin module, be sure to get the variable reluctor pick-up wires connected properly. Reversing the variable reluctor sensor wires and thus the polarity of the sensor causes the leading voltage to go negative first and the electronics ignores the positive going transition. Thus the trigger signal, if ever recognized, is the falling edge of the voltage as the end of the tooth passes, which is incorrect.

If you do not know which is positive and which is negative, you can check it with a timing light. Rotate the motor over until it is at some fixed figure, say 5° BTDC. Loosen the clamp and rotate the distributor until the armature vane is lined up with the center pole of the magnetic pickup. Set both the Base Timing and Initial Advance on MegaSquirt-II to 5°. Fire up the motor and check the timing with the timing light, it should be pretty close to 5°. If it is not close to 5°, then reverse the pickup leads and check it again.

MegaSquirt® and MicroSquirt® controllers are experimental devices intended for educational purposes.
MegaSquirt® and MicroSquirt® controllers are not for sale or use on pollution controlled vehicles. Check the laws that apply in your locality to determine if using a MegaSquirt® or MicroSquirt® controller is legal for your application.
©2004, 2010 Bruce Bowling and Al Grippo and Lance Gardiner. All rights reserved. MegaSquirt® and MicroSquirt® are registered trademarks. This document is solely for the support of MegaSquirt® boards from Bowling and Grippo.