MS1-Extra Basic Configuration manual

(MegaTune version)

Only for use with the MS1 Extra code (MS1 - 68H908 based microprocessors)

By Philip Ringwood (daxtojeiro), James Murray (jsmcortina) and Ken Culver (muythaibxr)


Before you start any hardware mods please read this entire manual and the Software Manual, available HERE.

For other MS1 Extra Manuals please see HERE

Warning for
E-Bay buyers!!
Please see the Official Suppliers list before buying through E-Bay.
This is there for your protection.


Please Note:

All of these instructions / diagrams are to be used at your own risk, like most things there is more than one way to do the same thing, what we have tried to do is to offer a method that we have tested or that others have tested for us. No warranty expressed or implied.

Use at your own risk.

 


If you have coil packs driven directly from the ECU then ensure you do NOT have the coil packs plugged into the wiring loom whilst checking these settings if adjusting them on the vehicle!!!

The purpose of this Base Configuration Manual is to help you get an over view of what engine configurations the MS1 Extra code can control and help you achieve a base configuration file in MegaTune that will enable you to start tuning quicker.
Please see the other MS1 Extra Manuals for more detailed information on the software settings and more info on all other features of the extra code, etc, HERE

If you purchased an MS ECU from me at ExtraEFI.co.uk then the base configuration would have been done for you, but a breif look at these settings will do you no harm.

When the ECU is upgraded/changed to another or the latest code the entire configuration file (**.msq) is deleted from the memory of the microprocessor inside the MS ECU. A default configuration is written into the memory, but this most certainly will NOT be setup for your engine, so do NOT try to start your engine without ensuring you have been through the following settings and checked they are ok for your setup. In fact, if you have coil packs driven from the ECU then un plug these before turning the ignition on!! Ensure all settings are correct before you plug them back in or attempt to start the car.

If you have an old **.msq from a previous code then some or all of that can be used, but it depends on the old code's version. If upgrading from an 8x8 VE table version then only values like warmup enrichment, the after start enrichment, etc, can be transfered into the new config file via MegaTune. In order to transfer the data it is best to write the values down or to print the pages out and write them into the new file in MegaTune by hand. If you have a working 12x12 fuel or spark table these can be saved by "exporting" them in MegaTune (open the VE or Spark Table and select - file - table export) then simply "import" the table back in once the new code has been uploaded and the new version of MegaTune (new msns-extra.ini file) is running. Download the latest MS1-Extra code and MegaTune Installer from HERE. For information on loading a new firmware code to your MS ECU please see HERE.

If you have no idea what base map you have inside your ECU or if you need to start again for any reason then here is a default msq you can use, but you must then set it up for your vehicle before attempting to start the engine!!!!! You should use this manual to figure out the best settings for your configuration before attempting to start your car. For more detailed information on the software settings and all other features of the extra code please see the MS1 Extra Software Manual

If you have coil packs driven directly from the ECU then ensure you do NOT have the coil packs plugged into the wiring loom whilst checking these settings if adjusting them on the vehicle!!!


Description of Terms and General Settings
MS1 Extra Code -- MSnS -- Generic Wheel -- Wasted Spark -- NEON/420A Chrysler/Dodge/Plymouth -- Ford EDIS -- GM HEI Modules -- Ford TFI

*.msq file -- Lambda Sensors -- Speed Density -- Alpha_N -- Hybrid Alpha_N -- VR Sensor

Original Equipment Temperature Sensors


Specific Settings for how many Cylinders you have
1 Cylinder Settings -- 2 Cylinder Settings -- 4 Cylinder Settings -- 5 Cylinder Settings -- 6 Cylinder Settings -- 8 Cylinder Settings

10 Cylinder Settings -- 12 Cylinder Settings -- Rotary Engine Settings


Specific Settings for your Engine Details
Generic Wheel with Wasted Spark Settings -- Cam or Crank second Trigger Input -- 4cyl Sequential COP -- Distributor with Generic Wheel -- MSnS Distributor

Neon/420A Chrysler/Dodge/Plymouth -- Ford EDIS -- GM HEI -- Ford TFI -- Dual Dizzy Mode (Lexus V8)

 


Description of terms:

MS1 Extra code is a version of firmware that has been developed by Philip Ringwood and James Murrey over the past few years. This code can be run on any version of B+G Megasquirt PCB (V1.0, 2.2 or 3.0) using the MS1 (68HC908) microprocessor. It is based on the B+G original V3.0 code and Eric Fahlgren's Dual Table (DT). It also amalgamates lots of other code versions and mods that many people have created, as well as lots of ideas and needs from people on the MSExtra forum. See HERE for a list of credits.

 

MSnS mode is for use with a single coil and distributor allowing you to control your timing if you have a single coil firing through a distributor, or an MSD 6A amplifier, firing trough a distributor, etc.
Your tach signal into the Megasquirt can come from a crank trigger or from a "locked" distributor using hall, inductive VR or opto sensors.
This mode requires ONE Trigger per Spark Event, like a set of points or the equivalent. e.g. 2 pulses from a crank on a 4cyl or 4 pulses from the disrtibutor on a 4cyl (distributor runs at half the speed of the crank) , 4 pulses from the crank on a V8 or 8 from the distributor on a V8, etc.
If your engine has a toothed wheel (e.g. a 60-2, 24/2, 36-1, etc) then you must NOT use MSnS mode, setup the GENERIC WHEEL MODE instead, and select SparkA as the only spark output whilst using the distributor. Please see HERE for more details on MSnS mode.

 

