DIYPNP Documentation for 1993-1994 Mazda MX6

1993-1994 Mazda MX6 USDM 2.5L KLDE MT

Test Vehicle Details:

The vehicle used for drawing up these application docs was a USDM 1993 Ford Probe 2.5L with a manual transmission.  All factory electronics/ignition system components are in place and the factory wiring harness is in satisfactory condition.

Other notes:
MAF in place
Aftermarket turbo kit installed
Exact injector size unknown, 330cc used for basemap ** Recalculate the Req_Fuel before using **

What to buy:


1- [Discontinued] DIYPNPN76-K Kit.  This is the main DIYPNP Kit including the Nippon Denso style 76-pin connector and all components, case, etc.

1- Tuning Cable  This is the same DB9 serial tuning cable used in other MegaSquirt applications.
1- USB Adapter  This is a DB9 serial to USB adapter.  The adapter is needed when the laptop or PC you are using does not have a built in DB9 serial port.
1- StimPower  This is a power supply that is normally sold to power a stimulator, but another use is it can be plugged directly into the DIYPNP mainboard to power the ECU directly, allowing you to load the basemaps and do limited testing on the ECU prior to installing the ECU in your vehicle.  It is particularly nice to be able to flash the firmware and load your configuration on the bench instead of in the vehicle, and allows for less risk of damaging something on the vehicle due to incorrect settings.
1- PNP_IAT-A or PNP_IAT-S AFM/MAF Delete kit. This is a simple kit with an IAT sensor, wire pigtail, crimp pins to poke into the AFM Connector to run the signal back to the ECU, and a steel or aluminum bung (hence the -A and -S in the part numbers).  Perfect for getting rid of a restrictive AFM/MAF with your DIYPNP install.

What tools you’ll need: Soldering Iron, Solder, maybe some desoldering braid in case you make a mistake.  Small phillips screwdriver.  That’s about it.

Startup Maps

Base Configuration .msq files to help you get your car fired up safely and quickly.  Ready to tune.

We’re including these maps prior to showing you how to jumper your DIYPNP up.  There’s a reason for that.  The base ignition settings contained in these maps should be loaded on your DIYPNP before you power your car up (with the key) with the DIYPNP installed.  This is to prevent damage to your ignition system in case the default settings are not correct for your vehicle. Note that you can power up the DIYPNP off the vehicle on a power supply connected to the power jack next to the DB15 connector.

So here’s our recommendation — After you complete basic assembly, Power up your DIYPNP one of two ways.  Either plug a Stimulator Power Supply into the front panel of the box (the easiest way), or, start the Jumper Section below, but only connect the power and ground wires to start with.  That way you can plug the DIYPNP into your factory wiring harness and safely power it from your car.  The third option, if you’ve fully assembled and jumpered your DIYPNP already, is to unplug your coils from their power connectors before plugging the DIYPNP into your factory harness and powering it from there.

Then and only then, you can flash the firmware on your DIYPNP to the MS2/Extra firmware if you haven’t already, and then load the startup map provided to help you get your vehicle started.

Click Here to Download Startup Maps for this Vehicle

Once the vehicle is started, you will need to use the MS2/Extra manuals to set the base timing and begin to tune the vehicle!  This is critical!  Do not drive an untuned vehicle!

DIYPNP Jumper Configuration

This section will cover the standard, basic jumper configuration required to get the vehicle running using your DIYPNP.

Vehicle Information

Market: USDM
Make: Mazda
Model: MX6
Year: 1993
Engine: 2.5L V6
Transmission: Manual

System Information

Main Board: DIYPNP v1.1
Minimum Code Version MS2/Extra 3.0.3 � 20090912

Edge Pin Connections

Main Adapter
VR IN + 4H
VR IN – 4F
VR2 IN + 4G
INJ1 4U,4W,4Y
INJ2 4V,4X,4Z
12V 1B
ALED (Fan) 4L

Pull Ups

