Plug-N-Play Standalone Engine Management System


MegaSquirt PNP Pro Documentation

Model/Vehicle specific installation guide for model MSPNPP-MM0105 for a 2001-2005 Mazda Miata (ex. Mazdaspeed).

Please read all documentation before installing your MegaSquirtPNP EMS and verify that you've followed all steps before starting your engine for the first time.

Physical Installation

All you'll need for a successful installation are some basic hand tools. No cutting or drilling of the original sheet metal or bracketry is required.

For a thorough and professional installation, you will need the following items:

    • 10mm socket and ratchet

    • Zip Ties

    • Timing Light

    • Laptop with TunerStudio installed

The stock ECU is located under the driver's side dash board next to the steering column and is secured by two bolts.  The lower bolt is readily and visually accessible.  The upper bolt is on top of the ECU case and a bit more difficult to reach.  Remove these bolts and the ECU will drop down.  After the ECU is released from the mount, the three connectors will become more accessible and can be unplugged.  These connectors can be difficult to release as they're a fairly tight fit in the ECU socket as well as being located in a tight location, so be patient during their removal.  Press the locking clips and pull on the connector to unseat them from the socket. Slightly rocking the connector back and forth helps with removal.  Be cautious and apply as little pulling force on the wiring as possible.

Before installing the MSPNP, you must first run a vacuum line from the engine, through the firewall, and to where the MSPNP will reside.  A nipple on top of the intake manifold provides the perfect source for a vacuum reference.  Connect one end of the vacuum line here and route it neatly through the engine bay and secure it with zip ties to prevent movement and entanglement.

There is a large rubber grommet in the firewall on the driver's side corner of the engine bay.  CAREFULLY make a slit or hole large enough to pass the vacuum line through.  If you use a knife, use extreme caution as there are many wires in this area that you certainly don't want to damage.

Once the vacuum line is routed to the proper location under the dashboard, connect it to the nipple on the MSPNP.  Also, connect the three harness plugs to the MSPNP as well.

To mount the MSPNP, first remove the lower bracket from the OE ECU.  The MSPNP fits well in the stock ECU location between the brake and clutch pedals.  Reuse the lower bracket only from the original ECU and secure the MSPNP with zip ties to the lower ECU bracket at the bottom of the unit.  At the top of the MSPNP, use zip ties to hold  it steady against the clutch pedal bracket.



Verifying and Adjusting Base Timing

Because the factory ECU is no longer in control of ignition timing, it will be necessary to make checks to ensure the MSPNP is accurately delivering the proper timing.  Improper ignition advance can cause engine damage if improperly set or is left unchecked.

The MSPNP will have a base ignition map loaded and ready to use. However, it is necessary to ensure that the timing advance being commanded by the MegaSquirt is in sync with what the engine is actually receiving. These steps will require the use of a timing light and a laptop with a copy of TunerStudio running.

  1. Connect a timing light on the cylinder #1 spark plug wire. Use all due caution here, as secondary ignition voltage can be as high as 100,000 volts or more. Also ensure that the timing light's cords can not get tangled in moving engine parts or burned on hot components.

  1. Make sure your tuning laptop is connected to your MSPNP and start your vehicle. If you have not already done so, start TunerStudio MS or TunerStudio Lite.  Make sure that your laptop connects to the MSPNP and you are online.

  2. Navigate to the "Ignition Settings" tab and click on "Ignition Options/Wheel Decoder".  If "Fixed Advance" is set to "Use Table", set it to "Fixed timing". This will tell the MSPNP to ignore the ignition table and hold a fixed advance angle.  Set"Timing for Fixed Advance" to 10.0 degrees. Burn these changes.

  1. Use a timing light to confirm that you have 10 degrees of timing at the crank pulley -- the yellow mark will align with "10" on the indicator dial and the white mark will align with "T".  If you have more timing, decrease the "Trigger Angle" (green box above). If you have less, increase this value.

  1. Once the timing is set, click "Burn".  Set "Fixed Advance" back to "Use Table". Burn again and close this menu. Cycle power to the MSPNP (turn the car off and back on).  The MSPNP is now commanding timing advance based on the ignition table.

Removing the Mass Air Flow Meter

