Engines covered:

Much of this article will apply to other 1980s
era GM cars including injected big blocks and even fire V6s.

TPI and TBI

The Tuned Port Injection and Throttle Body
Injection versions of the small block Chevy and used very different hardware, but
similar electronics. Not only do they show up in many trucks such as the
C1500 pickup, but also Camaros,
Firebirds, and Corvettes, and other cars as well. Also these two injection systems are also very popular
for swaps into street rods, S10 pickups, and muscle cars. This article will show you how to
set this up whether you're dealing with a car originally equipped with this
engine or swapping it into a vintage machine.

For these engines, we recommend using the
Megasquirt-II. This ECU installs on '80s era GM engines like it was
designed for them, which isn't far from the truth since it comes pre-calibrated
for all GM sensors. It can control a HEI ignition
and the stepper motor idle control found on these engines using its standard
hardware. For those of you who are looking to do a less expensive
installation, you can use the Megasquirt-I, but this will not have provisions
for controlling the IAC. When using a Megasquirt-I, you will need to
adjust the idle speed screw to obtain a fast enough idle in cold weather.

We've recently developed a HEI mod kit that
gives a stronger RPM signal in cars with noise problems. For the pre-mod kit
version of this article,
click here.

This article also mentions the relay board.
While factory injected will not need this, the relay board is very helpful when
you are swapping an injected motor into a car that never came with fuel
injection from the factory.

Note that this does not allow sequential injection, as HEI provides no
cylinder identification. You do not need any mods to make this work.

External Ignition Wiring

The R pin is the HEI module's tach output.
Connect it to pin 24 on the Megasquirt main board, or the Tach pin on the relay
board. Note that the DIY Autotune wiring harness has a shielded wire -
connect only the inner wire to this pin!

Connect the E pin to MS3X pin 14 to send the timing signal to the HEI module.

Connect the B pin MS3X pin 33.

If you are using our wiring harness, connect
the IAC using the four IAC wires. If you are using a relay board,
the IAC wires will come out on terminals S1 through S4.

TunerStudio Ignition Configuration:

Spark mode = Basic
trigger

Trigger angle
/ offset = 10° (this will vary,
depending on the distributor orientation, see notes at the end of the
article)

Ignition Input Capture to 'Falling
Edge'

GM HEI / DIS
options to 'GM Bypass on SpkB

Spark hardware in use to
MS3X spark

Dwell
type to 'Standard
dwell'

Spark Output to 'Going
High'

Dwell depends on the coil;
2.5 to 3.0 ms is usually a good starting value.

More information on setting
Trigger Offset:

You must also set the
initial position of the trigger (called the 'trigger offset'), then check it
using the Trigger Wizard in TunerStudio (Tools Menu). The trigger
offset setting will vary according to your distributor position (where it is
in rotation) but you'll need to set it properly... Basically you use
the Trigger Wizard and adjust the 'trigger offset' and/or twist your
distributor until the advance number in the Trigger Wizard matches what
you're reading with your timing light. The +/- buttons on the trigger
wizard will adjust your trigger offset. You'll need to use these
buttons and a timing light to make the number on your light, and the big
number on the left in the Trigger Wizard, match up.

Here's the information on
this direct from the MegaManual:

Before tuning your
advance table, be sure to use a timing light to verify that your 'trigger
offset' is calibrated. Changing the Trigger Offset in MegaTune will not
change the displayed advance, instead, it changes the actual advance as seen
with a timing light. Your goal is to make these two match.

To do this, get your
engine warmed-up (otherwise the timing moves as the temperature increases)
and idling, then use a timing light to verify to be certain your actual
advance as shown by a timing light equals your the advance display on the
advance gauge in MegaTune. (8° in this case). (Note that positive numbers
denote BTDC, and negative numbers denote after TDC.)

This one can be used with both B&G code and MS2/Extra, although the
settings aren't quite the same as the ones in the regular MS2/Extra manual.
For the version covered in the MS2/Extra manual, see
this write up instead.

The input mods are to invert the input signal
from the HEI module's tach signal. The HEI module will ground pin
24 to trigger a spark input.

Remove D1 and D2, if they are installed.
Replace them with jumpers.

Remove the jumper between XG1 and XG2 and any
jumper leading to TachSelect, if fitted.

Run a jumper wire from TachSelect to XG1.

Run a jumper wire from OptoIn to one of the
two +5V holes in the Proto Area.

Remove C30.

Replace R12 with a 1.3k resistor. You may
substitute a resistor from between 1 to 2 k.

Jumper OPTOOUT to TSEL.

Step 65: You will
not be using the IGBT high current driver; you're using a logic level
ignition output instead. Jumper JS10 to IGN to bring
the signal out on pin 36.

That's it-- you've got your Megasquirt-II
Engine Management System fully prepared to work with a HEI ignition and stepper
IAC.

If you're
using a DIYAutoTune.com MS2357-C MegaSquirt-II Assembled ECU:

