Model/Vehicle Specific information for model MSPNP2-MM9093 Version 2.0:
-
90-94 Mazda Protege
-
91-95 Ford Escort GT
-
90-93 Ford Festiva 1.3L
Please read all documentation before installing your MegaSquirtPNP ECU, and verify you’ve followed all steps before starting your engine for the first time.
Physical Installation
- Disconnect the Negative Battery Cable
- Remove the ST SIGN fuse from the under hood fuse box. You should not put it back in when you finish installation. Do not run the MSPNP with this fuse in place, ever. There are provisions in place to protect the MSPNP if this fuse is left in place, but it isn’t meant to be operated in this manner. REMOVE THIS FUSE!

This picture shows a Miata fuse block, but FWD applications are similar.
These cars have the ECU at the bottom of the console stack. To access it, you will need to remove the trim panels at the sides of the stack, below the radio. On many models, it is necessary to remove the heater duct as well. Then unbolt the ECU, lift it out, and use a screwdriver to release the catches that hold the ECU to the wiring harness. Plug the wiring harness into the MSPNP and secure the MSPNP to the floor with the included sheet metal screws.
You’ll need to hook up the MSPNP’s built in MAP sensor. Cut the vacuum line at the fuel pressure regulator and insert the included tee fitting. Run the vacuum line from this tee through a grommet in the firewall and to the barb on the back of the MSPNP.
We also recommend routing the tuning cable from the ECU to a location on the console of the passenger compartment, somewhere where you can easily tuck it away when not in use.
At this point, it is safe to power the ECU up, but please make sure you load the appropriate startup map for your specific engine before attempting to start the vehicle. Using the wrong startup map may result in a no-start condition, or even engine damage if the engine is driven hard before the correct map is loaded.
Verifying and Adjusting Base Timing
Once the MSPNP is installed, it is mandatory to check timing on Miatas. First, put the MSPNP in fixed timing mode by going to Ignition Settings -> Ignition Options/Decoder Wheel (For v1.2 MSPNP2s, go to Basic Setup -> More Ignition Settings). Set Fixed Advance to “Fixed Timing”, set Timing for Fixed Advance to 10 degrees, and click the Burn button.

While you can adjust the timing in the same manner as you would with a stock ECU, by adjusting the cam angle sensor, MSPNP gives you another option: adjust the trigger angle within TunerStudio under the spark settings. Increase the trigger angle to retard the spark, or decrease it to advance the spark. Adjust the number until the timing is at 10 degrees. TunerStudio lets you adjust the trigger angle from 0 to 20 degrees. If the trigger angle is out of this range, you should rotate the cam angle sensor to give you more trigger angle.


The above picture shows the location of the cam angle sensor for adjusting the timing the conventional way or if you need to adjust the sensor to obtain a better trigger angle. Use a 12 mm wrench to loosen the bolt holding the sensor in place so you can adjust the sensor position. If you use this method for adjusting the timing advance, set the trigger angle to 10 degrees in TunerStudio and turn the cam angle sensor until the timing is at a steady 10 degrees BTDC, then lock the cam angle sensor back down there and check the timing with the light to make sure the CAS didn’t slip. If you run out of adjustment, use the trigger angle setting in TunerStudio to get the correct timing.
The timing marks are on the front of the engine. The timing mark on the crank pulley may be hard to see; a dab of white paint down inside the mark (wipe off the excess) can help here. Once you have adjusted the trigger angle and/or cam angle sensor to get 10 degrees BTDC, turn off the fixed timing mode by changing the Fixed Timing setting to “Use Table.”

Fan Control
Your MSPNP is set up to use Output 1 (Formerly ALED) for fan control, under Boost/Advnaced -> Programmable On/Off Settings (for v1.2 MSPNP2s, select Extended -> Output Port Settings). The fan will come on whenever this output is on. Note that if the factory thermoswitch is plugged in, the thermoswitch can also activate the fan whether the MSPNP has commanded it to turn on or not, and vice versa – an “on” command from either the MSPNP or the thermoswitch will override an “off” command from the other.
VICS Control
Your MSPNP can be set up to use Output 2 (Formerly WLED) for VICS operation under Boost/Advnaced -> Programmable On/Off Settings (for v1.2 MSPNP2s, select Extended -> Output Port Settings). Enable the output to come on when RPM is >5700 RPM. Furthermore, a jumper must be moved within the MSPNP itself. Remove the top cover by removing the 4 screws (two at each end). Locate J4 and move the pull-off jumper to connect the left two pins as shown below:

Jumper setting to enable VICS
Removing the Vane Air Flow Meter
Since the MSPNP is speed density, you don’t need to have the restrictive factory air flow meter in place. We’ve found gains of 3 to 5 horsepower by replacing the air flow meter with a length of straight pipe. This does require one wiring change, as there’s an air temperature sensor in there. You’ll need to substitute a GM IAT sensor with the air flow meter gone. This sensor connects to the first and sixth pins on the IAT connector, as shown in the graphic below. IAT sensors have no polarity, so it does not matter which wire you connect to which pin.

Simply wire a GM Open Element IAT Sensor into your factory wiring harness at the AFM connector. You can poke wires into the AFM connector, or you can cut and splice. Wire one lead of the GM Sensor to the first wire at the AFM Connector, and the other lead of the GM Sensor to the sixth wire at the AFM Connector. The wires should then be folded down over the edge of the AFM connector, and the whole assembly firmly and cleanly wrapped in high quality electrical tape sealing it up. 3M has tapes, such as Super88, that can handle the temps found in engine bays.
After installing the IAT, turn the ignition key on but do not start the engine. Connect to the MSPNP with TunerStudio. Go to the Tools menu and select Calibrate Thermistor Tables. Select Air Temperature Sensor. Select GM from the Common Sensor Values drop down box. Leave the bias resistor setting at 2490.0 ohms. Click Write to Controller. This will update the sensor calibration in the MSPNP.
The IAT needs to be located where it will pick up the air temperature after anything in the intake that changes air temperature. So if you are using forced induction, it needs to be downstream of the turbo or supercharger and the intercooler. Here is a picture of an IAT sensor installed in a naturally aspirated car, with a cone filter taking the place of the stock airbox.