Since the MSPNP calculates engine load using a MAP sensor, the air flow meter is no longer needed.  While not necessary, it is recommended to remove the AFM for a small performance increase.  At the very least, the air meter should be unplugged and the connector neatly tied away.

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.  The bias resistor value is 2490.


Temperature (degrees F) Temperature (degrees C) Resistance (Ohms)
-4 -20 16150
104 40 1150
176 80 330


Cooling Fan Control

Menu Location Output Channel Function State Condition (Default)
Advanced Engine -> Prog. On/Off Outputs PWM2 Primary Cooling Fan On CLT > 195 deg. F.
Basic Settings -> Fan Control Injector I Secondary Cooling Fan On CLT > 200 deg. F.

Auxillary Function I/O Configuration

Below is a listing of funcitons for auxillary I/O used from the MS3Pro module:

I/O Point Function
High Current 1 (HC1) VVT
PWM2 Fan 1
PWM3 Alternator Field Control
Injector I (INJI) Fan 2
Injector J (INJJ) AC Relay
Digital Frequency In 1 (DFIN1) CEL
Digital Frequency In 2 (DFIN2) VSS
Digital In 1 (DI1) Clutch Signal
Digital In 3 (DI3) AC Request

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:

J2: Oxygen Sensor Selection
Place a jumper between the pins labelled "Front" to connect the front OE O2 sensor the the MSPNP.  Likewise, connect the jumper between the pins labelled "Rear" to connect the rear OE O2 sensor.

J6: Clutch Switch Connection
Remove this jumper if using the optional main connector to connect a user supplied clutch switch circuit.  Otherwise, the OE clutch switch will be directly connected internally.  The plug for this connector is not included and will need to be sourced by the user.

Optional use connector.

J8: Map Sensor Selection

The MSPNP has a built in MAP sensor, but you have the option of using either the original, external OEM sensor that is under the hood or add a sensor of  your own that is wired to the rear option connector.  Depending on your selection, J8 should be configured to match.  Furthermore, if an external sensor is used, ensure that the scaling is properly set in TunerStudio (Tools -> Calibrate MAP/Baro).

Default Selection in Red

J12: 5VDC Supply on Pin 9 of Serial Connector

The MSPNP is capable of supplying 5VDC to pin 9 of the DB9 serial connector for use with external devices such as wireless Bluetooth adapters. The 5VDC supply is disabled by default. To enable the supply, you must remove the lid (4 screws) and place the jumper across the two pins labelled "J12" located near the serial connector at the corner of the PCB.  Note that you will need a #1 philips or a "sharp" #2 philips to remove and replace the lid screws.

Rear Option Connector

An auxilliary connector and harness is provided to allow you to add functionality to your car.  Below is the pinout of the rear connector.

Pin Function Default Function Notes
A Sensor Ground    
B Knock Sensor 2    
C Analog Input 2    
D Analog Input 1 MAF  
E IAT    
F External MAP Sensor    
G CANL    
H +5VRef    
I CANH    
J +12V Ignition   Maximum 0.5 Amps
K Digital Freq. In 3  
L Digital Freq. In 2 VSS  
M Digital In 2    
N Clutch Signal    
O Digital In 4    
P PWM2    
Q High Current 3 Nitrous  
R High Current 2 Boost Control  
S Ignition D Logic Level    
T Injector H Logic Level   High Z or GPIO Only
U Ignition C Logic Level    
V Injector G Logic Level   High Z or GPIO Only
W Ignition B Logic Level    
X Injector F Logic Level   High Z or GPIO Only
Y Ignition A Logic Level    
Z Injector E Logic Level   High Z or GPIO Only

Immobilizer Warning Light

Please note that the MSPNP does not include functionality for the OE immobilizer.  Therefore, the fault indicator on the dahsboard will illuminate and/or flash.

5-5-20 - 1.2


The MegaSquirtPNP, as with any programmable engine management system, may not
be legal for use on pollution controlled vehicles and is therefore produced and sold for off road/race use only. Check federal/local laws.

MegaSquirtPNP, MSPNP, MegaSquirt PNP, and MS PNP, are trademarks of Hoffmann Innovations, Inc d/b/a