This is a good read by Ken Hughes that I have bookmarked. It is LONG so I apologize to everyone in advance.
That Annoying GM Code 42
By Ken Hughes
This is a common code that is often difficult to diagnose and scan tools can't help. The following understanding of how the electronic spark timing (EST) system works - what is taking place and why - is a big step toward a quicker and easier diagnosis of this circuit. When the engine is turning over, but below the run threshold of 400 RPM, the ECM holds the module's bypass voltage too low (0 volts) to energize its solid-state switch (ignition module). Another way of looking at the solid-state switch is to think of it as a relay. When voltage is applied, the relay is energized. With no voltage applied, the relay is de-energized. The pick-up coil/crank sensor pulses are amplified and shaped by the ignition module. These pulses are used to complete the circuit creating a magnetic field in the ignition coils primary winding that, when collapsing, will induce a high voltage in the secondary winding. Therefore, for every crank sensor/pick-up pulse, the coil is triggered. This is known as the bypass mode or module mode of operation. In this mode, the engine is running on the timing advance that is built into the ignition module.
With the voltage low on the bypass wire, the EST is pulled to ground through a resistor in the ignition module. This keeps the voltage on the EST wire at around 300 mV. When the ECM sees the RPM over the run threshold, it will then apply 5 volts to the bypass wire that will activate the solid-state switch (relay). This in turn will switch the EST from ground to the base of the transistor that controls the primary coil. In this mode, the primary coil winding is being triggered by the altered signal sent out from the ECM. The ECM will alter the signal to the ignition module and control the timing based on the inputs from various sensors. This is referred to as the EST mode.
This is how the system is designed to work! Now let's look at some of the things that can cause problems and set a Code 42. Under 400 RPM, no voltage on the bypass wire, the ECM expects to see low voltage (300 mV) on the EST line during this condition. If it sees 0 volts, indicating an open in the EST circuit - or higher than 500 mV - it sets a Code 42 and stays in the bypass mode.
If the bypass line is open, or grounded, the ignition module will not switch to the EST mode. The ignition module needs the bypass voltage to activate the solid-state switch so the EST voltage will be low over 400 RPM and a Code 42 will set. If the EST line is grounded, the ignition module will switch to the EST - but because the line is grounded, there will be no EST signal. A Code 42 will set.
To check the ignition module to see if the solid-state switch is capable of switching when the 5 volts are applied, the engine should not be running and the ECM connectors should be disconnected. An ohm meter and test light can be used. With the ohm meter on the EST circuit, it should read less that 500 ohms (in some cases, a lot less). Using a test light to battery voltage, probe the bypass wire. With this voltage applied to the bypass wire, the solid-state switch inside the ignition module should switch and the ohm meter on the EST circuit should go over 5,000 ohms. There is also another way to check this with the engine running: by removing the bypass and the EST wire from the module or ECM, run a jumper from the reference wire to the EST circuit. The reference signal is the signal that is used in the bypass mode to trigger the primary coil voltage. Apply 5 volts from one of the 5-volt reference circuits or a test light to battery voltage. This voltage on the bypass wire will activate the solid-state switch, in turn switching the module. On some models, the 5 volts or test light will have to be applied before starting or the motor will stall when the voltage is applied to the bypass. If the module is switching OK, the car will continue to run on the reference signal. If it stalls, the ignition module is not switching properly.
There are some other checks that can be made when working with an intermittent Code 42. When using a digital volt ohm meter (DVOM), there should be 5 volts on the bypass wire. On the EST wire, with the engine running, there will be close to 2.3 volts. The EST is a 5 volt on/off digital signal, so with a volt meter you will see the average of the high and the low. With the EST signal being a digital on/off signal, if you have a meter that will read in Hz, you can also pick up a Hz reading on the EST wire. Normally, you will see about 28 Hz with the engine idling and will increase with RPM. If the EST circuit would become momentarily grounded, or open, the engine will cut out. The voltage reading will jump down to as low as 1.3 volts and the Hz reading will jump from as low as 17 to 128 Hz. If there is a problem in the EST circuit, the voltage on the bypass wire will not change. If the bypass wire is momentarily grounded or open, the reading on the EST wire will be the same as if it was grounding or going open, but unlike a problem on the EST circuit, the bypass voltage will be pulled low if it becomes grounded or goes open. If this happens fast enough, the engine will cut out. The voltages will vary, but the SES light will not come on and no codes will be set.
With the EST circuit open, engine running, the voltage will stay low on the bypass wire and the ECM will not put out the 5 volts. With the EST shorted to ground, the voltage on the bypass wire will be high (5 volts) for a very short time (three seconds or less) then the ECM will remove the 5 volts. Using a min/max on the DVOM is the best way to see this voltage. With the bypass open, the EST circuit OK, the ECM will put out the 5 volts. By using a DVOM on both the EST and bypass wire, you can tap on the ECM, wiggle and tug on the wiring to see if the voltage or Hz reading will change. If it does, this is an indication that you have located the problem area.