Jump to content

MegaSquirt'nSpark MSS/MSnS installation guide


Recommended Posts

UPDATE area to curb confusion(maybe)

First, This entire document was written when my engine was basically stock(L28ET in 240z). This should be a good starting point for people and then you can re-tune as you do upgrades. My current setup is beyond this, I now have 450cc injectors among other things(see bottom of the post for my latest configuration and settings). I have not owned a z car for several years now so keep that in mind when asking me z specific questions.


use the tables in this guide for stock type settings

use the download for modifed settings(if your setup is similar to mine)


I am removing references to the old magnus code and recommend everyone uses MSnS_Extra029y4 code for MS1 installs. Use the jpeg settings to enter your setup into megatune.


The MegaSquirt'nSpark (MSS or MSnS) Install Guide

First of all the basics and disclaimers. Use this information at your own risk, don't assume that I know the best/easiest way to install MSnS. MegaSquirt (MS) is a fuel only computer that you build yourself from a kit and install on your car. MSnS is a version of code that runs on MS hardware and gives you the ability to control ignition with a two dimensional map based on RPM and manifold pressure. This document assumes you are using MS v2.2 hardware and MSnS_Etra029y4 code.




Here are the links to the MS and MSnS websites that will answer all of your questions about buying, building and testing the computer.


MegaSquirt Main Website



Car Craft MegaSquirt Article



New Link (8/10/2004) MegaSquirt Consolidated Forum



New Link (10/10/2006) MegaSquirt Extra Forum



Now that you are more familiar with MS and MSnS you will realize that MS does not support sequential fuel injection or wideband oxygen sensor or coil on spark plug ignition or any ignition for that matter or knock detection. MSnS does support ignition, but it is a simple scheme and does not support coil on spark plug or EDIS, etc. MSnS-Extra has support for more features like EDIS, AFR target tables, etc. Be sure to read up about MSnS-Extra, because it is constantly being upgraded. Even with these short-comings MSnS can be built and installed for around $200 and gives you batch injection like the stock ECU and distributor ignition like the stock ECU. But now fuel and ignition are fully programmable and since ignition is based on manifold pressure you can retard timing with boost. And, you get rid of the flapper AFM, that has to be good. In case you missed the order page the breakdown on price is:


MS partial kit ---- $50

MS Relay board - $15

MS Stimulator --- $20

Parts(Digi-Key) ~ $100

Aluminum Case ~ $25

Sensors (CLT,IAT,O2,TPS) varies for your install


So TOTAL cost of MS is at least $200 and maybe over $300 with the cost of sensors depending on your application.


To run MSnS code on MS hardware you have to give something up for ignition control. You give up Fast Idle (FIDLE). FIDLE now becomes the ignition output trigger with MSnS. Other than that, the board still works just like it did with MS code on it. You use MegaTune to change all of your fuel settings like you always did. You also use MegaTuneSS to change your ignition settings. You can only run one of these programs at a time, so you have to bounce back and forth to set up fuel and ignition.


If you only want to use MS instead of MSnS, then things become easier because you can just trigger MS from the coil or from tach output of an MSD unit if your using one.


Downloading MSnS on your MS hardware

First, go to the msefi extra forum and download the MSnS_Extra029y4. One misconception that I had was that to download new code on the MS board you needed the motorola programmer. That is not true. If your motorola processor has been programmed once(all of them are if you buy from Bowling and Grippo) then it has the bootloader code on it and now you can download new code using the download batch file. When you build MS add a 2 pin header at location H1, the boot header. This will allow you to easily use a 2 pin shunt(like on PC motherboards) to download new code to your MS hardware. Start the download batch file and follow the instructions.


Once the MSnS code is downloaded you can re-test your hardware with the stimulator board if you have one. The only thing now is that FIDLE will function as ignition output. Also, the center LED on the MS box use to be the warmup indicator, but now this is connected to ignition output as well. So you have an indicator that your ignition is firing, at least at the computer side.