Generic Wheel Mode allows the use of a multi-toothed trigger wheel such as 36-1 (commonly fitted to Fords), 60-2 (used mainly by Bosch and therefore very widespread in Europe.) Custom wheels such as 6-1 or 4-1 also work. Also supported are dual wheels such as the 24/2 wheels seen on Mazdas and Toyotas. These have two wheels, one with 24 evenly spaced teeth and a second pair of teeth with a second sensor.
The code supports:

Fuel only

Single coil (distributor based setup)

Wasted spark with multiple coils

It can also support coil per plug in some installs.

For wasted spark you require a minimum of single "missing tooth" crank wheel, only engines with an even number of cylinders being supported. You need at least 4-1 for 4cyl, 6-1 for 6cyl or 8-1 for 8cyl. However, the 36-1 wheel is probably the easiest to obtain. The MS ECU can drive up to 6 seperate spark outputs, meaning it can run up to a 12 cylinder in wasted spark mode. (4cyl, 6cyl, 8cyl 10cyl and a 12cyl)
Coil per plug can be achieved with a crank wheel and single-tooth cam wheel OR a dual wheel cam setup OR a missing-tooth cam-wheel alone.

Please see HERE for a more detailed description.

 

Wasted Spark is used on a lot of 4 stroke engines and is where a pair of cylinders are fired together, one cylinder is on the compression stroke and the other on the exhaust stroke. The 2 cylinders that are fired are the pair that move together and are therefore opposite each other in the firing order. This setup therefore has multiple coils, usually 2 for a 4cy, 4 for a 8cy, etc. It does NOT have a distributor, as the spark plugs in the cylinders are connected directly to the coils.

e.g.
Rover V8 firing order = 1, 8, 4, 3,  6, 5, 7, 2    This would be 2 rotations of the crank, so 720 degs.
To fire this engine in wasted spark we would fire 1+6 together (as these are opposite in the firing order), then 90deg later we would fire 8+5(again these are opposite in the firing order), then 90deg later 4+7 then finally a further 90deg we would fire 3+2, this repeats every crank revolution.

Ford 4 cylinder firing order = 1,  3,  4,  2       This would be 2 rotations of the crank, so 720 degs.
To fire this engine in wasted spark we would fire 1+4 together (as these are opposite in the firing order), then 180deg later we would fire 3+2 (again these are opposite in the firing order), this repeats every crank revolution.

The cylinder that is fired on it's exhaust stroke is know as the "wasted spark" as it produces no power. The benefits are that the coil fires less often than when using a single coil and has more time to charge ready for its next spark. This is very helpful at high revs when the charge time can be very small.

 

Neon/420A Mode:

Chrysler/Dodge/Plymouth
The "Neon/420A" mode theoretically supports the following vehicles when equipped with a 2.0 or 2.4 4cylinder Chrysler engine.
"NS" body models:
1996-2000 Chrysler Town and Country
1996-2000 Dodge Caravan/Grand Caravan
1996-2000 Plymouth Voyager/Grand Voyager
"JA" body models:
1995-02 Chrysler Cirrus
1995-02 Dodge Stratus
1996-2000 Plymouth Breeze
"JX" body models:
1996-02 Chrysler Sebring Convertible
"PL" body models:
1995-02 Dodge Neon
1995-2001 Plymouth Neon
"PT" body models:
01-02 Chrysler PT Cruiser
"FJ" body models:
1995-02 Chrysler Sebring Coupe
1995-2000 Dodge Avenger

See HERE for more details on this setup.

 

Ford EDIS: Ford's Electronic Distributorless Ignition System (EDIS) is an ignition system that does NOT require a cam position signal. It can function with just a variable reluctor crank position sensor (VR sensor) and a 36-1 tooth wheel (36-1 means '36 teeth minus one', and refers to 36 evenly spaced teeth, one of which has been removed).

Because it doesn't need a camshaft position sensor, EDIS is a particularly easy way to replace distributor ignitions when retrofitting older engines with a modern computer programmable ignition, but we now recommend directly driving the coil packs from the MS ECU using the VB921 FET's. This does away with the EDIS module, so all thats needed is the 36-1 wheel, a VR sensor and the coil packs.

See HERE for more details on the Ford EDIS mode.

 

GM HEI: There were a number of different kinds of General Motors HEI modules:

* 4 pin module - electronic ignition, but doesn't do computer timing control, top left
* 7 pin module (large) - electronic module that does timing control, used with coil-in-cap distributors, top right
* 7 pin module (small) - electronic module that does timing control, used with some external coil distributors, bottom right
* 8 pin module - electronic module that does timing control, used with most V8 external coil distributors, bottom left
* 5 pin module - rare not shown

See HERE for more details on the GM HEI Module

 

Ford TFI code is only designed for "push start" modules which are claimed to be grey in colour. Computer controlled dwell modules are black. Maybe this is USA only data because the Push Start module I used is mainly black. On a push start the START wire will run to the ignition switch. On a CCD that pin is IDM and will run to the ECU.
NOTE!! If you are using an aftermarket spark box like MSD
you must simply configure your spark type as MSnS and NOT TFI. See the MSnS settings.
When the code is set to TFI it expects you to use the TFI module to fire the coil and provide cranking spark.

ALPHA testers desired for CCD modules. Try as the settings on this page but set to dwell control instead of 50% duty.

For more info on Ford's TFI setup please see HERE

Here is the pinout of a typical dizzy mounted module, consult you workshop manual if necessary.

 

*.msq files: are files that MegaTune generates when you "save" your configuration. These can be opened by MegaTune and other MegaSquirt tuning software and hold all of the data that is stored inside the ECU thats specific to your settings.

 

