DIYPNP Documentation for Ford Thunderbird 2.3L

Test Vehicle Details:

The vehicle used for drawing up these application docs was a 1936 Fiat Topolino powered by a USDM 1988 Ford Thunderbird 2.3L turbo manual transmission drivetrain.  All factory Thunderbird electronics/ignition system components are in place, minus the factory boost controller, and the extended wiring harness is in perfect condition.

Other notes:
MAF in place
Boost Control Solenoid kit added

What to buy:

1- DIYPNPF60-K Kit.  This is the main DIYPNP Kit including the Ford EEC-IV style 60-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 base maps 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 informationSystem Information
Market:USDMDIYPNP v1.5
Model:ThunderbirdCode Version:
Year:1988MS2/Extra 3.0.3U
Engine:2.3L Turbo
Edge Pin ConnectionsPull UpsIgnition Settings
MainAdapterConnectionResistanceVoltageSpark ModeBasic Trigger
IAT25ALEDTrigger Angle29
TPS SIG47OPTO+Oddfire Angle
VR IN +IACFlyback DiodeBanded end to 12VUse Cam Signal
VR IN –High Current DriversIgnition Input CaptureFalling Edge
OPTO IN +56OutputEnabledTo PinSpark OutputGoing High (Inverted)
OPTO IN –S1Number of CoilsSingle Coil
VR2 IN +S2Dwell typeFixed Duty
IAC21S3Cranking Dwell8
TACH OUTS4Cranking Advance10
FUEL PUMP22Knock CircuitDwell Duty50
INJ1*** 58EnabledSensor +Sensor –Maximum Spark Duration
INJ2*** 59Trigger wheel arrangement
12V37I/O CircuitsTrigger wheel teeth
12VInput FromOut Pin ToPurposeMissing teeth
12VRelay 1Tooth #1 angle
VREF26Relay 2Wheel speed
5VBoostPA0DB15 pins 1 & 2Boost ControlSecond trigger active on
SG16Input 1and every rotation of
SG46Input 2Notes
GND40* IGN1 to TFI circuit on connectorboard

** Radiator fan control

*** Use injector resistors

GND20Misc Jumpers
IGN1* 36
ALED** 55

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.

Fuel Injector Resistors

The factory fuel injectors for this vehicle are low impedance, around 2 Ohms each.  The injectors are wired back to the ECU in two banks on ECU pins 58 and 59.  We used two 10 Ohm 25 Watt resistors, one for each injector bank.  The wires would be run from INJ1 out to one side of the first resistor, and from the other side of the resistor out to connectorboard pin # 58.  You would duplicate this circuit for INJ2, and finish at connectorboard pin # 59.

Boost Control

The factory boost control system was not installed into the Fiat with the engine transplant so we installed this solenoid kit.  The boost control circuitry is already on the DIYPNP main board so the conventional mod kit is not needed!  Jumper from PA0 to “IN” on the boost control circuit.  From the boost control “OUT”, do what is most convenient.  This will probably be to re-use the factory boost control wire at connectorboard pin # 31.  Since this 2.3L was in a custom chassis, we were replacing a manual boost controller that had been mounted inside the passenger compartment.  We mounted the boost solenoid in the same location behind the dash and decided to run new wires since the engine harness was not run anywhere near where the boost solenoid was mounted.  We ran from the boost control “OUT” over to the DB15 pins # 1 and 2 in parallel.  We used two pins just to be sure we didn’t over-power the board traces.

Radiator Fan Control

The fan used on this install was an aftermarket single-speed fan wired back to pin # 55 of the EEC-IV connector.  If the factory fan(s) are being used, low speed control is on pin # 55 and high speed is on pin # 52.

The Fiat Topolino

The Pictures

We received a few pictures back from the Fiat’s owner with permission to post them up here.

Getting the engine started:

A power pull on the dyno:

Sensor Calibration

  • This vehicle has 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 / CResistance In Ohms
        68 / 2036000
        140 / 607200
        212 / 1002000
    • 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, use the following table with a bias resistor setting of 2490 ohms:

        Temperature    F / CResistance In Ohms
        68 / 2036000
        140 / 607200
        212 / 1002000
    • 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 IAT sensor on our 1988 2.3L was located in the intake path rather than inside the MAF like some other setups.  There are no modifications needed to remove the MAF from this setup when running a DIYPNP.  Unplug it, remove it, and set it aside!!


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!