You will need to install our
HEI input mod kit. This actually drops in without soldering on our
current V3.57 boards; we have a
video of how to install this kit. You will remove the JP1 and
XG1-XG2 jumpers. Use the red jumper to connect the 5 volt pin next to
the processor to JP1 pin 3, and the green jumper to connect XG1 to JP1
pin 2.

External Ignition Wiring

The R pin is the HEI module's tach output.
Connect it to pin 24 on the Megasquirt, or the Tach pin on the relay
board. Note that the DIY Autotune wiring harness has a shielded wire -
connect only the inner wire to this pin!

Connect the E pin to pin 36 (relay board
terminal S5) to send the timing signal to the HEI module.

For the B pin, you will be using a relay, as
described in the
MegaManul's section on HEI modules. You will need to wire a relay so
that the coil gets power from a wire that is energized with the key in
the Run position but not Start. Run a wire from the VREF terminal on the
relay board to one of the switch terminals of the relay, and run a wire
from the other pin on the relay to the B pin on the HEI module.

If you are using our wiring harness, connect
the IAC using the four IAC wires. If you are using a relay board,
the IAC wires will come out on terminals S1 through S4.

TunerStudio Ignition Configuration
for B&G code:

Trigger offset = 10° (this will vary,
depending on the distributor orientation, see notes at the end of the
article)

Ignition Input Capture to 'Falling
Edge'

Cranking Trigger to 'Trigger
Rise'

Coil Charging Scheme to 'Standard
Coil Charging'

Spark Output to 'Going
High (Inverted)'

TunerStudio Ignition Configuration
for MS2/Extra:

Spark mode = Basic
trigger

Trigger angle
/ offset = 10° (this will vary,
depending on the distributor orientation, see notes at the end of the
article)

Ignition Input Capture to 'Falling
Edge'