Lambda Sensors Vertually all the standard sensors in modern cars are Narrow Band lambdas that give a 0-1V output. These are usually supplied with either 1, 2, 3 or 4 wires. The 3 and 4 wired sensors generally have a heater in them and these are recommended if you want to use a Narrow Band sensor as they dont rely totally on heat from the exhaust gases to get them up to operating temperature. The voltage at14.7:1 AFR (Lambda 1.0) is usually 0.5V, anything lower is lean, anything higher than 0.5 is rich. These can only be used to tell you that your lean or rich of 14.7:1, they are not accurate at any other value other than 14.7:1AFR (0.5V output)

Where as a wideband lambda sensor can tell you accurately the AFR from around 10-20:1. These usually have a voltage output range of 0-5V and some can be programed to give a straight line output with respects to the AFR. e.g. Innovates LC-1 can be st up for 0V = 10:1AFR and 5V = 20:1AFR, so 2.5V output would be 15:1AFR, etc. The WideBand Lambda sensors will need a control circuit/box to run them, the MS ECU can NOT simply plug into the sensor like a narrow band sensor.

In order for the MegaTune software to be able to distinguse between what wideband sensor you are using, and therefore tell what the output voltage means, to do this use the MS1 Extra Megatune installer, you can select either a LC-1 or Techedge wideband during the install, but if your using another type of sensor or you didn't use the MS1_Extra Megatune installer then you'll need to use the Configurator within MegaTune. To do this run MegaTune and select:

File - Configurator

Then select

Car1 - Settings.ini - Settings - Lambda Sensor

Now select your WideBand Lambda sensor from the list highlighted in RED here. Save and exit the program. The next time MegaTune is opened it will work for your lambda sensor

 

 

Speed Density is where the Manifold Air Pressure is used as the load reference in the 12x12 VE table. The MS ECU has a built in MAP sensor that must be piped into the manifold, engine side of the throttle plate. As the MAP increases the fueling is increased due to the MAP value being part of the algorithm. This is especially important in a boosted engine where the increase in pressure, and therefore air, will increase the fuel pulse width for the same VE value. The default settings in MegaTune are pre-set for Speed density so no changes should be needed to set MegaTune up for this, but if you have tried another algorithm then here is how to set it back to Speed Density:

If you used the Extra-Megatune Installer then you simply have to select Speed Density during the install, or if you used a different version then you will need to use the Configurator within MegaTune. To do this run MegaTune and select:

File - Configurator

Then select

Car1 - Settings.ini - Settings - Fueling Algorithm

Change the selection at the top (highlighted RED) to Speed Density, then save and close the program.

 



Alpha-N is useful for long duration cams, ITB's, etc, where the resolution of manifold air pressure (map) would be small (e.g. an idle map value of 75KPa would be too small to get a good resolution from). It is also useful to get a smoother idle on engines that have erratic map values. MegaSquirt can be converted from its default speed-density calculations to Alpha-N. You will no longer use the MAP sensor for estimating the load on the engine -- the throttle position and rpm are used instead. This can help with cams with long duration and/or a lot of overlap, as they have low and unstable vacuum at idle, making tuning very difficult. It can also be helpfull for ITB setups when atmosphere is reached very quickly under light throttle openings.

For example: On a flat part of the torque curve, going from half to ¾ throttle might not require the value to change in the VE map on speed-density if the air/fuel ratio is the same for the 2 loads as the change in MAP will do this. On the alpha-N system the map bins will be different as this is the only way the MegaSquirt can find out about the higher fuel demand.

In Alpha-N mode MS still makes 02 corrections (i.e. runs 'closed loop'), if you have it enabled.

One thing you have to always remember with alpha-N is that you don't actually know where the effective WOT is anymore (i.e., when you have enough throttle that opening it further doesn't affect the amount of air being ingested). At low RPM WOT could be only 20% throttle. It is worth setting 5-8 of the total TPS bins (load on the VE Table) to cover the first 20% - 30% of the throttle opening to make tuning easier. This will help you end up with a driveable car, as most driving on the road is done in the first 30% of the throttle. The rest of the bins can fill in the gaps between 30% and WOT. (Wide Open Throttle)

If you have a boosted engine please see Hybrid_Alpha_N below.

If you used the Extra-Megatune Installer then you simply have to select Alpha_N during the install, or if you used a different version then you will need to use the Configurator within MegaTune. To do this run MegaTune and select:

File - Configurator

Then select

Car1 - Settings.ini - Settings - Fueling Algorithm

Change the selection at the top (highlighted RED) to Alpha_n, then save and close the program.

 

Hybrid_Alpha-N

With a boosted engine using Alpha_N, you MUST use the Hybrid_Alpha_N setting (See Advanced Settings) with Megasquirt, because the throttle position bares little relationship to the amount of air going into the engine. Alpha-N is for naturally aspirated engines ONLY, the Hybrid Alpha-N adds the MAP value into the fueling algorithm, (obviously the map sensor will need to be connected to the inlet manifold) so fueling is increased with boost pressure.
Please Note: There is no extra table or any other settings other than selecting the option in Advanced Settings. It is simply used to add the MAP value to the equation.

To use Hybrid Alpha_N ensure you have Alpha_N selected as above (HERE) then simply set your Constants - Control Algorithm as Alpha_N and set the ini file in MegaTune as Alpha_N, see HERE.
Hybrid can then be used if it's set in Advanced settings, see HERE.

Hybid Alpha-N =

PW = REQ_FUEL * VE * TPS * MAP * E + accel + Injector_open_time

Normal Alpha-N =

PW = REQ_FUEL * VE * TPS * E + accel + Injector_open_time

 

VR Sensor (Variable Reluctance Sensor)