Now you have MSnS tested and ready to install in the car. I'll assume you have used MegaTune to set your base fuel settings using engine displacement, number of cylinders and injector size. Also, you have used MegaTune2.25 to set up an initial timing table. Set MSnS to used time based cranking.


Install MSnS in the car (specific to 83 280zx turbo in 73 240z)

These installation instructions come from my specific installation onto the 83 280zx turbo engine in a 73 240z. It is probably important for you to know that I did the swap first with the stock ECU and had the engine running good in the 240z before I started the changeover to MSnS. Also, I had removed the EGR, AAC, VCM, charcoal canister, and other stuff I can't remember right now. The stock computer ran fine with all of this removed. I did have the usual problem where the car ran better with the O2 sensor disconnected, so I ran with it disconnected on the stock computer. Hopefully that will give you a little background on where my engine was prior to the MSnS changeover.


If you don't have an 83 turbo distributor (a distributor with the CAS inside) then you have to decide how to trigger MSnS. If someone confirms that the CAS on the crankshaft is an optical unit or not then we can come up with similar ciruits to try(Below is the quote from Tony with the newest updates for using the 81 CAS). Otherwise if you have an older distributor from an NA car, you may want to try the variable reluctor schematic to trigger MSnS. As soon as someone else confirms if these other trigger circuits work, I will etch them in stone here in the install guide.


Moby, just an update on the 81 CAS installation. I have been pondering the "adjustability" of the stock 81 CAS Module. I have been running 65 degrees where you have 78 in the ingniton cranking box to get it to run. Likle you said, You really can't be certian where your timing is....


I offer the following suggestion to people contemplating the 81 Conversion:

1) If at all possible, before doing the conversion, somehow adjust your timing to "0" (ZERO) BTDC with the stock system.


2)Pull the pulley off the front of the engine, and mark the orientation. Remove the five bolts on the back of the pulley, and removce the timing disc.


3) Trace the location of the alignment pin on a piece of paper, then rotate the tracing using the five bolts as a guide, to move one position to the counterclockwise as viewed with the crank seection of the pulley facing you. Mark the new alignment hole position, and drill a new hole.


4) Reassemble the pulley assembly and put it on the engine.


What you now have is a timing pulley altered by 1/5 of a circle or 72 degrees EXACTLY (360 / 5 = 72) If you have not readjusted the CAS to "0" beforehand, it should be approximately 92 Degrees BTDC (Stock 20 degrees = the Modified 72 Degrees = 92 BTDC) It then becomes a matter of entering this in your initial configuration box. You can then trim it as usual to give the exact number when you check with a timing light.


I would STRONGLY RECOMMEND that the TDC position be verified BEFORE and AFTER this operation and CLEARLY MARKED on the timing pulley. Finding mine was a PITA.


You can use this as an update. I finally did this to mine since I could never be sure where I was on the timing position with the adjustment of the CAS Module in it's bracket, and it seemed I couldnt' get the full 40 degrees, so I assumed it was due to not being advanced more than 40 degrees... This way you KNOW you are advanced at LEAST 72 degrees, allowing any timing advance you wish to set up to that point...


finally had a chance to do my pulley mod as listed above.

Linky: http://www.cardomain.com/memberpage/735451/8

FINALLY I have a timing mark that MATCHES my timing light! WooHoo!

Finally I am getting a full 40 degrees advance during the high vacuum, high rpms sections of the map. The engine is MUCH freer on the top end of the rev range as the adjustability of the CAS screw only allowed me to get maybe a total of 28 to 30 degrees total advance.


So I moved the pin hole to line up the Timing Wheel one bolt rotation advanced. I found that a 13/64'th transfer punch will work perfectly for transferring the hole from one timing wheel to the other (I sandwiched two together, one in the stock position, the other advanced on top of it, bolted to an old pulley), and using the same sized drill bit also allowed a nice tight fit on the factory Nissan Dowel in the back of the pulley.


