Click on our menu buttons immediately below to find MegaSquirt® information quickly:

MegaShift™ and the GM Digital Ratio Adapter Controller (DRAC)

The Digital Ratio Adapter Controller (aka. DRAC, and similar to the Vehicle Speed Sensor Buffer - VSSB) found in many General Motors vehicles from 1992+ are a good solution for obtaining a clean 5 Volt square wave signal from a VSS sensor in a noisy environment. The DRAC is contained in a small white plastic case. It is typically bolted to the ECM or located directly behind the glove box.

In its OEM application, the DRAC typically sends:

These frequencies are derived from the VSS input frequency, so a specific calibration is required for a given tire diameter and axle ratio. This calibration is accomplished at the factory by soldering in selected jumpers on the DRAC's printed circuit board.

In addition to providing a clean square wave output of a few specific pulse/mile rates, a DRAC can also slow the signal frequency considerably, reducing the interrupt overhead in the code compared to handling the VSS signal directly.

There is more information on these DRAC modules here: and in this PDF: DRAC.pdf

A DRAC will usually have two connectors. The smaller one may have the cruise control signal on pin 4 of the 4 pin connector (the other three pins are unused).

Typically the pins on the large connector are:

  1. VSS signal+
  2. Ground
  3. Switched 12V
  4. to ABS
  5. VSS to ECM
  6. VSS signal-
  7. Trans speed output
  8. Not used
  9. to Speedometer
but there are many variations between models and years. Check the factory service manual for your particular DRAC before wiring your DRAC.

A switched 12V source is supplied to pin 9 to power the DRAC, and you should ensure you have a very good connection to ground on pin 8.

The VSS sensor connects to pins 7 and 12 (in some DRAC modules, at least - apparently there are at least a few connector variations - check the factory service manual for your DRAC to be sure). In GM applications, the 4L60e transmission used with the DRAC has 40 teeth on the output shaft for the VR sensor to sense.

There are up to six possible speed output pins:

OEM Pull-up
Used by
OEM Output Frequency
4VSS Output to Cruise Control5V pull-up through 1.2K resistorCruise Control4000 ppm
Reduced frequency compared to VSS
10VSS Output to RWAL
(Rear Wheel Anti-Lock)
5V pull-up through 1.2K resistorABS Module128000 ppm
Increased frequency compared to VSS
11VSS Output to ECM5V pull-up through 1.2K resistorECM2000 ppm
Reduced frequency compared to VSS
13Trans speed output
(aka. "Output Speed")
5V pull-up through 1.2K resistorECMSimilar frequency to VSS, possibly used with manual transmissions
(and sometimes 14, esp. M & G vans)
VSS Output to instrument cluster
(aka. "Speedometer Signal")
10V pull-up through 10K resistorSpeedometer2000 ppm
Reduced frequency compared to VSS

The DRAC output is an 'open collector' output, so it needs a pull-up circuit to generate a voltage signal. This is accomplished through a current-limiting resistor connected a 5V voltage source, such as Vref (you can use 5V even on pin 15). The resistance value of the current limiting resistor isn't critical (it can be anywhere in the range from 1K Ohm to 10K Ohm).

The VSS output to the ECM on pin 11 is the best to use as it has a much reduced frequency compared to the VSS signal. However, this reduced frequency also means that you'll have to experiment with the VSS set up parameters (number of teeth, final drive ratio, tire size, etc.) in TunerStudio to get the correct speed reading. These don't have to match your actual tire size, etc.; but they must be used to get your speedometer to read correctly in TunerStudio. For example, some possible settings that might work:

However, these values will only work if the DRAC calibration (for things like tire size, gear ratio, etc.) exactly matches your application. If you are retro-fitting a DRAC to a non-stock vehicle you can experiment with the MShift™ parameters to get the correct speed reading. You can also recalibrate the DRAC if you like. The unit is calibrated to match its application by soldering jumpers in at the factory (there is plenty of info on the internet about re-configuring these jumpers to suit other applications, just Google 'DRAC calibration').

If you were to use pin 13 for the speed signal, then the standard VSS setup (tire diameter, axle ratio, etc.) should work for you once you enter your number of teeth, final drive ratio, tire size, etc. (at the cost of a higher interrupt overhead).

The VSS output to the instrument cluster on pin 15 is another potential output to use, as it is also at a reduced frequency (though not quite as low as the signal to the ECM). You'll have to experiment with the VSS set up parameters to get the right speed reading in TunerStudio. While the specs call for a 10K Ohm pull-up to a 10V source for OEM use, you can safely use a 1K to 10K pull-up to 5V with the GPIO input.

With a DRAC, you should have a clean 5V square wave signal, so you no longer want a 'zero-crossing detector' circuit on your GPIO board (which could trigger on noise during the signal's 'low'). Instead you want to capture an edge where the signal is rising (or falling). In practice, that means detecting a voltage higher than zero volts but lower than 5V. So you will want to increase the trigger threshold voltage a bit. The best way to do this is to lower the resistance of the resistor in R45 (for VSS on VR1). The specified value is 300K Ohms, and you can try from 47K to 220K to eliminate the false triggering on a noisy signal (the lower the resistance, the higher the trigger voltage).

MegaSquirt® and MicroSquirt® controllers are experimental devices intended for educational purposes.
MegaSquirt® and MicroSquirt® controllers are not for sale or use on pollution controlled vehicles. Check the laws that apply in your locality to determine if using a MegaSquirt® or MicroSquirt® controller is legal for your application.
© 2015 Bruce Bowling and Al Grippo. All rights reserved. MegaSquirt® and MicroSquirt® are registered trademarks. This document is solely for the support of MegaSquirt® boards from Bowling and Grippo.