Connection Resistance Voltage
IAC FB Diode Banded end to 12V

High Current Drivers

Output Enabled To Pin

Knock Circuit

Enabled Sensor + Sensor –
X 3M

I/O Circuits

Circuit Input From Out Pin To Purpose
Relay 1 PT6 4I VRIS 1
Relay 2 PT7 4J VRIS 2
Boost PA0 4M Fuel Prs Reg.
Input 1 1O (remove R14) 3P, 1L AC Fan & Clutch
Input 2

Miscellaneous Jumpers

On Off


RPM � � � VRIS 1 � � � VRIS 2

0-3250 � � closed � � closed
3250-4250 � � open � � closed
4250-6250 � � open � � open
6250-7500 � � closed � � closed

Ignition Settings

Spark Mode Toothed Wheel
Trigger Angle 10
Oddfire Angle
Use Cam Signal
Ignition Input Capture Falling Edge
Spark Output Going High (Inverted)
Number of Coils Single Coil
Dwell type Standard Dwell
Cranking Dwell 6.0
Cranking Advance 10
Maximum Dwell 6.0
Maximum Spark Duration 0.7
Trigger wheel arrangement Dual Wheel
Trigger wheel teeth 6
Missing teeth 0
Tooth #1 angle 60
Wheel speed Crank
Second trigger active on Falling Edge
and every rotation of Cam

Other Changes/Considerations

This section will cover changes that need to be made to the DIYPNP that go beyond the standard I/O jumpering, such as intake valve butterfly activation, on/off VVT activation, or other customizations to address the specific needs of a vehicle.

Radiator Fan

In the Jumper Notes above we’ve included a jumper for radiator fan activation using the ‘ALED’ circuit.  Include a jumper during assembly from the ALED terminal to Connectorboard 4L.  You can configure the fan activation in TunerStudio from the ‘Extended > Output Ports Settings’ Menu. 

VRIS Variable Intake

The Variable Resonance system inside the intake manifold is controlled by two vacuum solenoids and two vacuum actuators.  The control wires for both of these solenoids are conveniently available within the ECU connectors for us to take control of.  The solenoid for the first VRIS actuator is at pin 4I and the second is at 4J.  We chose to jumper PT6 to the input of ‘Relay 1’ and PT7 to the input of ‘Relay 2’.  ‘Relay 1’ out would be connected to 4I and ‘Relay 2’ out would be connected to 4J.  The activation and deactivation RPMs for each solenoid can be found above in the jumper chart notes area.  When properly configured the actuators should be receiving vacuum at idle.  You can configure the VRIS activation in TunerStudio from the ‘Extended > Output Ports Settings’ Menu. 

AC Fan and Clutch Relays

The signal from the AC control unit passes through the factory ECU to control the AC clutch and AC fan.  We chose to use ‘Input 1’ on the main board to condition the input from the AC switch to control the fan and compressor clutch.  You will want to remove resistor R14 or leave that component off.  Jumper from 1O to ‘Input 1’ in.  Jumper from ‘Input 1’ out to both 3P and 1L.

Fuel Pressure Control Solenoid

The stock ECU controls a solenoid to deny vacuum to the fuel pressure regulator and increase fuel pressure during warm starts.  We found after testing the engine turned over just fine with properly adjusted cranking, afterstart, and warmup settings and not using the solenoid.  We used PA0 as the input to the boost control circuit and output to 4M for this as the ‘Relay 1’ and ‘Relay 2’ circuits had already been used by the VRIS system.  We could have used WLED to drive this solenoid directly but decided to leave it open for the possible future application of a wasted spark distributorless ignition system.  The boost control circuit can double as an overkill relay control circuit if needed.  You can configure the solenoid activation in TunerStudio from the ‘Extended > Output Ports Settings’ Menu. 

