No announcement yet.

DHP Software


Article Tags


There are no tags yet.

Latest Articles


  • DHP Software
    DHP PowrTuner

    DHP PowrTuner is an OBD-II tuning device.

    DHP PowrTuner v1.2.4 [04/26/07]
    DHP Database Update [05/21/07]
    DHP PowrTuner Manual
    02-14-2011, 02:17 PM
  • How to: Megasquirt2 v3.0 and Megatune
    First step is to plan and buy your Megasquirt. I used a v3.0 board and a MS2 processor.
    Currently, the latest board release is v3.57 and processor is MS3. However, you do not need a v3.57 board to install a MS3 processor. It will work for either board version.

    I recommend a V3.0 board because it currently has the best documentation. However, the 3.57 board is pre-assembled if you are not handy with a soldering iron. If you choose a 3.57 board, you need to know this information to use this write-up.

    $430 Includes MS2 processor

    $253 not including processor.

    Processor choice is completely up to you.
    The MS2 processor has the best documentation and is easy to set up and use. However, it only has a limited number of inputs and outputs and cannot handle advanced engine operations like sequential fuel injection.


    The MS3 processor is very new and much more advanced. It is highly expandable and is for a true enthusiast.

    $199 This article however, only covers the MS2 processor.

    You can optionally buy the Megastim. The stimulator acts as a 'digital car' and is used for assembly/testing/flashing purposes. I highly recommend you buy/build one. It can be good practice if you haven't used a soldering iron in a while.



    A lot of the information in this write-up is word for word from Megamanuals V3 assembly guide. But I'll just use the information that's relevant to 60degreeV6s.

    You will be referencing this image a lot to identify locations of the components as you are installing them. I recommend you print it.

    Power circuit
    Install and solder the male DB-37 header (P2) {A23289-ND or A32103-ND} on the PCB. The connectors require a bit of force to 'snap' them into place. Solder all of the pins to give the headers the maximum physical strength. Then install and solder the female DB-9 header (P1) {A23305-ND or A32119-ND}.

    Next, install the 40-pin DIP socket {AE7240-ND or AE10018-ND} for the processor - notice that the notch installs near the bottom of the board, corresponding to the PCB silk screen. The socket must be installed from the top of the board, and soldered from the bottom side. To prevent the socket from falling out while you turn the board upside down and solder, you can use a bit of scotch tape across the socket to hold it in place (this works for many of the ICs and some other components). Carefully solder the socket, and inspect each solder joint for shorts (to adjacent pins) or cold joints (solder applied to a joint the isn't hot enough to flow properly, typically they won't have a nice 'cone' to the solder).

    Next, you are going to install the components that make up the power supply, and then verify operation. The first part to install is the 'Perry' Metal Oxide Varistor MOV1 {P7315-ND}. This is a large flat disc, about an inch (~25mm) in diameter. It is soldered near the DB37 connector, and does not have a polarity, it can go either way around. This part protects the MegaSquirt from surges on the 12 volt line.

    Install the capacitor C15 {399-4202-ND, 0.001 F, 102 marking}. This goes near the MOV1 you just installed, between it and "Grippo" in the copyright notice.

    Install and solder C16 {399-1420-ND or 399-3584-ND, a tantalum capacitor, 22 microFarads (F), 226 marking} - make sure polarity is observed. It has a small + near the positive lead. The longer lead is also always the positive lead. It is located next to the DB9 connector.

    Install and solder C17 {399-1420-ND or 399-3584-ND, tantalum, 22 F} - make sure polarity is observed. The longer lead is positive on all of the capacitors. It is located next to the C16 capacitor you just installed, near the DB9 connector.

    Install and solder C18 {399-4329-ND, 0.1 F, 104 marking}. This installs near the DB9 connector, just above (closer to the heat sink area) the C17 capacitor you installed in the last step.

    Install and solder C19 {399-4329-ND, 0.1 F capacitor, 104 marking}. This installs near the CPU #1 pin.

    Install and solder C23 {399-4329-ND, 0.1 F capacitor}. This installs near CPU pin #21.

    Install and solder C22 {399-3559-ND, 4.7 F electrolytic} - make sure polarity is observed. It is located very close to C23.

    Install and solder D9 {1N4001DICT-ND} - make sure banded end is installed correctly as per board. This installs near the DB9 connector, very near U5 on the heat sink. To do this, make sure the end of the diode with the band on it goes to the end of the silkscreen (at D9) that has the band nearest it.

    Install and solder D10 {1N4001DICT-ND} - make sure banded end is installed correctly as per board. This is installed near the MOV1 you installed earlier.

    Install and solder diode D11 {1N4001DICT-ND} - make sure banded end is installed correctly as per board. This is installed near the MOV1 you installed earlier.

    Install and solder D12 {1N4749ADICT-ND, 24 volt Zener} - make sure banded end is installed correctly as shown on the printed circuit board. This installs very near D10 and D11.

    Install and solder diode D13 {1N4742ADICT-ND, 12 volt Zener, 1N4742 marking} - make sure banded end is installed correctly as per the board. It is located above the column of capacitors above "Grippo" in the copyright notice.

    Install and solder diode D19 {1N4734ADICT-ND, 5.6 volt Zener, 1N4734 marking} - make sure banded end is installed correctly as per the board. It is located in the upper right section of the board (near the DB37 and heat sink), below the Q14 and Q10 transistor and R32, R30 & R31 resistors.

    Install and solder L1 {M8388-ND, inductor, 1H, small coil of wire with leads}. It is installed near the notched end of the CPU socket. Space the inductor about 1/8 (3mm) off the PCB to avoid shorts on the traces underneath.

    Install and solder L2 {M8388-ND, inductor, 1H}. It is installed between the CPU socket and the DB9 connector. Space the inductor about 1/8 (3mm) off the PCB to avoid shorts on the traces underneath.

    Install and solder F1 and F2 {RXEF050-ND}. These are Amp poly fuses (small yellow discs that look similar to some capacitors) that acts like a circuit breaker on the 5 Volt supply to the PCB from the regulator. F1 installs very near the DB9, in the middle of some of the capacitors you have already installed. F2 installs near the center of the DB37 connector, and very close to it.

    Install the voltage regulator U5 {LM2937ET-5.0-ND}. This part installs near the DB9 connector on the top of the board. Use heat-sink compound on the tab, and use the nylon screw and nut to fasten to the PCB. The leads go through the board and are soldered on the top side.

    Install a jumper from the hole marked S12C to the hole marked JS9 (+12C). These are on the bottom side of the board, on the DB9 side of the processor.

    Connect the following jumper wires to control your GM IAC valve:
    • Connect (1A)JS0 (under the processor socket) to IAC1A (near the DB37 connector) - this brings out IAC1A on DB37 pin #25
    • Connect (1B)JS1 (under the processor socket) to IAC1B (near the DB37 connector) - this brings out IAC1B on DB37 pin #27
    • Connect (2A)JS2 (under the processor socket) to IAC2A (near the DB37 connector) - this brings out IAC2A on DB37 pin #29
    • Connect (2B)JS3 (under the processor socket) to IAC2B (near the DB37 connector) - this brings out IAC2B on DB37 pin #31

    Since we will be using an ignition output signal to control an ignition module with MS-II, jumper JS10 to IGBTIN, then jumper IGBTOUT to IGN. JS10 is on the bottom side of the board under the processor slot.

    If you want to use CAN communications (if you plan on using an electronic trans and plan on building a GPIO board to control it), jumper JS6 to SPR1/CANH and JS8 to SPR2/CANL

    Testing the power circuit is important to make sure you built everything correctly. Directions for testing can be found on the megamanual V3.0 assembly instructions - Step 23.

    Serial Communications Circuit

    First step, install capacitors C26, C27, C28, and C29, {all 399-4329-ND, 0.1 F, 104 marking} by soldering them in the appropriate locations near the DB9 connector.

    Next, solder the serial communication MAX232, U6 {497-2055-5-ND} - note the proper orientation on the silk-screening.

    Testing the com circuit is important to make sure you built everything correctly. Directions for testing can be found on the megamanual V3.0 assembly instructions - Step 26.

    Clock Circuit Install C1 {399-4329-ND, 0.1 F, 104) and solder. This is located near pin #20 of the CPU socket. Install and solder C20 {399-4361-ND, 0.033 F, 333 marking}. It is located in a row of three capacitors above the L1 inductor you installed (above ".info" in the copyright notice) Install and solder C21 {399-2075-ND or 399-4326-ND, 0.01 F, 103 marking}.
    02-06-2011, 02:09 PM
  • Heated O2 Sensor Install
    This is a how-to on installing a heated oxygen sensor into your car. The benefit of a heated oxygen sensor is that your car will go into closed loop much quicker, which means the ECM is adjusting your fuel based off of the sensor and not maps. By doing this your car will run better quicker on cold start-ups. It will also improved fuel consumption during start up, as well as reduce emissions.
    First, you will need to get a 4-wire heated O2 sensor with the pig-tail.
    01-21-2011, 08:15 PM
  • Setting up HPTuners for a 60V6 Engine
    HPTuners is an OBDII scanning and programming suite that is currently being updated for better support to the 60V6 community. Before you begin tuning, it is important that your car is in the best physical condition possible.
    10-02-2010, 02:24 AM
  • Detailed Sensor Descriptions
    Contents1 Knock Sensor (KS)2 Exhaust Gas Recirculation Valve (EGR) 3 Coolant Temperature Sensor (CTS) 4 Throttle Position Sensor (TPS) 5 Intake Air Control Valve (IAC) 6 CPC 7 Oxygen Sensor (O2) 8 Ignition Control Module (ICM) 9 Park/Neutral Switch 10 Power Steering Switch 11 Intake Air Temperature (IAT) / Mass Air Temperature (MAT) Sensor 12 Crank Sensor (CS) 13 Manifold Absolute Pressure Sensor (MAP) 14 Fuel Level Sensor 15 Oil Pressure Sensor 16 Oil Level Sensor Circuit 17 Vehicle Speed Sensor (VSS) Knock Sensor (KS) This sensor is screwed into the block and detects detonation. If knocking or pinging is sensed the ECM will retard the ignition timing to prevent serious engine damage. Depending on the strength of the knock the ECM will pull a set amount of timing very fast and then slowly reduce the knock retard back to 0 or more knock is encountered, whichever happens first. The circuitry in the knock sensor pulls the +5V input voltage down to 2.5V, the knock sensor then produces an AC voltage that rides the 2.5V DC voltage. A knock will cause a voltage spike in AC voltage that oscillates about the 2.5V bias, if the spike is above 3V it is considered knock. Exhaust Gas Recirculation Valve (EGR) There are 3 types of EGR's: vacuum, digital, and PWM. Vacuum is vacuum so I'm not talking about that one. The purpose of the EGR is to reduce oxides of nitrogen (NOx) emissions. From AllData: "The atmosphere is made up of mostly Nitrogen, with a smaller percentage of oxygen, and a mixture of other gases. Oxygen and Nitrogen do not normally combine except at very high temperatures and pressures, conditions which are present in the combustion chamber especially during hard acceleration. When the engine is under load, the EGR valve admits a small amount of exhaust gas into the intake manifold to mix with the air/fuel charge. The exhaust gas is essentially inert (contains no fuel or oxidizer) and reduces peak combustion temperatures and pressures by absorbing some of the heat of combustion without participating in the actual burn. Greater amounts of exhaust gas are metered in as engine speed and load are increased." The digital EGR uses 3 different sized solonoids, think of it as a low/meduim/high setting and the combonation of the 3 solonoids activating can vary how much exhaust is let into the intake. The new design is the Pulse Width Modulation (PWM) solonoid which is basically infinate in its adustability while the digital is somewhat stair-stepped. Coolant Temperature Sensor (CTS) The CTS is usually located in the lower intake somewhat close to the thermostat. Since the coolant temp is usually the same or higher then then temp of the lower intake the sensor is fairly accurate. on most body platforms there is seperate CTS sensor that runs the dash coolant temp guage. The sensor is a thermosistor, as the coolant temp gets higher the resistance drops. The ECM supplies the sensor +5V and measures the voltage drop through the thermosistor to determine temperature. Some resistance vs temperature values follow: F Ohms 210 177 158 467 104 1459 68 3520 32 9420 -4 28680 -40 100,700 The sensor is used for open/closed loop operation and is used in the calculation for fuel and ignition. Throttle Position Sensor (TPS) This is actually just a potentiometer (variable resistor, sometimes called a rheostat), by turning the throttle body plate it rotates a shaft in the sensor causing different voltages to output. There are 3 wires: ground, +5V, and the sensor output. The different resistances caused by the rotating shaft vary the voltage output o*n the sensor output wire, the ECM then measures this voltage to determine how far the throttle is open. The sensor is located o*n the throttle body opposite the throttle lever. 0% throttle is usually about .5V and 100% throttle is around 4.5V Intake Air Control Valve (IAC) The IAC is located in the throttle body and controls idle speed and prevents stalling do to varying engine load. It controls the amount of air that is bypassed around the throttle plate, more air the idle increases, less air the idle decreases. The IAC has a conical shaped tip that it moves in and out to block/open the bypass air passage. The IAC is moved in small increments called "counts" and can be read by most scan tools A stuck IAC will cause a high idle, low idle, or perhaps correct idle but it won't change if you turn the A/C on (idle increases with A/C). CPC There is a vent on the gas tank that goes into a charcoal canister so that gasoline vapors do not vent to atmosphere, the CPC solonoid is hooked up between the charcoal canister and engine manifold. The solonoid is a Pulse Width Modulation (PWM, variable output) solonoid, turned on it blocks flow, turned OFF it allows. If the engine is warm, has been running for a set time, above a speed, and throttle is above a set point the ECM turns the solonoid OFF allowing the engine vacuum to suck the gasoline vapors out of the charcoal canister. Oxygen Sensor (O2) The oxygen sensor measures the amount of oxygen in the exhaust system to determine if the engine needs more or less fuel. A regular oxygen sensor is sometimes referred to a narrow band o2 sensor (NBO2) because it is only accurate at stoich (14.7 air fuel ratio (AFR)) which is where an engine will produce the least emissions. As you can see by the image below, a NBO2 is only good at telling you if your are rich or lean but never how rich or how lean you are. A narrow band O2 is a switching type, reading rich, lean, rich, etc. If you graph the voltage output it looks quite a bit like what siesmograph or lie detector needles sketch. When the ECM is using the O2 sensor to correct the fuel tables it measures how long it is lean and how long it is rich, if they are equal then the AFR is at 14.7 right where it should be. O2 "counts" is how many jumps back and forth it makes. Due to its nature a NBO2 is all but useless for PE (power enrichment, hard acceleration) where the most power is made with a richer then stoich. You can tell that you are rich but not how rich which leads to more difficult tuning. A wide band O2 sensor on the other hand is not a switching type, and will read accurately from a wider range (hence narrow and wide band). St...
    09-09-2010, 09:05 PM
  • EEPROM Code
    Code is a language that computers or simple electronics understand, it serves as an instruction set to check what sensors are doing, and tells other electronic devices of the motor what to do and how to do it. For example, fueling and spark. "Code" what we refer to when tuning our ECU's, can be compared to as an ISO that is burnt to a CD. Or if you are not computer savvy, can be thought of, written letters and sentences on a piece of paper. The paper being the EEPROM and your writing as the code. With the proper hardware and computer programs, we read the c...
    09-09-2010, 07:23 PM