GM HEI / DIS
options to 'Off' (because this
configuration does not use the ECU controlled bypass

Spark A output pin to
JS10

Dwell
type to 'Standard
dwell'

Spark Output to 'Going
High (Inverted)'

Dwell depends on the coil;
2.5 to 3.0 ms is usually a good starting value.

More information on setting
Trigger Offset:

You must also set the
initial position of the trigger (called the 'trigger offset'), then check it
using the Trigger Wizard in TunerStudio (Tools Menu). The trigger
offset setting will vary according to your distributor position (where it is
in rotation) but you'll need to set it properly... Basically you use
the Trigger Wizard and adjust the 'trigger offset' and/or twist your
distributor until the advance number in the Trigger Wizard matches what
you're reading with your timing light. The +/- buttons on the trigger
wizard will adjust your trigger offset. You'll need to use these
buttons and a timing light to make the number on your light, and the big
number on the left in the Trigger Wizard, match up.

Here's the information on
this direct from the MegaManual:

Before tuning your
advance table, be sure to use a timing light to verify that your 'trigger
offset' is calibrated. Changing the Trigger Offset in MegaTune will not
change the displayed advance, instead, it changes the actual advance as seen
with a timing light. Your goal is to make these two match.

To do this, get your
engine warmed-up (otherwise the timing moves as the temperature increases)
and idling, then use a timing light to verify to be certain your actual
advance as shown by a timing light equals your the advance display on the
advance gauge in MegaTune. (8° in this case). (Note that positive numbers
denote BTDC, and negative numbers denote after TDC.)

For the most part,
stick with the standard assembly documentation in the MS2/Extra manual.
I'll just be covering any departures from that doc here.

You will want all
of the IAC jumpers.

Set it up for VR input by jumpering TachSelect to VRIN and TSEL to
VROUT.

For the main spark output, run a 1K resistor
from the 5 volt source in the proto area or the right side of R24 to the
top (negative) lead of D14, and run a jumper wire from the negative lead
of D14 to IGN.

For the bypass output, run a 1K resistor from
the 5 volt source in the proto area or the right side of R28 to the top
(negative) lead of D16, and run a jumper wire from the negative lead of
D16 to SPR4 to bring this output out on DB37 pin 6.

That's it-- you've got your Megasquirt-II
Engine Management System fully prepared to work with a HEI ignition and stepper
IAC.

If you're
using a DIYAutoTune.com MS2357-C MegaSquirt-II Assembled ECU:

Set it for VR input by putting the JP1 jumper (in the lower right
hand corner of the main board) in the 1-2 position, and the J1 jumper
(in the middle of the main board) in the 3-4 position.

Remove the wire from JS10 to the center hole of Q16.

Run a jumper wire from PAD1 to the center hole
of the Q16 slot, and remove Q16 if fitted.

Run a jumper wire from PAD3 to SPR4.

External Ignition Wiring

The R pin is the HEI module's tach output.
Connect it to pin 24 on the Megasquirt, or the Tach pin on the relay
board. Note that the DIY Autotune wiring harness has a shielded wire -
connect only the inner wire to this pin!

Connect the E pin to pin 36 (relay board
terminal S5) to send the timing signal to the HEI module.

Connect the B pin to pin 6. If using a relay board, this comes out
on the small header next to the fast idle relay.

If you are using our wiring harness, connect
the IAC using the four IAC wires. If you are using a relay board,
the IAC wires will come out on terminals S1 through S4.

TunerStudio Ignition Configuration:

Spark mode = Basic
trigger

Trigger angle
/ offset = 10° (this will vary,
depending on the distributor orientation, see notes at the end of the
article)

Ignition Input Capture to 'Rising
Edge'

GM HEI / DIS
options to 'GM Bypass on D16'

Spark A output pin to 'D14'

Dwell
type to 'Standard
dwell'

Spark Output to 'Going
Low'

Dwell depends on the coil;
2.5 to 3.0 ms is usually a good starting value.

More information on setting
Trigger Offset:

You must also set the
initial position of the trigger (called the 'trigger offset'), then check it
using the Trigger Wizard in TunerStudio (Tools Menu). The trigger
offset setting will vary according to your distributor position (where it is
in rotation) but you'll need to set it properly... Basically you use
the Trigger Wizard and adjust the 'trigger offset' and/or twist your
distributor until the advance number in the Trigger Wizard matches what
you're reading with your timing light. The +/- buttons on the trigger
wizard will adjust your trigger offset. You'll need to use these
buttons and a timing light to make the number on your light, and the big
number on the left in the Trigger Wizard, match up.

Here's the information on
this direct from the MegaManual:

Before tuning your
advance table, be sure to use a timing light to verify that your 'trigger
offset' is calibrated. Changing the Trigger Offset in MegaTune will not
change the displayed advance, instead, it changes the actual advance as seen
with a timing light. Your goal is to make these two match.

To do this, get your
engine warmed-up (otherwise the timing moves as the temperature increases)
and idling, then use a timing light to verify to be certain your actual
advance as shown by a timing light equals your the advance display on the
advance gauge in MegaTune. (8° in this case). (Note that positive numbers
denote BTDC, and negative numbers denote after TDC.)

MegaSquirt-I PCBv2.2Mods
Required:

The input mods are to invert the input signal
from the HEI module's tach signal. The HEI module will ground pin
24 to trigger a spark input.

Remove D5, D8, and R10.

Replace D8 with a 1.3 k resistor. You may
substitute a resistor between 1.3 k and 2.0 k.

Remove the jumper from XG1-XG2. Jumper XG1 to
the right (non-banded) side of D5.

Solder a jumper from the lower hole where R10
used to be (the hole nearest U4) to the upper lead of R11. This will
provide a 5 volt pull-up.

You will use LED 17 and LED 19 as outputs.

Solder a 1 k resistor from the negative lead
of D17 (it's marked with a small - sign) to the right lead of R23 to
provide a 5 volt pull-up on the output.

Run a wire from the negative terminal of D17
to jumper X12.

Now you will add the equivalent mod to D19.

Solder a 1 k resistor from the negative lead
of D19 to the right lead of R27.

Run a wire from the negative terminal of D19
to jumper X11.

That's it!

MegaSquirt-I PCBv3.0Mods
Required:

The input mods are to invert the input signal
from the HEI module's tach signal. The HEI module will ground pin
24 to trigger a spark input.

Remove D1 and D2, if they are installed.
Replace them with jumpers.

Remove the jumper between XG1 and XG2 and any
jumper leading to TachSelect, if fitted.

Run a jumper wire from TachSelect to XG1.

Run a jumper wire from OptoIn to one of the
two +5V holes in the Proto Area.

Remove C30.

Replace R12 with a 1.3k resistor. You may
substitute a resistor from between 1 to 2 k.

Jumper OPTOOUT to TSEL.

You will use two LEDs as ignition outputs.

Connect a 1 k resistor from the +5V source in
the proto area to the negative lead of D14. The negative LED leads are
marked with small - signs on the board.

Run a jumper wire from the negative lead of
D14 to the IGN jumper hole.

Connect a 1 k resistor from the +5V source in
the proto area to the negative lead of D16.

Run a jumper wire from the negative lead of
D16 to the IAC1A jumper hole.

That's it!

External Ignition Wiring

The R pin is the HEI module's tach output.
Connect it to pin 24 on the Megasquirt, or the Tach pin on the relay
board. Note that the DIY Autotune wiring harness has a shielded wire -
connect only the inner wire to this pin!

Connect the E pin to pin 36 (relay board
terminal S5) if you have a V3.0 board. If you are using a V2.2 board,
use pin 27 or relay board terminal S2.

MSnS-E Ignition Configuration

Under Codebase and Output Functions, set HEI
Ignition to "GM 7pin HEI" and the other options to Off.

Set LED 17 function to Spark Output A, and LED 19
function to Spark Output B.

In Spark Settings, set the Trigger Angle to 10
degrees and set Spark Output Inverted to No.

To set
the timing with MSnS-E, go to the Spark Settings menu and set Fixed
Angle to 10 degrees. You can then set the ignition timing to 10 degrees
with the engine running, using a timing light. Once you have set the
base timing, set Fixed Angle to -10. This will tell MSnS-E to use the
timing map.

Under dwell settings, set dwell type to dwell
control. The dwell time will depend on the coil used. Typical values
will be 3.0 to 4.0 ms.