Example of a Ford Variable Reluctance Sensor (VR Sensor), these are positioned so they detect the teeth on a crank wheel. When a tooth (peice of metal) passes them at high speed and at a very close proximity (0.75 - 1.0mm) they generate a small signal.

     

 

The following diagram shows what happens when the VR jumpers on the V3.0 PCB or the VR sensor is wired the incorrectly:
(VR sensor ground signal wired to pin24, the sensors signal +ve wired to the screen and the VROUTINV linked to TSEL)
or
(VR sensors +ve signal wired to pin24 , the sensors ground wired to the screen and the VROUT linked to TSEL).
The trigger points (where the signal goes through the line on the positive going slope) are shown in red. The time between the trigger points is consistant untill the missing tooth comes passed the sensor. The gap has increased a little (not fully) as the wave returns to the line but as it has to wait untill the next positively going slope the next gap is also decoded as another missing tooth.

 

This diagram shows the jumpers and te VR sensor wired correctly;
(VR sensor +ve signal wired to pin24, the sensors ground wired to the screen and the VROUTINV linked to TSEL)
or
(VR sensor ground signal wired to pin24 , the sensors +ve wired to ground and the VROUT linked to TSEL).
This time the negative side of the slope is used as the trigger edge. This means that as the missing tooth passes the sensor it doesnt trigger the ECU untill the fall from the next tooth (Tooth 1).

 

 

Original Equipment Temperature Sensors:
If you are using temperature sensors that are NOT MS SENSORS (e.g. your original equipment sensors) then you will need to generate 3 inc files so that Megatune displays them correctly. (2 inc files are generated for the Air Temperature Sensor and 1 for the Coolant Sensor)

Download a desription on how to set up your ECU and MegaTune with your sensors here: WORD FILE - TEXT FILE

The MS recommended sensors are from a GM motor, part numbers:

 

 


Specific Settings for how many Cylinders you have

1 Cylinder Ignition and Fuel Setup

Constants Page: See HERE for more details on this page

PLEASE NOTE, IF YOU PLAN TO RUN IGNITION ON A 1 CYLINDER ENGINE THEN YOU MUST SET THE ENGINE UP AS A 2 CYLINDER USING THE WHEEL DECODER (4-1, 36-1, 60-2, ETC) AS THE CODE FOR IGNITION WILL HAVE TOO LONG A DELAY TO WORK CORRECTLY.
For Fuel Only see HERE

 

Codebase and Output Functions: See HERE for more details on this page (FUEL AND IGNITION SETUP ONLY!!)
For 1cylinder Fuel Only see HERE

1 cylinder with wheel decoder (e.g. 4-1, 36-1)
Please Note: This will give you wasted spark in a 1cylinder engine

 

1 Cylinder Fuel Only Setup
(FUEL ONLY SETTING:)

Codebase and Output Functions: See HERE for more details on this page
(FUEL ONLY SETTING:)


2 Cylinder Ignition and Fuel Setup

 

Constants Page: See HERE for more details on this page

PLEASE NOTE, IF YOU PLAN TO RUN IGNITION ON A 2 CYLINDER ENGINE THEN YOU MUST SET THE ENGINE UP AS A 4 CYLINDER USING THE WHEEL DECODER (36-1, ETC) AS THE CODE FOR IGNITION WILL HAVE TOO LONG A DELAY TO WORK CORRECTLY.
For Fuel Only see HERE

Codebase and Output Functions: See HERE for more details on this page (FUEL AND IGNITION SETUP ONLY!!)
For Fuel Only see HERE

2 cylinder with wheel decoder (e.g. 4-1, 36-1)
Please Note: Only connect Spark A output, leave Spark B disconnected internally.
This will give you wasted spark on a 2 cylinder.

 

2 Cylinder Fuel Only Setup
(FUEL ONLY SETTING:)

Codebase and Output Functions: See HERE for more details on this page
(FUEL ONLY SETTING:)


 

4 Cylinder Setup

Constants Page: See HERE for more details on this page

 

                                                                                                                                                       

5 Cylinder Setup

As a 5cylinder engine is pretty unique in that it can't run wasted spark, all the setting specific to it are here, unlike all other engine cylinder configurations.

Constants Page: See HERE for more details on this page

Codebase and Output Functions: See HERE for more details on this page

5 COP's with 2 trigger inputs, 2nd trigger input is 1 pulse per cam revolution. see HERE

Distributor based setup with 5 pulses per cam revolution (e.g. points etc) see HERE

                                                                

Dwell Settings, see HERE for more details:

If using COPs directly driven from the MS ECU then the dwell settings will need to be tuned for your COP's

 

If using a dwell control module then set the dwell to 50%

                                                          

Wheel Decoder Settings: See HERE for more details on this page

Please Note, the values in Wheel decoder base teeth, Trig pos A, Trig return pos A, etc, will probably be different on your setup as it depends on your wheel decoder settings, see HERE for help on these settings, but the main thing is that you only have the Trig A, B, C, D and E positions set, the rest of the Trig positions must be zeros!

5 COP's with 2 trigger inputs, 2nd trigger input is 1 pulse per cam revolution. see HERE

Distributor based setup with 5 pulses per cam revolution (e.g. points etc) see HERE

                                                                                                                          THESE SETTINGS ARE NOT APPLICABLE FOR
                                                                                                                          
AN MSnS SETUP

                                 

 

 

6 Cylinder Setup

Constants Page: See HERE for more details on this page

 

8 Cylinder Setup

Constants Page: See HERE for more details on this page

 

10 Cylinder Setup

Constants Page: See HERE for more details on this page

 

 

12 Cylinder Setup

Constants Page: See HERE for more details on this page

 

Rotary Engine setup