And here’s a picture of one way to bypass your AFM and still get your air filter on there (using a popular turbo kit and charge pipe kit), and more importantly, it shows you exactly where to weld the IAT bung to measure air temp AFTER the turbo, and AFTER the IC. You need to know the air temp as it’s entering the engine, nothing else will do us much good. If you are running forced induction this is critical, the stock IAT sensor in the AFM will not do.

Note: If you are using the MSPNP with a turbo or supercharger:
After you delete the AFM, install an IAT sensor in the location pictured above which is just before the throttle body inlet. The IAT needs to measure the air temperature as it’s entering the engine, not the ambient air temperature in the engine bay as would be measured by the AFM. Only by placing the IAT just before the throttle body can an accurate air temperature measurement be taken AFTER the compressor has heated the air, and the intercooler has cooled it. Accurate air temps are needed for proper fueling and ignition advance calculations.
Installing an Aftermarket Variable TPS
Though your vehicle did not come from the factory with a variable throttle position sensor, and a VTPS is not required for most of the features of the MegaSquirt EMS, the MSPNP-Pro-MM9093 provides functionality to add a variable TPS using the factory wiring harness if you would like to. Some features do require a TPS reading, and it can also help with properly dialing in your acceleration enrichments (though your MSPNP by default will use the MAP signal for this, sometimes TPS based AE are easier to tune).
Here is the pinout to use if you wish to convert to a variable TPS.

If you’re not sure which connection on your TPS goes to which wire, check it with an ohmmeter/multimeter. Observe the resistance as the throttle opens and closes. Each pair of pins will behave differently:
- The resistance between the 5 volt and ground pins will remain constant.
- The resistance between the ground and signal pins will be low with the throttle closed and high with the throttle wide open.
- The resistance between the 5 volt and signal pins will be high with the throttle closed and low with the throttle wide open.
Using these rules, you can establish which pin on the TPS goes to which wire. Note that we have not been able to find a TPS that plugs directly into the factory wiring and matches both the plug and the pinout, so you will need to do a bit of splicing to make this OPTIONAL modification.
Once you have the TPS installed, connect to the MSPNP with the key on and the engine off. Go to the Tools menu and select Calibrate TPS. With your foot off the throttle, click the “Get Current” button next to the “Closed throttle ADC count” line. Then hold the accelerator to the floor and click the “Get Current” button next to the “Full throttle ADC count” line. The maximum reading is 1023 and the minimum reading is 0, but it’s rare for a TPS to cover the entire range. It’s more common to see the closed throttle reading in the 0 to 300 range and the full throttle in the 700 to 1000 range, but as long as the full throttle is more than the closed throttle by 200 counts or more, the TPS is functional. If the full throttle count is less than the closed throttle count, switch the ground and reference voltage wires. Once you have obtained adequate numbers, click the Accept button and it will save the values to the ECU.
Sensor Calibration
If you need to recalibrate your temperature sensors, such as after loading firmware, here are the values to use for the stock sensors. These work for both factory CLT and IAT sensors. GM IAT sensors can use the defaults in TunerStudio

Auxiliary Outputs

Optional Configurations
Several jumpers are located on the lower, black circuit board inside the MSPNP. These are accessible by removing the top cover and are indicated as depicted below:

Default settings indicated in red
J4: Connector J3, Pin 4S Function
When a jumper is installed between the center pin and “VICS”, the VICS butterflies will be controlled by the MSPNP’s Output 2 (Formerly WLED) setting (FWD cars only).
J5: Variable TPS Enable
When this jumper is installed, it allows the use of a variable TPS. This should be installed on 94-95 Miatas and 90-93 Miatas with a modified TPS that generates a variable signal.
J6: Tach Out on Connector J3, Pin 4I (1995.5+ Miata Only)
Unused on this model.
J7: Sensor Ground Selection
In almost all cases, the jumper should be left installed between the center pin and “Signal Ground”. However, the option is given to allow the engine sensors to be grounded directly to the chassis.
J8: Cooling Fan Control
When this jumper is installed, the MSPNP will control the main cooling fan. If this jumper is left off, the thermoswitch located on the thermostat housing will automatically cycle the cooling fan.
ECU Rear Panel

MAP Sensor Connection
The small barbed fitting is for connecting the internal MAP sensor to a port on the vehicle’s intake manifold. The fitting is designed to work with a rubber hose with around 7/64″ – 1/8″ inside diameter, which is included with the MSPNP2.
Serial Tuning Cable
The MSPNP2 uses an M8-4 serial cable connection. When connecting the serial cable, the connector is keyed to prevent an incorrect connection; do not force the connector into place. Once the connector is seated, snug the connector shell into place a few turns in the clockwise direction.
Diagnostic LEDs
There are four small holes in the side of the case for viewing indicator LEDs. Looking at the side of the case, from left to right, this is their purpose:
- 12V Power: This light comes on when the ECU has power
- 5V Vref Power: Normally, this light comes on whenever the 12V Power is ON. Used mostly for specialized diagnostics.
- Tach Pulse: Blinks when you have an RPM signal
- Fuel Pump: On when the fuel pump is commanded
Rear Option Connector
A 26 pin rear auxiliary connector and harness is provided to allow you to add functionality to your car. Below is the pinout of the rear connector.