The ONLY thing I did differently, was I lined up the trigger to the CAS line 8 "nubs" off from the place it set after finding TDC and marking it on the other side of the pulley. This 8 "nub" offset allowed me to set "120" on the spark Trigger Angle (what I figured was it was the roughly 72 degrees difference, plus the 30 degrees from the 8 "nubs" and some Kentucky Windage in aligning the CAS on the Bracket).

This puts the timing mark RIGHT at 9 degrees at an 850rpm idle speed, and well in advance of the scale's 30 degrees during a rev-up.


I have set no offset in the other screen. I will now work on the lights to get legal, and then start doing some road trimming. For once I can do something on the car, and it is actually verifiably tracked in the MSSTune.


IMO, I would not even TRY to mess around with adjusting the 81CAS, while the engine is out of the car, pull and modify the pulley, get your TDC marks set up on the altered timing plate, and bolt it all together before installing it in the car. I pulled the radiator to get to this stuff because I did it in-car. Putting the 81 CAS back to "TDC" is something you will have to do BEFORE you pull the pulley off also. Marking it after the mod is easy using typical TDC finding methodologies.

I am really suprised by how much better the car runs with the extra advance available!


First thing I did was remove the AFM, stock ECU and the 83 turbo wiring harness. I just had the EFI wiring harness from the 83 turbo car, some people rewire their whole car for the turbo swap so this part is open to interpretation. I bought six 6ohm 25watt resistors for $6 and made my own dropping resistor pack to use with the low impedance stock injectors. The MS manual explains how to use pulse width modulation (PWM) or dropping resistors.


Tony D. ascii diagram for wiring your injectors:

12V+ ----- Resistor Pack ----- Inj1+ Inj1(-)-----\

12V+ ----- Resistor Pack ----- Inj2+ Inj2(-)------SPLICE ----- INJ1(Gnd for Injectors thru MS)

12V+ ----- Resistor Pack ----- Inj3+ Inj3(-)-----/


12V+ ----- Resistor Pack ----- Inj4+ Inj4(-)-----\

12V+ ----- Resistor Pack ----- Inj5+ Inj5(-)------SPLICE ----- INJ2(Gnd for Injectors thru MS)

12V+ ----- Resistor Pack ----- Inj6+ Inj6(-)-----/


I also built the MS relay board which is very nice because it gives me a relay for power to the MSnS computer and a relay for the fuel pump. It also has a relay for FIDLE, but that is no longer used with MSnS.


You will have to get the other basics set up for MSnS to work (this is the stuff you would have set up for regular MS). This includes the coolant temperature sensor, intake air temperature sensor, oxygen sensor, fuel pump, injector wiring, TPS, MAP sensor, etc. I took an injector harness from an 85 olds V6 engine to use on my new harness for MSnS.


240sx TPS wiring

My 240sx TPS has 3 wires coming out of it to a seperate pigtail connector as well as a connector built onto the TPS sensor. The connector on the TPS sensor does not plug into anything. The wires that come out to the pigtail are connected to the relay board as follows:


Red to Vref

White to TPS

Black to TPS ret


I am using the GM 4 wire heated oxygen sensor. I am using the GM air temp sensor the MS manual recommends. I used EasyTherm4 to recalibrate to use the head temp sensor on the turbo engine. The Calibration values to use the CHTS are as follows:






Here is a link with easytherm calibration values for the 280z coolant sensor:




Once you have all of that connected then your ready to trigger MSnS. The following schematic shows how I connected MSnS to be triggered from the 83 turbo distributor. It was brought to my attention by another MSnS installer that the pullup resistor on the MSnS trigger(tach) line should be 1K instead of 2K like I use to have it. This will give a better trigger signal during cranking when the voltage can sometimes drop to around 9 volts. The schematic is updated to show this value of pullup and I am using a 1k pullup. Also, I should mention that I am using the trigger circuit on the MSnS hardware just like the assembly manual tells you to complete it for using the stimulator board. Diode D8 is shorted out and a jumper is installed from XG1 to XG2.