2 Rotor Engines -- 3 Rotor Engines

The rotary engine is obviously fundementally different to a normal 4 stroke engine, but it can still be controlled by the MS ECU as long as a few rules are followed. With a four stroke engine, in 720° of crank rotation, it will draw in the equivalent amount of air as its rated displacement. But with a rotary engine in the same 720° it draws in twice its rated displacement.
Therefore:
If you have a 2 rotor (Mazda 13B) engine (1.3 L) it's really like a 2.6L 4 cyl 4 stroke engine.
If you have a 3 rotor (Mazda 20B) engine (2.0L) , it's really like a 4L 6 cyl 4 stroke engine.

The rotary engine has a leading and a trailing ignition (2 plugs per rotor) the leading fires first then the trailing fires a few degrees later. On a 2 rotor engine the leading can be fired in a wasted spark format, but on a 3 rotor engine the leading must be driven by 3 individual coils e.g. COP. Simply set the system up as a 6 cylinder engine running wasted spark, this will fire the 3 spark outputs (Spark A, B and C) every 360 deg of crank rotation. Please see the Rotary Trailing Setup HERE for more info before running your engine.

2 Rotor engines (Mazda 13B)

Constants Page: See HERE for more details on this page

Codebase and Output Functions: See HERE for more details on this page

Dwell Settings, see HERE for more details:

Wheel Decoder Settings: See HERE for more details on this page

Please Note, the values in Wheel decoder base teeth, Trig pos A, Trig return pos A, etc, may be different on your setup as it depends on your wheel decoder settings, see HERE for help on these settings, but the main thing is that you only have the Trig A and B positions set, the rest of the Trig positions must be zeros!

 

3 Rotor engines (Mazda 20B) PLEASE NOTE: none of the 3 rotor stuff has been tested and this is all theoretical, please tell me if you have a working setup!! philip.ringwood (at) ntlworld.com

Constants Page: See HERE for more details on this page

Codebase and Output Functions: See HERE for more details on this page

Dwell Settings, see HERE for more details:

Wheel Decoder Settings: See HERE for more details on this page

Please Note, the values in Wheel decoder base teeth, Trig pos A, Trig return pos A, etc, may be different on your setup as it depends on your wheel decoder settings, see HERE for help on these settings, but the main thing is that you only have the Trig A and B positions set, the rest of the Trig positions must be zeros!

HELP!!!!!

 


Generic Wheel with Wasted Spark Specific Setting:

Please note that if you are driving the coils directly from the ECU, as you most likely will be if running wasted spark, then ensure the Spark Settings - Spark Inverted Output = YES

4 cylinder -- 6 cylinder -- 8 cylinder -- 10 cylinder -- 12 cylinder

4 Cylinder Wasted Spark Setup (e.g. 60-2, 36-1 Ford, etc) see HERE for more details

Codebase and Output Functions: See HERE for more details on this page

Wheel Decoder Settings: See HERE for more details on this page

Please Note, the values in Wheel decoder base teeth, Trig pos A, Trig return pos A, etc, will probably be different on your setup as it depends on your wheel decoder settings, see HERE for help on these settings, but the main thing is that you only have the Trig A and B positions set, the rest of the Trig positions must be zeros!

The dwell settings will need to be tuned for your coil packs, see HERE for more info, but as a starting point you can use:

 

6 cylinder Wasted Spark Setup (e.g. 60-2, 36-1 Ford, etc) see HERE for more details

Codebase and Output Functions: See HERE for more details on this page

Wheel Decoder Settings: See HERE for more details on this page

Please Note, the values in Wheel decoder base teeth, Trig pos A, Trig return pos A, etc, will probably be different on your setup as it depends on your wheel decoder settings, see HERE for help on these settings, but the main thing is that you only have the Trig A, B and C positions set, the rest of the Trig positions must be zeros!

The dwell settings will need to be tuned for your coil packs, see HERE for more info, but as a starting point you can use:

 

8 cylinder Wasted Spark Setup (e.g. 60-2, 36-1 Ford, etc) see HERE for more details

Codebase and Output Functions: See HERE for more details on this page

Wheel Decoder Settings: See HERE for more details on this page

Please Note, the values in Wheel decoder base teeth, Trig pos A, Trig return pos A, etc, will probably be different on your setup as it depends on your wheel decoder settings, see HERE for help on these settings, but the main thing is that you only have the Trig A, B, C and D positions set, the rest of the Trig positions must be zeros!

The dwell settings will need to be tuned for your coil packs, see HERE for more info, but as a starting point you can use:

 

10 cylinder Wasted Spark Setup (e.g. 60-2, 36-1 Ford, etc) see HERE for more details

Codebase and Output Functions: See HERE for more details on this page

Wheel Decoder Settings: See HERE for more details on this page

Please Note, the values in Wheel decoder base teeth, Trig pos A, Trig return pos A, etc, will probably be different on your setup as it depends on your wheel decoder settings, see HERE for help on these settings, but the main thing is that you only have the Trig A, B, C, D and E positions set, the rest of the Trig positions must be zeros!

The dwell settings will need to be tuned for your coil packs, see HERE for more info, but as a starting point you can use:

 

12 cylinder Wasted Spark Setup (e.g. 60-2, 36-1 Ford, etc) see HERE for more details

Codebase and Output Functions: See HERE for more details on this page

Wheel Decoder Settings: See HERE for more details on this page

Please Note, the values in Wheel decoder base teeth, Trig pos A, Trig return pos A, etc, will probably be different on your setup as it depends on your wheel decoder settings, see HERE for help on these settings, but the main thing is that you only have the Trig A, B, C, D, E and F positions set.

