There’s a lot you can control with the DIYPNP beyond fuel and ignition. Exactly what you can control will depend on the code loaded. This chart shows which points on the DIYPNP can be used for what function for current, beta, and alpha code variants. The DIYPNP also brings out the CANBUS for connection to expansion devices such as the GPIO board. (Note: There are a couple maps out with earlier 3.x code versions. They generally use the same outputs as the current 3.3.3. We recommend upgrading to the latest available MS2/Extra and loading the map as the current code is backward compatible with all earlier 3.x MSQ files.)
Here’s how to make these features work, in alphabetical order.
Baro Correction
The easiest way to make this work is to use a MapDaddy instead of the standard MAP sensor. Connect the baro output port on the MapDaddy to the port marked BARO IN next to the MAP sensor. This brings in the signal on ADC1. If using a different barometric sensor, you can wire its output to the BARO IN port or either ADC port.
Boost Control
We have provided a FET circuit to drive PWM boost control solenoids. Jumper the output connection you wish to use for the boost control to the IN connection next to R7. Jumper the OUT connection to the connection on the adapter board used by the boost control valve (if using a factory boost control valve) or a pin on the DB15 if you want to use an ECU-controlled boost controller on a car not originally equipped with one.
If using IAC as the boost control output, install a 5 volt, 100 ohm pull up resistor in the R5 position. Other ports do not need pull ups.
CANBUS Communications Network
The CANBUS is a network device for communicating with other Bowling & Grippo devices or third party add ons. You can jumper the CANH and CANL pins to the DB15 header to bring them out on the DB15. Right now there aren’t any additional devices available to hook this up to, but the GPIO board will be able to use this when it is released.
Flex Fuel Input
Although the GM flex fuel circuit is not standard on any car the DIYPNP is currently available for, the DIYPNP can use one if you have one installed. The sensor monitors the concentration of ethanol in the fuel and allows you to change your fuel mixture and spark timing based on the fuel composition. Simply connect the FLEX pin to a DB15 pin to bring the flex fuel input into the DIYPNP. For more information on flex fuel, see the MegaManual page on E85.
Knock Sensing
We’ve copied the MSnS knock circuit over onto this board. This circuit is untuned and should be used with caution – it’s more to protect you from a tank of bad gas than to fine tune your spark curve. Jumper the pins on the adapter board that bring the knock sensor signal in to the point marked Sensor In. If you have only one wire, hook it to the square hole marked +; if you have two wires, you’ll use both the positive and negative jumper holes. Installing the Enable jumper will bring the signal in on ADC2. The Knock Adjust pot can adjust the sensitivity.
You can also use external knock signal conditioning devices, which are often more accurate. To use one of these, you can bring its input in through the DB15 to the ADC1 or ADC2 pin. Normally, the signal the DIYPNP is looking for is a 5 volt signal that is pulled to 0 volts when knock occurs, though firmware allows switching this.
Launch Control
Launch control, aka the two step rev limiter, uses a rev limiter to hold the car at a designated RPM until released, for consistent drag starts. Use the Input 1 or Input 2 circuits for this. The IN pin on the input circuit connects to an external switch, and the OUT pin connects to an available output pin as indicated by the tuning software for this feature. The external switch connects to ground, and activates the launch rev limit when the input is grounded. The clutch switch usually works well for this.
Alternatively, you can use the +12 volt input – wire the IN pin to a switched 12 volt source, and the OUT pin to an available output pin as indicated by the tuning software. This will activate the launch control when 12 volts is applied to the IN pin.
MAP Sensors
The DIYPNP kit includes a 2.5 bar MAP sensor that can read up to 21 psi of boost. It can also accomodate the MapDaddy 4 bar MAP sensor for those who need a greater range. Neither one requires jumpers when installed in the MAP slot, except for the MapDaddy’s barometric correction output. However, you can also use external MAP sensors with the DIYPNP. To do this, simply jumper the MAP header pin to the pin on the adapter board that brings in the MAP signal. When using a MapDaddy or external MAP sensor, you must calibrate the DIYPNP for the MAP sensor curve under the Tools -> Sensor Calibration menu in your tuning software.
Mass Air Flow Sensors
Simply wire the MAF sensor pin on the adapter board to the appropriate ADC pin. You’ll also need to supply the MAF with a reference voltage from VREF in most cases. Note that if using the MAP pin, you cannot install the MAP sensor. MS2/Extra does not support using the MAP pin for a MAF sensor.
Board connection | Processor port | Firmware setting (B&G Code) |
MAP | AD0 | MAF on MAP Pin |
ADC1 | AD6 | MAF on Baro Pin |
ADC2 | AD7 | MAF on Knock Pin |
For more information, see the MicroSquirt MAF guide at the MicroSquirt Module website.
Nitrous Control
Bowling & Grippo code allows for fuel enrichment and timing retard when the nitrous is active. Simply ground the FLEX input when the nitrous is engaged.
MS2/Extra nitrous control is a bit more active and allows the DIYPNP to turn on the nitrous output. Use the Nitrous / 12 Volt input with the OUT wired to your chosen input port (ADC1, ADC2, or FLEX) and wire PT6 (stage 1) and PT7 (stage 2, if used) to the relay control outputs. For more information on nitrous, see the MS2/Extra manual.
Programmable On/Off Outputs
There are several ports available for on/off outputs. These supply ground to a relay, and may be used to activate cooling fans, variable intake solenoids, and other basic devices that are just on or off. Which outputs to use depends on your plans. WLED and ALED also function as spark outputs, so if you need spark outputs C and D, these are already taken. The MS2/Extra 3.x code can also use PT6 and PT7 for sequential injection output. Plan which outputs you use accordingly.
The IAC, WLED, and ALED outputs can all drive relays directly through FET transistors on the MicroSquirt Module. Simply connect these headers to the appropriate pins on the adapter board.
The other outputs (PT6, PT7, and PA0) require a transistor circuit. Jumper the output port you have selected to the IN pin on RELAY1, RELAY2, or RELAY3, then jumper the the OUT pin on the same relay circuit to the desired pin on the adapter board.
The 12 volt output can take a ground trigger output from IAC, WLED, ALED, or one of the relay circuits, and use it to supply 12 volts to a solenoid or relay. Use this for features like VTEC or GM fuel pumps that are powered from the ECU instead of grounded.
PWM Idle Control
This output comes out at the IAC header pin. To handle flyback better, we recommend running a 1N4001 diode in the pullup area. Install it in the R5 slot with the unbanded end at the left and the banded end in the far right (12V) hole. Other than that, you just need to connect the IAC hole to the pin on the adapter board that controls the IAC if you have a 2 wire PWM IAC valve.
To control a 3 wire IAC valve, install the ENABLE jumper next to Q13. Wire the OPEN terminal to the coil that opens the valve, and the CLOSE terminal to the terminal that closes it. No flyback diode is needed in this case as it’s built into the driver.
Second O2 Sensor
The ADC inputs can accept the signal from a second O2 sensor for engines that have split banks such as flat and V type engines. Simply wire the ADC pin to the output of a narrow band sensor or the analog output of a wideband controller. Note that you must have the same sensor type for both O2 sensors, and to take full advantage of this, you must have each bank on a separate injector output.
Sequential Injection
The MS2/Extra 3.0.3 and higher code allows for 4 channel sequential injection with a DIYPNP. This can run sequential injection on a 4 cylinder, or semi-sequential on a 6 or 8. To use this, you’ll need our DP_SEQMOD-K add on board. It attaches to the proto area with the included 10 pin header; just solder the header in place and run the two injector outputs over to the adapter board. Install it so the two injector driver transistors are pointed out over the proto area. For low impedance injectors, ground the GND hole on the adapter board to a GND hole on the main board (do not connect to SG).
Click HERE for full DIYPNP Sequential Module Documentation.
The above picture shows this module installed. Note that it sits over the top of a portion of the proto area but in most cases would still allow for use of the full proto area.
Stepper IAC
The 3.x code versions support using PT6, PT7, and PB4 (all working together) for stepper idle control. Some adapter boards such as the Delphi 56 pin have a built in stepper circuit. If you need a stepper on a model that does not have this circuit, see the Proto Area page for a schematic.
Table Switching
The DIYPNP can switch fuel and spark tables on command to accommodate different engine configurations or fuel octane ratings. Use the Input 1 or Input 2 circuits for this. The IN pin on the input circuit connects to an external switch, and the OUT pin connects to the PE1 input. The external switch connects to ground, and activates the alternate fuel and spark tables when the input is grounded.
Tach Output
The tach output jumper provides a 12 volt square wave tach signal compatible with many aftermarket and factory tachometers. If your car has an ECU-driven tach, simply jumper the TACH OUT pin to whichever pin on the adapter board connects to the tach wire.