*see the note at the end of the document for a quick explanation of how pullup/pulldown resistors work and why you need them



if you use the wire at the dizzy, versus after the 4 pin round connector:


Dizzy side ------------ Harness Side

Red (12v) B/W

White (MS trigger) G/B

Green (not used) G/Y

Black (gnd) Black


In case your wires are unplugged from the base of the dizzy, here is some info from Mack:

if i hold the dist in my hand, with the rotor pointing away from me and the plug facing up, the green wire is above the white wire on the left and the red wire is above the black on the right.




These schematics also show How to connect to the GM 4 pin HEI module to fire the turbo coil. The HEI module I used was the Sorensen part number EL102 from advance auto. You can also get the Wells part DR100 from autozone. Both of these are around $13. I plan to use an MSD 6A unit down the road, but don't have specific install info for that yet. MSnS only outputs a trigger pulse for ignition, it cannot fire the coil directly or control dwell, but a GM HEI module or an MSD 6A will do both of those.




NOTE in the schematic that you have to add a pullup resistor to the TACH signal from the turbo distributor and another pullup resistor to the FIDLE signal on the GM HEI module. Beside the jumper to connect IDL to FIDLE, these are the only 2 pullup resistors you have to add to get MSnS to work with the L28et engine. For testing purposes I added the 1K pullup on the CAS signal between the tach input on the terminal block and the 12volt supply for the injectors. Since I didn't use all four of the 12volt terminals supplied for injector power, I had one left over to easily connect the pullup resistor to. I added the 1k pullup for the ignition output between the FIDLE terminal and the 5volt TPS reference volatge terminal. The TPS reference is just a 5volt source. On the relay board I inserted a wire with spade connections in place of the FIDLE relay so that the IDL signal from the computer gets jumpered to the FIDLE spot on the terminal block. That way I can use the terminal block FIDLE connection for my ignition module trigger.



Other options for your 2 pullup resistors: When removing the FIDLE relay and installing jumpers/pullup/pulldown resistors have the relay board schematic handy. Depending on your specific installation you may not need a pulldown resistor, but these instructions will give you more flexibility and cover more installations. Go ahead and install a shunt on jumper J1 in the 2&3 location so that Pin 3 of the relay socket becomes ground for a possible pulldown resistor. Pin 1 of the socket is already 12v for a possible pullup resistor. Now, if you want a pullup on the FIDLE line you can just add the resistor between Pin 1 and Pin 4 of the socket. If you want a pulldown add the resistor between Pin 3 and Pin 4 of the socket.


Check out the injector section of the Megamanual for more info on wiring and sizing your injectors.


One important thing with the GM HEI module is that is gets grounded by bolting it down in the GM distributor. So make sure when you connect it up to ground it good by bolting it somewhere. I bolted a ground wire to it for testing. The sorensen unit has a ring of metal that comes out of the plastic and surrounds one bolt hole to help ensure a good ground. Make sure to bolt the HEI module to a solid piece of metal or to a heatsink and use heatsink compound on it. It can generate a lot of heat. Having the invert output setting wrong will cause the module to overheat. Also, leaving the ignition switch on for long periods of time with the engine not running may burn out the HEI module.


Also, if you use the GM 4 pin HEI module, go into MegaTuneSS under trigger and cranking window and make sure the invert box is NOT checked. At first I had this box set to invert the output and it caused my cranking timing and running timing to differ by 20 crank degrees.



COIL wiring in the 240z

Like I said, I used the stock 280zxt coil. The schematics only show how to connect MSnS and the HEI module, but doesn't show all of the existing wiring in the car. My Turbo coil is wired as follows:


Black White (BW) wire connected to coil +

HEI module connected to coil + (as in the schematic)

coil + is connected to a condenser