The dwell settings will need to be tuned for your coil packs, see HERE for more info, but as a starting point you can use:


Cam or Crank second Trigger Input

2 Sensors on Crank or Cam Sensor (with 2 pulses per cam rev) example -- 2nd Sensor on Cam (with 1 pulse per cam rev) example

Following Example is when the Second Sensor is on the CAM or Crank with 2 pulse per cam revolution (180deg apart) or 1 pulse on the Crank per revolution
(Primary sensor = Crank 60 teeth)

Codebase and Output Functions - Ensure only the Wheel Decoder - Generic Wheel option is set. This example is for a 4cy wasted spark so it has ONLY Spark A and Spark B set! Please see the Basic Config manual for more.

   

Wheel Decoder Settings: See HERE for more details on this page

If directly driving your coils from the MS ECU then set dwell as:


Please note that these will need to be tuned, see the Dwell section of this manual.

 

Following Example is when the Second Sensor is on the CAM with 1pulse per cam revolution:

Example setup with cam wheel and non-missing tooth crank wheel. The cam wheel must have a single trigger per 720 degrees of the crank or 1 per cam rev. The crank wheel must have at least half as many teeth as the number of cylinders. i.e. 2 on a 4cyl.

Codebase and Output Functions - Ensure only the Wheel Decoder - Generic Wheel option is set. It could run a sequential COP setup (4 cyl) or a wasted spark 4cyl (See the sequential COP section). Please see the Basic Config manual for more.

This example is for a wasted spark setup using a single cam pulse and a crank signal with NO gaps. Basically you set 2 spark outputs LED17 and LED19 (Spark A and Spark B) but you need to set Trig Pos A, B, C and D, as there will be 4 trigger (4 sparks) events between resets. (The code will only reset the main wheel counter when it gets a cam pulse which is every 2 crank revolutions), so you also need to set the Wheel Decoder Base Teeth to double the crank teeth (e.g. a 4 toothed wheel = 8 teeth):

Wheel Decoder Settings: See HERE for more details on this page.

In order to get 2 spark outputs (as we are running wasted spark) we need to use the "Dual Dizzy" mode (see below).
This fires Tri Pos A and C on "LED17 Spark A output" and Trig Pos B and D on "LED 19 Spark B output":

Primary teeth = 60

 

Primary teeth = 4

                        

If directly driving your coils from the MS ECU then set dwell as

:
Please note that these will need to be tuned, see the Dwell section of this manual.

With a missing-tooth main wheel, the missing tooth provides the main position reference to the Megasquirt. The cam signal should occur away (not co-incident with) the missing tooth, the exact angle is irrelevant, so long as they NEVER overlap.

With a non-missing-tooth main wheel, the second trigger / cam pulse provides the main position reference to the Megasquirt. Getting the position set correctly is now critical as the cam pulse must fall between the same two primary teeth under all conditions, it must NEVER overlap a tooth.




The first pair of signals show an active edge on the cam falling in between the two active edges of the crank. The Megasquirt only pays attention to the active edges you choose - shown here in green.

The next pair shows what not to do. Here the active edge of the cam is very close to the active edge of the crank and in the final pair of signals the cam has overlapped and the engine lost sync. If it regained sync like this (which it will do on the next revolution) the timing will be wrong by one tooth - which could cause grossly advanced timing and engine damage.


Sequential COP
4cyl ONLY

For a sequentially fired COP setup we have to have a suitable cam signal and a crank signal, the crank signal can come from the cam as long as it has enough equally spaced teeth with one gap.
The easiest method on a 4cyl in MS1-Extra is to use a 4, 8, 12, 36 or 60 toothed wheel on the crank (evenly spaced teeth with none missing) and a single pulse from the cam. Equally a cam signal with 8, 16, 24, etc, teeth and a single missing tooth or with no missing teeth and a second single pulse per cam rev could be used.

NON MISSING TOOTHED CRANK SIGNAL for sequential COP: For missing toothed crank see here (e.g. 60-2)

If using a crank signal with no missing teeth the Tooth Number One will be the next tooth on the crank that is seen after the Single Cam pulse.

If using a small number of teeth on the crank then it would be easiest to ensure that the teeth align at 60Deg BTDC, any angle from 50-70 is fine.

Note: As the ECU needs around 10degs to calculate the firing angle the Trigger Angle needs to be 10deg more than the maximum advance your engine will ever need, so 50 is about as low as you can go, unless you go to Zero degs, but theres no point in that when you have multiple teeth. Ideally you need to be around 50-70deg for the Trigger Angle. You can't use say 30deg for a Trigger Angle as the maximum usable advance would only be 30 (Trig Angle) - 10 (Time to calculate) = 20deg, which isn't enough for most engines.

So in our example we are going to have a 4cy with 4 pulses per crank rev and 1 from the cam as above. The teeth are aligned so Number 1 tooth on the crank is at 60deg BTDC, the exact cam signal angle isn't important BUT it must happen after tooth 4 on the crank and before tooth 1!
Note: If using a crank signal with a gap (e.g. 60-2) align the cam pulse so its around 40deg before the gap on the crank.

When using a crank signal with no missing teeth the MegaSquirt ECU resets the number of teeth it counts when it sees a single cam pulse, so in our 4 toothed crank example the MS ECU thinks it has a 8 toothed signal as the crank will rotate twice for every cam pulse, so we put 8 in the Wheel Decoder base teeth. With a 60 toothed crank signal we would have 120 in the Wheel Decoder base teeth, etc.

