MS1-Extra General Hardware manual

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.

Note if your TunerStudio dialogs do not match the examples in this document then you need to updated your setup file.
Please use this link to take you to the page with instructions on how to update your setup file.
 



Layout of MS PCB's for V2.2 -- for V3.0 -- for V3.57

Suggested points for Supplies for V3.0 PCBs -- Component Pinouts -- Outputs 1,2,3 and 4 -- Shift Lights -- Map Table Switching -- Tacho Output

Launch Control -- Idle Valves -- Water Injection -- Constant Barometric Correction

Knock Detection -- Mass Air Flow Meters -- Nitrous (N2O) Control -- Second O2 Sensor -- Dual Table -- EGT Logging -- Fuel Pressure Logging

Boost Control


Layout of the Megasquirt PCB's

V2.2 PCB:

Topside view of V2.2 pcb (these are green pcb's)

The V2.2 PCB has 4 spare connectors (X11 to X14) these can be used for various inputs and outputs for the following circuits as they are conveniently available on the 37pin DB connector:

X11 = pin 25 of 37pin db

X12 = pin 27 of 37pin db

X13 = pin 29 of 37pin db

X14 = pin 31 of 37pin db

 

 

V3.0 PCB:

The V3.0 PCB has 4 spare connectors (SPR1 to 4) these can be used for various inputs and outputs for the following circuits as they are conveniently available on the 37pin DB connector:

SPR1 = Pin3 of 37pin db

SPR2 = Pin4 of 37pin db

SPR3 = Pin5 of 37pin db

SPR4 = Pin6 of 37pin db

 

V3.57 PCB

As can be seen, theres no proto area on the V3.57 and the components are very small. So soldering wires onto the board for spark outputs, hardware options, etc, is going to need a great deal of care. You may even have to remove some parts, which is not easily done to surface mount components, so I don't feel these manuals should cover doing this, as damage is very easy to do. Also a daughter board will need to be built if you want some of the hardware options as theres no proto area to build on. I have therefore assumed if you bought a V3.57 that you will not be modifying it to use the hardware functions such as Tacho out, PWM Idle valves, Boost control, Launch input, etc, etc. If you do wish to use these then you will have to build a daughter board of some form to mount the components on. If you use more than 2 spark outputs youll need to use the db15 connector, but ensure you strengthen the traces on the board with copper wire or solder to the pin directly, also connect the outputs in pairs of pins, as per the instructions HERE.

Note that the JS0 - JS11 pads are all electrically the same as the V3.0 PCB as are the SPR1 - 4 pads, so they can be used in the same way as the V3.0 PCB. The addition is JS12 wich is the same as the bottom of R1 on the V3.0 pcb, but R1 will still need to be removed to use it on the V3.57, so be very very carefull !!!

Suggested points for Supplies inside the V3.0 ECU

 

 

Component Pinouts

Pull up circuit diagram


Outputs1,2,3 and 4

These outputs need a transistor circuit built on the prototype area to use them for any of the following options.

 

DigiKey part numbers:
Farnell part numbers

2N2222A = 497-2598-5-ND
1N4002 = 1N4002/4GICT-ND
Relay = Z2052-ND
1K resistor = 1.0KQBK-ND

2N2222A = 920-7120
1N4002 = 920-6671
Relay = 127-0806
1K resistor = 509-164

Please note: Above part numbers will need checking, some components will come with a minimum order in multiples of 5 and 10.

Controlling Outputs 1 and 2

These outputs are generally to be used to switch relays on and off that control various items, e.g. Cooling fan, Electric Power Steering Pumps, VVT valves, etc.

Please Note: To use Output 1 please set X4 (JS2) function in the Codebase and Outputs function settings to Output 1. This cannot be used with the Boost Controller as it uses X4.

In the above example the for Output1 you will see that it is selected to RPM, so when the engine RPM is above 2500 (25 Raw) the output will come on until the engine RPM drops 100 (1 raw) RPM below the setpoint. There is also an Upper Limit so in the same example if the RPM goes above 3500, (35 Raw) the output will go off until it comes under the Upper Limit again.

For temperatures you simply enter the degrees F +40, so in the above example Output 2 will turn on when the coolant temp is above 200 F (240 - 40F). The output will stay on until the coolant goes below 195F as it has a hysterisis of 5 (5F) There is no upper limit set so it wont turn off when above the setpoint.

The output can also be inverted, so it will effectively be OFF when it is ON, etc.

Controlling Outputs 3 and 4


Output 3 is Pin 15 of the uP (U1) when Output4 option in set in the Codebase and Outputs , see the Software Manual for more details on this. (Note: this can NOT be used if you are using the output for Spark Control e.g. a 8cy wasted spark setup) to connect this up, solder a wire to the top of R14 and connect it as the wiring diagram. This output has the option for a delayed off. So once it has trigger the output will only turn off after the time delay. This can be used for what ever you want, the example uses DECEL to trigger the output to a valve that drains off boost when the decel cuts in.

Output 4 is used if LED 18 is set to Output4 option in Codebase and Outputs , see the Software Manual for more details on this. (Note: this can NOT be used if you are using the output for Spark Control e.g. a 6cyl or 8cy wasted spark setup) . This can also be used for the coolant fan output, this allows you to run Water Injection on the X2 output and still use the coolant fan settings.

 


Shift Lights

The shift lights allow either a single light, a Tricolor LED cluster or Sequential Shift Lights.

Please note the Sequential and the Tricoloured options can NOT be used when running with SparkE set as an output, see the Software manual. e.g. a 10cy or 12cy wasted spark setup. If you want to have a shift LED with a 10 or 12cy then see the final option (single light using Output1)

The shift Light settings can be found under the Outputs section.

In the above example the 2 outputs will come in this sequence:

RPM Output pin 10 (JS7 V3.0) Output pin 11 (JS8 V3.0)
< 5800 0 0
= 5800 1 0
= 5900 0 1
> = 6000 1 1

 

Sequential Shift LED's:

Wired up this way the outputs give you a formula 1 style sequential system.
YOU must find the correct resistor values for the LEDs you use.
Values shown here are for Maplin high brightness 10mm LEDs with IF 20mA assuming 15V supply and forward voltage of 2V.

DigiKey part numbers:
Farnell part numbers

2N2222A = 497-2598-5-ND
1N4001 = 1N4001/4GICT-ND
1K resistor = 1.0KQBK-ND
680R resistor = 680QBK-ND
5mm Orange LED's = 511-1260-ND
5mm Yellow LED's = 511-1265-ND
5mm Red LED's = 511-1263-ND

2N2222A = 920-7120
1N4001 = 352-5326
1K resistor = 509-164
680R resistor = 509-140
5mm Orange LED's = 102-1300
5mm Yellow LED's = 102-1294
5mm Red LED's = 102-1286

Please note: Above part numbers will need checking, some components will come with a minimum order in multiples of 5 and 10.

PLEASE NOTE: Pin 10 = JS7 on a V3 pcb and Pin 11 = JS8 on a V3 pcb

Tri-Coloured LED's:

Maplin (UK Electronics Store) PD00A

Wired up this way the outputs give you a single cluster that changes colour.
Example circuit. NB. I haven't actually tested it yet.
YOU must find the correct resistor values for the LEDs you use.
Values shown here are for Maplin PD00A cluster Red IF=20mA, Green IF=40mA assuming 15V supply and forward voltage of 10.5V (red), 8.4V (green).

 

Single light

If you don't like the above, just wire up the pin 10 circuit above and set the lower limit only.

Another option is to simply wire an LED to Output 1 (X4 JS2) using the transistor circuit above and select RPM, this can be set as a warning LED for coolant, RPM, etc. The Shift LED can be wires this way using Output1 as the set point.

 


Map Table Switching
This feature allow you to swap between two fuel, boost and spark maps while driving. There are a number of possible applications for this - dual fuels, street vs. open header race settings etc.
Extra hardware is required for a switched input to JP1 pin 6 (JS9 on a V3 pcb).

Choose one of the following input circuits:

DigiKey part numbers:
Farnell part numbers

2N2222A = 497-2598-5-ND
1N4001 = 1N4001/4GICT-ND
2K2 resistor = 2.2KQBK-ND
1K resistor = 1.0KQBK-ND
10K resistor = 10KQBK-NB

2N2222A = 920-7120
1N4001 = 352-5326
2K2 resistor = 543-469
1K resistor = 509-164
10K resistor = 340-133

Please note: Above part numbers will need checking, some components will come with a minimum order in multiples of 5 and 10.

Once the circuit is fitted and tested then use the following options in TunerStudio to select which tables you want to switch between:
To change Spark Tables, go to Spark Menu, open Spark Table Selection:

Select Switch Tables to go from Spark Table 1 to Spark Table 2. Once one of this option is selected the Spark Table 2 will become active so you can then set the 12x12 Spark Table 2 up.

To change the VE Tables (Fuel tables), go to Advanced, Fuel Table Selections:

Please note this switches between VE table 1 and 3, NOT VE Table 2, as VE2 is for Dual Table use.

To change between Boost Target Table's Select the Switch Boost Targets Table to "Targets 2" and this will use the Boost KPa Targets Table 2 when the input

JP1 pin 6 (JS9 on a V3 pcb) goes low.




Tacho Output Pin

The tacho output pin is for use where the car's original tacho signal would have come from the ECU, or it can be used to create a high voltage pulse where a conversion from a single coil setup to a wasted spark setup has been carried out and the original tacho signal came from the switched 12V side of the coil.

Due to the vast amount of tacho's out there it is very difficult to give a suitable diagram, but these have worked for several installation:

 

If the above examples don't work then try fitting a variable resistor in line with the tacho signal and adjust the pot untill it works:

 

Options for High Voltage tacho's (rev counters that were fed from the coils -ve)

Another option for Hi Voltage output to a rev counter (rev counters that were fed from the coils -ve)

DigiKey part numbers:
Farnell part numbers

2N2222A = 497-2598-5-ND
1N4004 = 1N4004/4GICT-ND
1K resistor = 1.0KQBK-ND
Relay = Z2052-ND
1N5355B = 1N5355BMSTR-ND
2N5551A = 2N5551RLRAGOSTR-ND
10K pot = D1AA14-ND

2N2222A = 920-7120
1N4004 = 240-5441
1K resistor = 509-164
Relay = 127-0806
1N5355B = 933-296
2N5551A = 359-105
10K pot = 114-1404

Please note: Above part numbers will need checking, some components will come with a minimum order in multiples of 5 and 10.

 


Launch Control

Launch control works when the input (JP1 Pin4 for V2.2 pcb's or JS11 for V3.0 pcb's) is switched low from a switch on the clutch or brake. See HERE for a suitable circuit diagram, but use JP1 pin 4 for V2.2 or JS11 for V3.0. It retards the ignition to the setpoint when the RPM reaches the first limit, this reduces power and helps to slow the engine down. Then it goes into Hard Limit when the RPM reaches the Hard Limit setpoint. The style of hard rev limit is set by the Rev Limiter Types.
The Launch Control also has the option of a Variable Launch hard cut rev limit point. If its selected to ON in the setting screen then the ECU stores the current engine RPM as soon as the input is switched and uses that as its Hard Cut RPM setpoint. The switch must remain down untill the launch has complete as it stores a new value every time the button is pressed.
This is to enable you to alter the setting at the track without having to get the laptop out. We wouldn't recommend this with a clutch switch, as every time you put your foot on the clutch it will take in the rpm and use that as the limit, I would use a thumb switch or something similar as the launch switch in this mode.

The flat shift settings are for use with a clutch switch and allow for different limits when changing gear, so you can keep the pedal down to maintain the power from the engine. If you press the clutch switch above the flat shift arming limit then the code uses the flat shift limits and retards the ignition and hard limits at the flat shift set points. Any lower than the arming rpm and it uses the launch limits. This is NOT recommended to be used when using the Variable Launch function. To disable, set the arming RPM above your maximum rpm.

 


Idle Valves

The MS1 can only control idle valves using PWM (Pulse Width Modulation) this is generally valves that have 2 - 3 connections or it can control a switched valve, i.e. ON or OFF.

Please Note: Valves with 4 connections are usually stepper motors that MS1-Extra can not control.

The Ford valves and the Bosch valves used for testing have a resistance of just under 1 ohm and pull about 1.2 amps when connected directly to a 12V battery.
As standard the v2.2 Megasquirt uses a 2N2222A and the V3.0 uses a ZTX450. These transistor's are fine as a driver to control a relay, as they have a current rating of 0.8A, which is enough for a relay coil. This type of idle valve would be a single open/closed style valve with no control over how much air it lets in. But to drive a PWM idle valve directly (e.g. bosch or Ford idle valve), you need a more powerful transistor. You have two options. One is to use a ZTX650 or the tougher power darlington TIP122. ( I have tested the ZTX650 and this transistor gets VERY hot as the valve's current is very close to the transistor's limit, so if possible use the TIP122 as this is more than capable)

Option 1 (ZTX650)

V2.2 PCB, remove Q5 and fit a ZTX650 instead (some kits included this as standard - check before replacing.) Remove R16 (1k) and fit a 510ohm resistor instead. Check D9 is in place.

V3.0 PCB, remove Q4 and fit a ZTX650 instead. Remove R39 and replace it with a wired link to short the position out, this connects the emittor straight to ground.

Option 2 (TIP122)

V2.2 PCB Remove Q5, solder in wires as below to remotely mount the TIP122.
Fit a diode (IN4001) so the banded side is connected to 12V supply and the non-banded side is connected to the collector of the TIP122

DigiKey part numbers:
Farnell part numbers

TIP122 = TIP122FS-ND
Insulation = TO-218-70-ND
(optional) 33R 70W resistor = TEH70M33ROJE-ND
1N4001 = 1N4001/4GICT-ND

TIP122 = 929-4236
Insulation = 520-214
(optional) 33R 50W resistor =
114-1239
1N4001 = 352-5326

Please note: Above part numbers will need checking, some components will come with a minimum order in multiples of 5 and 10.

 

V3.0 PCB Remove Q4, Q20, D8 and R39. replace R39 with a wired link or solder the (E) emittor to the right side of position R39 rather than at the Q4 position.

The TIP122 needs to be bolted to the case or the heat bus bar as below, but it MUST be insulated, so make sure you use a mica insulator like on the flyback transistors.

A IN4001 diode needs to be fitted across the output so the banded side of the diode is at 12V and the non-banded side is connected to the FIdle output. To do this either connect it externally at the valve (banded side to 12V supply and non-banded side to FIdle wire) or internally to the MS ECU:

Diagram of TIP122 wired into a V3.0 PCB. Note the Emittor (pink) connected to the right of R39. Also note that the TIP122 is where R37 should be. There's no need to install this and R38 if you wish to use these positions for other components like the TIP122. Simply link out these 2 positions with a wired link. (this can be seen on the above picture)

 

V3.57 PCB, this is a little tricky so care must be taken. Fit the TIP122 and solder a wire to the base of it and to the right side of R19, next to U8. Then connect the Collector to SPR1 (you can use any of the db15 pads if you wish) and the emittor of the TIP122 connect to a GND pad on the V3.57 pcb. This will give you the FIdle valve output on pin 3 of the db37 connector (or what ever connector the pad you used is connected to), do not use the standard FIdle output connector on pin 30 of the db37. The TIP122 can be mounted on the case or in place of R37 on the heatsink if R37 is linked out, remember it MUST be insulated!

2 Wired Valves
These valves are wired between switched 12v and the Megasquirt FIDLE pin. Make sure the 12v is switched off when the megasquirt is off. Many looms contain a protection diode, leave it there.

Some valves will have a spring return to shut them, others have one to open them, so the duty cycle at hi and lo temps depends if the MS ECU has to drive it open against the spring or shut against the spring.
If the ECU has to shut the valve down against the spring to reduce air going through it as temp increases then the duty cycle will need to increase with temp, so the value at low temp will be around 0 and the duty at higher temp will be 100 or so. The opposite if the MS ECU has to force the valve open against the spring to increase air flow.

3 Wired Bosch Valves (0280 140 505)
The bosch valves can also be made to work via the FIdle output, these need the transistor mod as above and they need to be wired as the diagram below. The centre pin goes to +12V, one of the other 2 pins will hold the valve shut when its connected to ground (0V). This pin needs to go to earth via the resistor, the other pin goes to the FIdle output on the DB37 connector.

On a 3 wired valve there are effectively 2 windings that fight against each other, one opens the other closes it. So we put a resistor in line to ground with one winding, this shuts (or opens it depending on what winding you use) the valve, so its like having a spring holding it one way. The MS ECU then forces it either shut or open, it can do this as the resistor in the other winding limits how much it can force it one way.

    

Base settings for the bosch valve in Warmup Only mode:

Closed Loop Mode

The following are Jerry's comments (www.diyautotune.com) on setting up open loop on his Miata.
"Some engines struggle to idle when an extra load is put on them, such as with the A/C on, when you decel and come to a stop the engine struggles to recover a stable idle and often stalls. The fix--- First of it looks like you need a pot-type TPS for this which the 90-93 Miata doesn't have, but later models do. In the idle control dashpot settings you set this up so that when it sees the TPS go below a certain point, and the RPM drop below a set point as well, it opens up the IAC a set DC%. Here are my settings for my 95 Miata-- I can change these to disactivate it and immediately I start stalling again, set them back like this and it settles to a nice stable idle when I come to a stop with the AC on.

The TPS Threshold is in ADC-- you want it a bit below your lowest cruise TPS ADC, and above 'off throttle' ADC. The RPM setting is an addition to the interpolation of the fast and slow idle speeds above. So in this case fast is 1600, slow is 900-- so the interpolation is 1250. So by adding 500 to this we're telling it to activate when the RPMs fall below 1750rpm and the TPS is below 50 ADC. The Dashpot settle time has to be tuned a bit, too slow and it doesn't react fast enough, too fast and it gets into a funky oscillating idle loop and doesn't settle in right. 43-55 seems about right on my car, I'm still playing with this one. Dashpot adder DC is the DC% to add when this gets activated-- so we're adding 2% DC to the IAC when the TPS and Idle drop below these points. You can set it to 5% and watch it idle up really high when you come to a stop with the AC off, then settle down. 2% DC seems about right for me. It drops to about 1000 rpms, takes one tiny little bounce of like 100rpm, and then settles nicely."

Other Idle Valves

There are valves that need no control other than a 12V supply when the ignition is on. These heat up a bi-metalic strip that rotates a plate inside the valve and shuts the air down as the engine heats up, these are known as Extra Air Valves. They are becoming rare and hard to get old of, they were fitted to various engines, like the Flapper type RV8 EFI's. The Idle Speed has to be controlled with the throttle stop when using these type of valves, as the valve is only used to add air when the engine is cold.
Here is a Bosch example:


Water Injection

This feature allows control over a water injection pump and a fast acting valve. Please note this cannot be used if you select X2 (JS0) as fan control in Codebase and Outputs (see below):

DigiKey part numbers:
Farnell part numbers

2N2222A = 497-2598-5-ND
1N4002 = 1N4002/4GICT-ND
1K resistor = 1.0KQBK-ND
10K resistor = 10KQBK-ND
100R resistor = 100QBK-ND
Relay = Z2052-ND
IRLZ44 = IRLZ44N-ND

2N2222A = 920-7120
1N4002 = 240-5362
1K resistor = 509-164
10K resistor = 332-173
100R resistor = 331-934
Relay = 127-0806
IRLZ44 = 229-0765

Please note: Above part numbers will need checking, some components will come with a minimum order in multiples of 5 and 10.

 

The output X3 (JS1 for a V3 pcb) is driving a FET which in turn switches the fast acting valve from Aquamist (PtNo 806 244).

Please note: Whilst the water injection pump is on the O2 sensor is ignored (open loop mode), as the water would upset the readings.

The settings for Water Injection can be found under the Advanced menu:

When the manifold boost level (detected by the MAP sensor) and engine RPM are above the set values in TunerStudio and the Manifold Air Temperature is above the set value, the Pump is turned on via X2 for a V2.2 pcb or JS0 for a V3 pcb. X3 (JS1 for a V3 pcb) is pulsed at the same rate as injector CH #2 (this can be used to drive a fast acting solenoid). The theory being that if a water nozzle is selected to give a 15% flow rate of the total of the injectors flow rate then it follows that it should naturally give the right amount of water. So if your total injector flow is 2000cc/min (all of your injector flow rates added together) then a 300cc/min nozzle would give you 15% water to fuel ratio, which is a good starting point. i.e. 15% of 2000cc of fuel = 300cc of water.
The Manifold Air Temp is ignored once the water has turned on as this should reduce virtually straight away with the water evaperating in the air. The water system doesn't turn off again untill boost pressure or RPM has dropped below the set levels.

 


Constant Barometric Correction

When using the original map sensor for Manifold Pressure (Speed Density mode) you can gain constant barometric correction by fitting the same type of sensor to the input X7 (JS5 V3.0), it MUST be the same type as the main MAP sensor though!!

DigiKey part numbers:
Farnell part numbers

0.22uF Cap = P10971-ND
1K resistor = 1.0KQBK-ND

0.22uF Cap = 389-1215
1K resistor = 543-380

Please note: Above part numbers will need checking, some components will come with a minimum order in multiples of 5 and 10.

 

If you're using Alpha-n mode (NOT HYBRID ALPHA_N) then you can use the MAP sensor that's already on the MS board as a constant barometric correction sensor, but don't connect it to the manifold, simply leave it vented to atmosphere. In this case Select:

 


Knock Detection

Please Note: This feature is only suitable for use if your spark map is controlled by MS. E.g. MSnS, Edis, Neon, etc.

The MS ECU doesn't detect knock straight from a Knock Sensor, we need a amplifier / filter unit that gives a digital signal (5Volts hi or 0Volts lo) when knock is present onto pin 5 of JP1 for a V2.2 or JS10 for a V3.0 PCB. We, therefore, highly recommend you buy a pre-built knock amplifier / tuned filter from HERE, but if you prefer you can build this circuit, but this is NOT a tuned circuit, so setting it up can be a little difficult:

DigiKey part numbers:
Farnell part numbers

2N2222A = 497-2598-5-ND
1K resistor = 1.0KQBK-ND
10K resistor = 10KQBK-ND
39K resistor = 39KQBK-ND
620R resistor = 620QBK-ND
470R resistor = 470QBK-ND
LED1 = 511-1263-ND
10K 15 turn Pot = 3006Y-103-ND
10nF Cap = P10955-ND
LM324 = LM324NOS-ND
NE555 = 296-1441-5-ND
10uF Cap = 399-1418-ND

2N2222A = 920-7120
1K resistor = 543-380
10K resistor = 543-627
39K resistor = 543-767
620R resistor = 543-330
470R resistor = 543-305
LED1 = 102-1286
10K 15 turn Pot = 306-6137
10nF Cap = 303-8543
LM324 = 948-6917
NE555 = 598-9899
10uF Cap = 416-4374

Please note: Above part numbers will need checking, some components will come with a minimum order in multiples of 5 and 10.

 

The settings for the Knock Detection system can be found under Spark.

As long as the engine rpm is below the setpoint and the MAP KPa is below the setpoint then it will do the following:
If a knock is detected (JP1 HEADER Pin 5 goes low on the V2.2 pcb or JS10 on the V3 pcb's goes low) the ignition will retard by the first knock amount. Any more knocks are ignored untill the Wait Time has passed. If it receives another knock it will add a retard by the Subsequent Value and wait till the timer (Wait Time) has passed. If no knocks are found it will advance by the Advance amount and wait till the timer runs out before adding some more advance. If it receives any knocks during the advancing stage it will immediately retard and restart the timer. There is a max Retard Allowed setting so it can be pegged. There is also a built in limit of 30Deg Retard allowed, I can't see that being a problem.

 


Mass Air Flow Meters

This feature allows all fuel calculations to run from an in-line Mass Air Flow Meter rather than the MAP sensor. The sensor needs to have a 0-5V output voltage, it MUST NOT have a larger output voltage than 5V. Ford sensors seem to be compatible with this but please check before you connect it to your MS.

Sensors tested so far:

Ford F1ZF-12B579-AA AFH55-03B

DigiKey part numbers:
Farnell part numbers

2K2 resistor = 2.2KQBK-ND
0.001uF Cap = 495-1091-ND
1.0uF Cap = P10979-ND

2K2 resistor = 543-469
0.001uF Cap = 389-0934
1.0uF Cap = 286-916

Please note: Above part numbers will need checking, some components will come with a minimum order in multiples of 5 and 10.

 

To set the ECU up to use MAF rather than MAP you need to find the Advanced Code Options in the Basic / Load Settings menu.

The MAF input must be connected to X7 for a V2.2 PCB or JP5 for the V3.0 PCB. As most MAF's have a built in compensation for air density it is best to select Air Density Correction - Built into AFM, this sets the air density value in the fueling algorithm to 100.

To set TunerStudio up for MAF use, you will need to select "Air Flow Meter" from the Fueling Algorithms drop down menu when you are first creating a project however if need to change the Control Algorithm later this can be done by going to your project properties dialog. To get to the project properties dialog go to the "File" drop down menu > "Project" and you will see the menu option "Project Proprties" or you can use Ctrl + p.

To change the Control Algorithm to "Air Flow Meter" select it from the option in the Fueling Algorithms drop down menu (highlighted RED), then click ok to save your changes and exit the project properties dialog. Upon exiting your project will reload automaticly with the changes you have made.

In order to see the correct dials in TunerStudio that correspond to the MAF sensor then open the MSnS_Extra.ini file in a text editor from C:/programfiles/Megasquirt/TunerStudio/mtCfg/ and search for : "MAFGauge" you will find:

;Gauge Setup 5 Alpha-N / MAF

; gauge1 = tachometer
; gauge2 = tpsADCGauge
; gauge2 = MAFGauge

Change this to:

;Gauge Setup 5 Alpha-N / MAF

; gauge1 = tachometer
; gauge2 = tpsADCGauge
gauge2 = MAFGauge

To log the voltage from the MAF, open the MSnSExtra.ini file from C:/proramfiles/TunerStudio/TunerStudio2.25b/mtCfg/ and search for : "MafVolts" you will find:

entry = advSpark, "Spark Angle", int, "%d"
entry = egttemp, "EGT", int, "%d"
; entry = fuelpress, "Fuel Press", int, "%d"
entry = KnockDeg, "Knock", int, "%d"
; entry = XForce, "X GForce", float, "%.2f" ; X on X7
; entry = YForce, "Y GForce", float, "%.2f" ; Y on X6
; entry = MAFVolts, "MAF Volts", float, "%.2f" ; MAF on X7

Remove the semicolomb from in front of entry = MAFVolts and place a semicolomb in front of entry = egttemp:

entry = advSpark, "Spark Angle", int, "%d"
;entry = egttemp, "EGT", int, "%d"
; entry = fuelpress, "Fuel Press", int, "%d"
entry = KnockDeg, "Knock", int, "%d"
; entry = XForce, "X GForce", float, "%.2f" ; X on X7
; entry = YForce, "Y GForce", float, "%.2f" ; Y on X6
entry = MAFVolts, "MAF Volts", float, "%.2f" ; MAF on X7

 


Nitrous (N2O) Control

This feature gives you control over nitrous oxide injection (N20). At the simplest level it can ensure that a typical nitrous system is only activated about certain rpm etc. If you want to be more advanced you can retard the timing or switch to a new fuel and/or spark map when the NOS is activated.

DigiKey part numbers:
Farnell part numbers

2N2222A = 497-2598-5-ND
1N4001 = 1N4001/4GICT-ND
1K resistor = 1.0KQBK-ND
2K2 resistor = 2.2KQBK-ND
470R resistor = 470QBK-ND
Relay = Z2052-ND

2N2222A = 920-7120
1N4001 = 352-5326
1K resistor = 509-164
2K2 resistor = 543-469
470R resistor = 543-305
Relay = 127-0806

Please note: Above part numbers will need checking, some components will come with a minimum order in multiples of 5 and 10.

 

Basically this system gives a signal out on X3 V2.2 PCB (JS1 on a V3.0 PCB) to enable the NOS sytem when certain setpoints have been met. This can be used to switch on your NOS, if the system is armed or you can use a pressure switch which if it is made and the WOT switch is made then there will be an input onto pin 6 of JS1 (JS9 on a V3.0). The input can then be used to add fuel, retard ignition or to change the maps over. (Switching Fuel and or Spark Maps)

This system can add the extra fuel for use with nitrous and it can retard the ignition by a preset amount when it is activated. Spark table2 can be used with nitrous . Fuel VE table3 can be used with nitrous if you so desire to use it. If you don't want to switch over tables then ensure the boost, spark and fuel table selections are set to not switch over! See the Table Switching Notes in the MSnS Software Manual

NOTE: THIS SYSTEM DOES NOT ADD FUEL OR RETARD THE IGNITION UNTILL IT RECEIVES A LOW SIGNAL ON THE NITROUS CHECK BACK SIGNAL (JP1 Pin 6 for V2.2 pcb's or JS9 for V3.0 pcb's)
This is so you can arm the system in the cockpit and run the signal through pressure switches, etc.

Additional Fuel PW is calculated by interpolating between the user setpoints, so if you set the Turn N20 on at 3000 rpm and the NOS Max RPM to 6000 then the additional fueling will be interpolated between 3000 and 6000rpm. The amount of fuel added should reduce with engine speed as the same amount of NOS will be added at 3000 as at 6000, but more fuel will be added as there are more squirts of fuel at 6000. If you don't want to add extra fuel, due to having a wet setup, then simply set the Additional Feul PW's to ZERO as above. The O2 correction is turned off during the time the system is active.

IMPORTANT NOTE: If Duty Cycle goes above 90% the NOS System will be turned off (X3 or JS1 output will go low), this is for safety reasons. The additional fuel and retard will also be turned off, the system will reset when either rpm or throttle position are brought back under the set points.

CAUTION: The system will add fuel every squirt, so calculations would need to take into account that you may be squirting more than once per Engine Cycle!!! PLEASE BE VERY CAREFUL - MELTED PISTONS ARE EXPENSIVE!!

The NOS output can be delayed to come on after a flat shift or a launch so it doesn't cut in during that time.

If in Dual Table mode you can select which Bank to add the enrichment PW to.

Turbo Anti-Lag can be used when NOS is selected and the ECU receives a low input on the NOS Check Back Pin6 JP1 (JS9 on a V3.0) BEFORE it turns the NOS output on X3 (JS1 on a V3.0) then this will enable the NOS Turbo Anti-Lag. So if the MAP is between the KPa limits then the NOS output will turn on. This system is used to spool the turbo up between a certain KPa range using NOS.

 


Second O2 Sensor and Dual Table

DigiKey part numbers:
Farnell part numbers

5.1V Zener = 1N5231BDICT-ND
0.22uF Cap = P10971-ND
1K resistor = 1.0KQBK-ND
1M resistor = 1MQBK-ND

5.1V Zener = 931-767
0.22uF Cap = 389-1215
1K resistor = 543-380
1M resistor = 544-103

Please note: Above part numbers will need checking, some components will come with a minimum order in multiples of 5 and 10.

 

A second O2 sensor can be connected to X7 V2.2 (JS5 for a V3.0 PCB) this cannot be used with the EGT logging circuit as it uses the same ADC.

It is important that the same type of sensor is used for both O2 inputs!

This allows injector bank#2 (output pins 34-35) to have a seperate EGO Correction compared to inj bank#1. This is only available in Dual Table as it uses the ego corrections, from the Fuel Table2 enrichments page to control the EGO for bank 2.

EGO for Bank 1 is still controlled by Fuel Table1's Exhaust Gas Settings, the Injector Bank 1 is fired with reference to VE1 Table.
EGO for Bank 2 is still controlled by Fuel Table2's Exhaust Gas Settings, the Injector Bank 2 is fired with reference to VE2 Table.

To enable Dual Table go into Fuel Settings - Fuel Table Selection - set Use table to 2(DT). Once this is selected you must then set the Constants2 (DT) and the VE table 2 (DT) and if using the second O2 input for EGO correction then you must set the Exhaust Gas Settings.

 

 

 

 

 

 

Important: If using the second O2 sensor for correcting the second Injector Bank then it is HIGHLY recommended that VE table 2 is set EXACTLY as the VE table 1 unless you really know what you are doing!!

 


Exhaust Gas Temperature (EGT) Logging

This feature cannot be used with the second O2 sensor input as it uses the same ADC. It allows you to display and/or log Exhaust Gas Temperature. The code does nothing with the data to adjust engine parameters - it is just a logging feature.
We now have 2 cicuits to chose from as we have re-designed the circuit a little (change the top 10K resistor to a 15K) to allow a higher temperature reading. Please see notes below if using the 0-1250C (0-2280F) circuit. You need to build ONE of the following circuits:

 

DigiKey part numbers:
Farnell part numbers

1nF Cap = 495-1091-ND
220nF Cap = P10971-ND
10K resistor = 10KQBK-ND
1K resistor = 1.0KQBK-ND
AD595CQ = AD595CQ-ND

1nF Cap = 389-0934
220nF Cap = 389-1021
10K resistor = 543-627
1K resistor = 543-380
AD595CQ = 102-040

Please note: Above part numbers will need checking, some components will come with a minimum order in multiples of 5 and 10.

NOTES on EGT:

To View the EGT gauge in TunerStudio right click on any gauge while TunerStudio is running and select the EGTGauge.

If using the 1250C drawing then you will need to edit the msns-extra.ini file to read it correctly as the file is default to read 0-1000C.

So to read 0-1250C do the following:

Find the "msns-extra.ini" in "C:\Program Files\MegaSquirt\TunerStudio2.25\mtCfg".
Open the file in a text editor, e.g. Notepad
Search for this section:

#if CELSIUS
egttemp = { egtADC * 3.90625 } ; Setup for converting 0-5V = 0 - 1000C
#else
egttemp = { egtADC * 7.15625 } ; Setup for converting 0-5V = 0 - 1832F
#endif

change it to the following:

#if CELSIUS
egttemp = { egtADC * 4.90196} ; Setup for converting 0-5V = 0 - 1250C
#else
egttemp = { egtADC * 8.949 } ; Setup for converting 0-5V = 0 - 2283F
#endif

Now the readings will be 0-1250C or 0-2283F, depending on if your settings of C or F


Fuel Pressure Logging

 

 


Boost Control
This system is used to control the boost pressure from a turbo via a fast acting valve on the waste gate, but it is still EXPERIMENTAL and must be used with caution!

DigiKey part numbers:
Farnell part numbers

10K resistor = 10KQBK-ND
100R resistor = 100QBK-ND
IRLZ44 = IRLZ44N-ND

10K resistor = 543-627
100R resistor = 543-147
IRLZ44 = 229-0765

Please note: Above part numbers will need checking, some components will come with a minimum order in multiples of 5 and 10.

 

To use the Boost Controller please set X4 (JS2) function in the Codebase and Outputs function settings to Boost. This cannot be used with Output 1 as it uses the same pin X4. See the MSnS-Extra Software Manual for more info on this. A TPS is needed for this function to work.

The Solenoid PWM rate is the pulse width that is used to control the solenoid, this will need to be experimented with to get your system to react best to the controller.

The Controller Update is how often the ECU will look at the boost pressure and adjust the setpoint in mSecs.

The Proportional Gain is how hard it seeks the target.

Differential Gain means how it will react to sudden changes, it's roughly a predictive term, but for best results it probably has to be kept to a small value. Tune proportional first, leave differential for later

The Increase Voltage is for setting the valve so it operates the right way, generally as PWM Increases the Boost Increases.

Switch Boost Target Tables can be used when the Table Switching circuit is installed (see HERE) this simply switches between 2 target KPa tables.

Closed Loop KPa limit is the amount of boost difference allowed between the 6x6 Target KPa table and the actual boost value (MAP). E.G. if this is set to 50KPa then as long as the target was within 50KPa of the actual MAP KPa the ECU will continue to run closed loop (i.e. adjusting the PWM to try to get to the target value). Once the difference goes over 50KPa then the 6x6 Target KPa table is ignored and the 6x6 Boost Duty Cycle Table is used to calculated the PWM rate.

 

 


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.

Many thanks to Lance for giving us permission to edit and adapt his MS Manual for MSnS-Extra use.


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