condenser black wire then connects to the base of the distributor

coil - is only conected to the HEI module as in the schematic


The BW wire provides 12 volts to the coil when the ignition switch is turned on. The 240z originally had a ballast resistor to drop the voltage to the coil, I removed that so the turbo coil really gets 12 volts. Also, my Tachometer works with this setup, but I do have a 73 240z which rumor says that the 73 tach is different than earlier 240z tachs.


Variable Reluctor Distributor

If somebody wants to be a lab rat, I think the following schematic is one way you could trigger MSnS from a variable reluctor type distributor (like a GM distributor). Somebody let me know, but I think the 77 vintage of datsun/nissan distributor is a VR type, I don't have one on hand to check. BTW, this schematic is directly based off the schematic on the MegaSpark user group. To give credit where it belongs.




So now you have MSnS installed in the car and it is triggering, verified by watching the fuel injector LED flash or the RPM gauge in megatune. Also you are getting the coil to fire using the GM module, MSD 6A, or some other ignition module.


Setting the Timing for MSnS

First, set the engine to TDC on number 1(make sure your on compression stroke). Now turn the crankshaft back by hand to what you think is 50 or 60 degrees BTDC. Remember, you need to provide a trigger from the distributor at least 5 degrees before the maximum advance you will use. In my case I figured I wouldn't use more than 45 degrees timing, so set the crankshaft to 50 degrees BTDC. The timing marks on the stock crankshaft damper only show 30 BTDC so I eyeballed it and guessed where 50 would be, this does not have to be set close and you'll see why. You got it set to about 50 or 60 BTDC, now loosen the distributor and turn it by hand with MSnS powered on until you see the middle LED come on. Tighten the distributor. I had someone crank the engine while I held the timing light and checked the timing during cranking. On my table cranking is set to 5 BTDC. If the timing is not right you adjust it in MegaTuneSS under trigger and cranking. Here you change the trigger angle setting until your timing is right. So it doesn't really matter if you got the crankshaft set at 70 BTDC, because you'll fine tune it in the trigger angle. If for some reason you don't get is set enough BTDC, then some of your high advance numbers in the table will not work because the computer will not have enough time to get triggered and then re-issue the output ignition trigger. It is really easy once you start working with it and realize how simple the setup is. Here is a picture of the MegaTune software, it includes my settings to get my engine started.




Here are the settings I have in for the fuel portion of megasquirt, these are before tuning so only use to fire up your engine, then do your own tuning or risk pre-detonation and disaster. My ignition table is just a simple one based on some that James put up in the forum. Notice it just does a simple 1 degree retard as the boost climbs(should have been around 1degree per 1psi). The contstants are based on stock injectors and stock 2.8l engine size. The volumetric efficiency table is based on other peoples dynos of the stock engine at 10psi boost. I am currently running 10psi boost and stock injectors, haven't got the 450cc injectors on yet. My accel and decel enrichments are not quite right. But this should give a good starting point if you are around 10psi boost and stock setup otherwise.




Fuel Decel should be set to 100% in enrichments window(wrong in this picture)





Fire the Engine

So now MSnS is all set up, your timing is correct and reflects what is entered in the table. Your base fuel settings are entered and your ready to fire up the engine. Have the MS tuning section of the manual handy. Follow all of the usual precautions, have a fire extinguisher handy, remember to remove your grease rag from the air intake pipe and let her rip.


I am sure this install guide will skip a lot of information, so I will update it as new information becomes apparent to me. The post is unlocked so I can add updates. If good stuff gets posted in replies to this thread I will merge it into this top post so people won't have to read through 50 replies to find something. Good luck and get that MSnS running.



*Pullup/Pulldown resistor quick course