Note: The second trigger input signals the first 360 degrees of a cycle. Therefore, the firing order of 1-3-4-2 would be sequenced Spark C-D-A-B if the second trigger happens on the second rotation of the crank or Spark A-B-C-D if it happens on the first rotation. If it shows sparking on cylinder #1 at the appropriate time and it does not start, try swapping 1&4 and 3&2 or reposition your second (cam) trigger by rotating it 180 degrees if possible

4 Toothed Crank with single cam pulse

 

When using a crank signal with teeth missing (e.g. 60-2) then the cam signal tells the MegaSquirt that the next gap it sees on the crank will be when to reset the trigger count. So in a 60-2 toothed crank signal we would have a count of 120 teeth, a 36-1 would have 72 triggers, etc.         

We need to set Trig Pos A,B,C and D as we will be having 4 spark outputs on a 4cy. Trig Pos A will be tooth 1 (as that's 60Deg BTDC for Cy1), a further 180 crank degrees is tooth 3, etc. The Trig return pos's will all need to be set to Zero and Time Based Cranking will need to be used.

Once you have the engine running you MUST check your timing with a strobe to ensure the angle in MegaTune corresponds to the ACTUAL fired angle. Alter the Trigger Angle untill it is the same!!!

 

MISSING TOOTHED CRANK SIGNAL for sequential COP (60-2, 36-1): For NON missing toothed crank see here

If using a crank signal with missing teeth theTooth Number One will be the first tooth after the gap on a single gap crank (e.g. 36-1) or the second gap on a 2 gap signal (e.g. 60-2, the first tooth will therefore be Tooth #2).

In our example we have a 4cy engine and tooth 25 is lined up with the sensor at TDC. So we enter this info into the wheeldecoder.xls but the info will only be half there, as the excel file is for wasted spark and not sequential COP:

Note: As the ECU needs around 10degs to calculate the firing angle the Trigger Angle needs to be 10deg more than the maximum advance your engine will ever need, so 50 is about as low as you can go, unless you go to Zero degs, but theres no point in that when you have multiple teeth. Ideally you need to be around 50-70deg for the Trigger Angle. You can't use say 30deg for a Trigger Angle as the maximum usable advance would only be 30 (Trig Angle) - 10 (Time to calculate) = 20deg, which isn't enough for most engines.

So with the above info we can work out the settings for the other 2 spark trigger positions, as we need Trig Pos A, B, C and D on a 4cy COP (one per spark).
For Trig Pos A we have 15, that means C (which is 360 crank degs after A) will need to be increased by the total theoretical teeth count
(NOTE a 60-2 is 60 TEETH, 36-1 is 36 Teeth, etc) so, C = A + total theoretica tooth count of crank = 15 + 60 = 75.
For Trig Pos B we have 45, that means D (which is 360 crank degs after B) will be B + total theoretica tooth count of crank = 45 + 60 = 105.

The same can be done for the Trig Return Pos for C and D.

When using a crank signal with teeth missing (e.g. 60-2) then the cam signal tells the MegaSquirt that the next gap it sees on the crank will be when to reset the trigger count. So in a 60-2 toothed crank signal we would have a count of 120 teeth, a 36-1 would have 72 triggers, etc. So the Wheel Decoder base teeth will need to be double the crank value as it will count them twice for every cam signal (e.g. 120 in a 60-2).

Note: The second trigger input signals the first 360 degrees of a cycle. Therefore, the firing order of 1-3-4-2 would be sequenced Spark C-D-A-B if the second trigger happens on the second rotation of the crank or Spark A-B-C-D if it happens on the first rotation. If it shows sparking on cylinder #1 at the appropriate time and it does not start, try swapping 1&4 and 3&2 or reposition your second (cam) trigger by rotating it 180 degrees if possible

60-2 toothed Crank with single cam pulse

Once you have the engine running you MUST check your timing with a strobe to ensure the angle in MegaTune corresponds to the ACTUAL fired angle. Alter the Trigger Angle untill it is the same!!!


Distributor with Generic Wheel Specific Settings:

Please note that if you are driving the coil directly from the ECU that you ensure the
Spark Settings - Spark Inverted Output = YES

4 cylinder -- 6 cylinder -- 8 cylinder -- 10 cylinder -- 12 cylinder

4 Cylinder Distributor setup with a Generic Wheel

Codebase and Output Functions: See HERE for more details on this page

Wheel Decoder Settings: See HERE for more details on this page

Please Note, the values in Wheel decoder base teeth, Trig pos A, Trig return pos A, etc, will probably be different on your setup as it depends on your wheel decoder settings, see HERE for help on these settings, but the main thing is that you only have the Trig A and B positions set, the rest of the Trig positions must be zeros!

If driving your coil directly from the MS ECU then the dwell settings will need to be tuned for your coil packs, see HERE for more info, but as a starting point you can use. If your using a dwell control module or MSD, etc, please set the dwell to Fixed Duty - 50% Duty Cycle

 

 

6 Cylinder Distributor setup with a Generic Wheel

Codebase and Output Functions: See HERE for more details on this page

Wheel Decoder Settings: See HERE for more details on this page

Please Note, the values in Wheel decoder base teeth, Trig pos A, Trig return pos A, etc, will probably be different on your setup as it depends on your wheel decoder settings, see HERE for help on these settings, but the main thing is that you only have the Trig A, B and C positions set, the rest of the Trig positions must be zeros!

If driving your coil directly from the MS ECU then the dwell settings will need to be tuned for your coil packs, see HERE for more info, but as a starting point you can use. If your using a dwell control module or MSD, etc, please set the dwell to Fixed Duty - 50% Duty Cycle

 

8 Cylinder Distributor setup with a Generic Wheel

Codebase and Output Functions: See HERE for more details on this page

Wheel Decoder Settings: See HERE for more details on this page

Please Note, the values in Wheel decoder base teeth, Trig pos A, Trig return pos A, etc, will probably be different on your setup as it depends on your wheel decoder settings, see HERE for help on these settings, but the main thing is that you only have the Trig A, B, C and D positions set, the rest of the Trig positions must be zeros!

If driving your coil directly from the MS ECU then the dwell settings will need to be tuned for your coil packs, see HERE for more info, but as a starting point you can use. If your using a dwell control module or MSD, etc, please set the dwell to Fixed Duty - 50% Duty Cycle

 

 

10 Cylinder Distributor setup with a Generic Wheel

Codebase and Output Functions: See HERE for more details on this page

Wheel Decoder Settings: See HERE for more details on this page

Please Note, the values in Wheel decoder base teeth, Trig pos A, Trig return pos A, etc, will probably be different on your setup as it depends on your wheel decoder settings, see HERE for help on these settings, but the main thing is that you only have the Trig A, B, C, D and E positions set, the rest of the Trig positions must be zeros!

       

If driving your coil directly from the MS ECU then the dwell settings will need to be tuned for your coil packs, see HERE for more info, but as a starting point you can use. If your using a dwell control module or MSD, etc, please set the dwell to Fixed Duty - 50% Duty Cycle

 

 

12 Cylinder Distributor setup with a Generic Wheel

Codebase and Output Functions: See HERE for more details on this page

Wheel Decoder Settings: See HERE for more details on this page

Please Note, the values in Wheel decoder base teeth, Trig pos A, Trig return pos A, etc, will probably be different on your setup as it depends on your wheel decoder settings, see HERE

   

If driving your coil directly from the MS ECU then the dwell settings will need to be tuned for your coil packs, see HERE for more info, but as a starting point you can use. If your using a dwell control module or MSD, etc, please set the dwell to Fixed Duty - 50% Duty Cycle

 


(MSnS) Distributor with 1 pulse per Ignition Event Specific Setting:

Please note that if you are driving the coil directly from the ECU that you ensure the
Spark Settings - Spark Inverted Output = YES

For more info on MSnS settings see HERE

All cylinder engines are the same setup for MSnS Distributor (MSnS)

Codebase and Output Functions: See HERE for more details on this page

       

If driving your coil directly from the MS ECU then the dwell settings will need to be tuned for your coil packs, see HERE for more info, but as a starting point you can use. If your using a dwell control module or MSD, etc, please set the dwell to Fixed Duty - 50% Duty Cycle

 


Neon 420A Specific Setup Pages:

For more info on NEON settings see HERE.
Setup the Constants Page as per the above settings depending on how many cylinders your engine has. Then setup the Codebase and Output Functions and the Spark Settings as below:

Codebase and Output Functions: See HERE for more details on this page

Spark Settings for Neon Mode: See HERE for more details on this page

Dwell Settings, see HERE for more details

 


Ford EDIS Specific Setup Pages:

For more info on EDIS settings see HERE.
Setup the Constants Page as per the above settings depending on how many cylinders your engine has. Then setup the Codebase and Output Functions and the Spark Settings as below:

Codebase and Output Functions: See HERE for more details on this page.

Spark Settings for EDIS Mode: See HERE for more details on this page

Dwell Settings, see HERE for more details

 


GM HEI Module Specific Setup Pages:

For more info on GM HEI Module settings see HERE.
Setup the Constants Page as per the above settings depending on how many cylinders your engine has. Then setup the Codebase and Output Functions and the Spark Settings as below:

Codebase and Output Functions: See HERE for more details on this page.

Spark Settings for GM HEI Module Mode: See HERE for more details on this page

Dwell Settings, see HERE for more details

 


 

Ford TFI Specific Setup Pages:

For more info on Ford TFI settings see HERE.
NOTE!! If you are using an aftermarket spark box like MSD you must configure your spark type as MSnS and NOT TFI.

Setup the Constants Page as per the above settings depending on how many cylinders your engine has. Then setup the Codebase and Output Functions and the Spark Settings as below:

Codebase and Output Functions: See HERE for more details on this page.

Spark Settings for Ford TFI Mode: See HERE for more details on this page

Dwell Settings, see HERE for more details

 


Dual Distributor Setup Mode
(e.g. Lexus V8 with a 24/2 cam signal):

The Lexus V8 has 3 sensors, one on each of the Cams and one on the Crank. The crank is a 12 toothed pickup and a single pulse comes from each cam pickup. These single pulses detect a tooth at 180deg apart. By joining the 2 single cam pulse sensor wires together in parallel this will give us a pulse every 180deg of the cam, which is one per crank revolution, this will be used as the second trigger input. See HERE for the circuit needed to acheive that.
This means the code reads it as a 12/1. (12 pulses on the main input and 1 on the second input per crank rev)

In order to use the 2 distributors, the code only fires on the first two spark outputs (i.e. Spark A and Spark B) when in Dual Dizzy mode. This allows a V8 (which needs 4 trigger positions per crank rotation) to use the wheel decoder and a pair of distributors rather than coil packs. (e.g. a Lexus V8)

Setting the wheel decoder as usual but set the Dual Dizzy mode:

          

Now the code will fire Trig A Pos on Spark A Output, then Trig B pos on Spark B output, then Trig C pos on Spark A output and Trig D pos on Spark B output, etc. Giving two outputs, one for each distributor.


If you have a question, comment, or suggestion for this FAQ, e-mail Phil or James or post it on the forum.

No part of this manual may be reproduced or changed without written permission from Philip Ringwood, James Murray, Ken Culver and Lance.


©2004, 2005 Bruce Bowling and Al Grippo. All rights reserved.