Sensor Calibration

  • This vehicle does have a variable TPS.  You should calibrate it properly from TunerStudio in the ‘Tools’ menu.  Choose ‘Calibrate TPS’.

    • Make sure the engine is off, and the key is on.

    • With your foot off of the throttle, click the ‘Closed Throttle ADC Count – GET CURRENT’ Button.

    • Put the throttle to the floor.  With your foot fully depressing the throttle, click the ‘Full Throttle ADC Count – GET CURRENT’ Button.

    • Click Close.

  • Calibrate your CLT Sensor and IAT Sensor.

    • Again from TunerStudio, click ‘Tools > Calibrate Thermistor Tables’.  Make sure ‘Coolant Temperature Sensor’ is selected at the top.

      • For the CLT, use the following table with a bias resistor setting of 2490 ohms:

        Temperature    F / C Resistance In Ohms
        -4 / -20 15000
        104 / 40 1100
        176 / 80 300
    • Enter these values, and click ‘Write to Controller’.

    • Now you’ll do the same for the IAT.  Select ‘Intake Temperature Sensor’ at the top in the drop down box.

      • For the stock IAT inside the MAF on the KLDE use the following table with a bias resistor setting of 2490 ohms:

        Temperature    �F Resistance In Ohms
        -4 15000
        104 1100
        176 300
    • Enter these values, and click ‘Write to Controller’.  Now click Close to Exit.

  • Finally, you should calibrate your O2 Sensor to the ECU.  To do this, click ‘Tools > Calibrate AFR Table’.

    • Choose your O2 Sensor from the list.  Choose Narrowband for the stock O2 Sensor.  Or select your wideband and the proper configuration of said wideband from the drop-down list.

    • Click ‘Write to Controller’.  Once finished writing, click ‘Close’.

Deleting the MAF

The DIYPNP allows you to disconnect the Mass Air Flow meter. When you remove the MAF, you will need to install a GM style intake air temperature sensor in your intake. This sensor connects to the third and fifth pins on the IAT connector, as shown in the photos below. IAT sensors have no polarity, so it does not matter which wire you connect to which pin.

IAT Sensor:

Simply wire a GM Open Element IAT Sensor into your factory wiring harness at the MAF connector.  You can poke wires into the MAF connector, or you can cut and splice.


The wires should then be folded down over the edge of the MAF connector, and the whole assembly firmly and cleanly wrapped in high quality electrical tape sealing it up. 3M makes some good stuff that can handle the temps found in engine bays– read the specs.

Read the Manuals, You are Responsible for your own results!

This Application Doc is intended to assist you in your DIYPNP DIY EFI Installation.  We’ve done a fair amount of research, and actually tested on a similar vehicle to help ensure we can provide the most accurate information possible to make your installation go as smoothly as possible. That said, there are certain things you could do incorrectly, or certain things you could change up, that could cause you to run into issues.  Our tech support department will be glad to assist you working through any issues you might have, please contact us and give us that opportunity and we should be able to work things out for you.

Startup Maps included/attached to this Application Doc is intended only to help you get your engine started so that you can properly tune your engine.  The map will be setup properly for a stock vehicle matching the year/make/model/trim in the ‘Test Vehicle Details’ section at the top of this page.  If you have made any changes to your wiring, your ignition system, or other related components, this map may not be ideal for your vehicle.  You will then need to check and confirm the appropriate settings and properly configure your DIYPNP EMS for your altered vehicle.  Some maps offered may be more completely tuned that others, some may be just setup enough to get the car to fire up and idle with a little help from the throttle.  That’s when the tuning begins.

In short– We’ve provided you with the building blocks for an incredible EMS.  You are however responsible for the implementation and your own successes or lack thereof, but rest assured that we’re here for you and we’re going to do everything in our power to make sure your project is a success.

For more information on configuring and tuning your DIYPNP EMS, and for information on adding and tuning custom MS2/Extra features, read up at  In fact, everyone implementing this system should read that manual from front to back if you really want to harness the power of the DIYPNP EMS.

We’d love to hear your feedback on our DIYPNP Application Docs.  Click Here to offer feedback/suggestions!