You use a pullup resistor to get your line(or pin,connection) to some voltage (5,12, etc). Suppose you want a pin to have 5volts. If you just add a wire to 5 volts there is nothing to limit the current and if the pin happens to be an input to a transistor that is switched to ground then you have a short to ground from 5 volts and you burn stuff up. So instead you add a resistor to the 5 volts and the resistor will limit the current according to ohms law. Current is voltage divided by resistance. If you put a 1k ohm resistor to 5 volts then if the pin is switch to ground by internal electronics it can only draw 5 milliamps max(the resistor current-limits the path).


A pulldown is similar except that you want a pin/wire connected to ground and you want the path to be current limited.


To size the pullup or pulldown correctly you should know what the circuit is that you are adding the resistor to. But as a general rule you can use a 1k resistor for 5volts and a 2k resistor for 12volts. That limits the current to a few milliamps which is conservative. Sometimes the circuit may require more current to operate properly.


For the pullup resistors I am just using 1/4 watt resistors.


I=E/R I=12v/1k I=.012 or 12 milliamps


P=I*E P=.012*12v P=.144watts little over 1/8 watt







One person used a pullup resistor valued at 1 watt and this apparently caused his setup to burn out HEI modules.


Below in the zip file is my newest MSnS settings for all the changes I have made to my car. Not to be confused with all of the other setting listed in this document which are for the stock swap. The caveat is that the VE map bins support up to around 18psi boost, but I have only tuned with my wideband to 14psi, so above that is un-tuned. And my wideband tuning was a "rough in" so do yourself a favor and use these settings with caution. I am also running with O2 correction turned off for now and decel fuel cut set to 100%.


The current configuration of the car is as follows:


stock replacement fuel pump from autozone

stock FPR

stock turbo

14psi boost

GM HEI module for ignition with zxt coil

60mm 240sx TB

SAAB 9000 intercooler

3 inch mandrel exhaust

JSK fuel rail

DSM 450cc injectors

stock intake manifold, ported for 60mm TB

DSM BOV if that matters

IAT sensor before TB in j-pipe

using stock air regulator to do fast idle control with coolant running through it

JSK TB spacer to allow stock air regulator hookup



Link to comment
Share on other sites

  • 3 months later...



I am also running on megasquirt&spark. I used a distributor from a 280zx. The one with the module on the side and used that to get a signal to the MS&S unit. The Fidle output is connected to a 4 pin HEI module as per instructions above. I still have the mechanical advance inside the dizzy so my ignition map is filled with just zeros. This way It still uses the mechanical advance and I can play a little with settings.


I had some problems though:


Ad first I tried to use a 4pin HEI module to signal the MS&S unit. This worked but only above 2000RPM. Below that, no spark. Maybe the leads from the pickup coil inside the dizzy to the module were to long? or was the resistor value to high (1k). It works now with the origonal module.


I can't advance my dizzy enough. It is at maximum advance and I am triggering at 40 degrees. Maybe I can skip al my wires to the next post on the dizzy and then retard the lot until I'm at about 55/60 dergees.



Thanks moby.

Link to comment
Share on other sites

  • 2 months later...

My MSD problem was resolved when Magnus (author of the MegasquirtNSpark code) rewrote a version of MSS for me that uses 50% dwell on the spark signal. That allowed MSD to run off the inverted output (like it is supposed to) perfectly. I did not end up needing an ignitor.


Oddly enough, I TRIED to go another route by using the exact same ignition module moby is using. My only conclusion is that the one I bought was bad, because I never got it to spark. Ever. But MSD sparked fine when I grounded (and then ungrounded) the signal wire by hand, so I knew it was working.

Link to comment
Share on other sites

  • 10 months later...

I am deleting all troubleshooting and other posts from this thread. I will move any important information into the sticky. I am going to try to lock this thread, if I can't I will just continue to delete any threads posted under the install guide. All posts with questions, suggestions, corrections, troubleshooting, etc should be put in a new thread. I am not picking on anyone, just cleaning up this thread so people don't have to search through 50 posts if there setup doesn't work to find out if anything important is contained in the rest of the thread. Thanks

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Create New...