Adjusting the MegaSquirt V3.0/V3.57 VR Conditioner

The MegaSquirt V3.0 and later is designed to be able to read a wide variety of variable reluctor crankshaft position sensors. This is no easy task to get one circuit to handle a wide spectrum of sensors, and so there is a fair amount of adjustability built into the MegaSquirt.  Customers asked for a simpler and easier to understand guide to it. Well, we can give you one out of two – we can elaborate on this without too much technobabble, but this adjustment is always going to be a bit involved.

  1. What the VR conditioner does, and why you need it
  2. Stopping noise before it starts
  3. Using an oscilloscope to adjust the VR conditioner
  4. Using the Tooth Logger or Composite Logger to adjust the VR conditioner
  5. Common issues with easy fixes
    1. BMWs and other systems with 60-2 wheels breaking up at high RPM
    2. Nippondenso signals losing sync at a narrow, low RPM range

The MS3X also uses a similar VR conditioner for its cam input circuit that adjusts in the same way. This article does not apply to LM1815 circuits, such as the Zeal daughter board.

If you’re not sure the circuit is working at all, see our VR circuit points test guide.

What the VR conditioner does, and why you need it

The VR conditioner is a very popular choice for OEM crankshaft position sensors. They’re cheap, they don’t wear out, they still work if you spill oil on them, they even still work underwater. The one thing they don’t do is put out a signal that’s particularly easy to work with. The signal from a VR sensor can vary from under 1 volt while the engine is cranking to over 100 volts at redline, and the normal output is a rather complicated AC signal rather than a simple square wave.

The standard MegaSquirt VR conditioner has a fairly simple principle of operation. Once the voltage climbs over a certain level, called the trigger level, the output turns on. Once the voltage drops below the trigger level, it has to drop an extra amount of voltage, the hysteresis level, before it turns off. The trigger level is determined by the settings on R56, and the hysteresis level is determined by R52. Both of these are zero when the trim pots are fully counterclockwise. This picture shows what the VR conditioner would do if you fed it a triangle wave signal.

The MS3X has a copy of this circuit that is used for cam or second trigger input. On the MS3X expansion board, R11 adjusts the threshold voltage, and R32 adjusts the hysteresis level. The MS3X also incorporates a pull up jumper on JP7. This pull up is used with Hall effect or optical sensors, but needs to be removed for VR sensors if in place.

The trim pots on a V3.0 board take about 18 turns from fully off to maximum value, and you can often hear a click when they reach the end of their travel. The V3.57 pots are about 6 turns end to end, and they just free-spin after you reach the end of their travel. If you’re not sure where you are with the pot on a V3.57, give it six turns counterclockwise to get back to zero. MS3X trim pots work the same way as V3.57 trim pots. Note that you can’t actually measure the hysteresis or trigger voltages directly.

Stopping noise before it starts

The best way to filter out noise is to not have any noise to filter out to begin with. You’ll want to make sure the wiring doesn’t have any issues that are just inviting noise problems to come in. The first thing is the wiring from the VR sensor to the MegaSquirt. It needs to be good quality, shielded wiring – any major lengths of wiring with no shielding are likely to have trouble. The VR sensor should be grounded to the MegaSquirt; grounding it elsewhere, like to the bodywork or the engine block, turns the MegaSquirt’s own ground wires into a potential noise source. And you need to keep the wire as far away from the ignition wires, coils, injectors, starter, and alternator as reasonably practical.

One seldom expected problem is that a bad starter can put out a ton of noise. The surest sign this is going on is that the MegaSquirt won’t sync as long as you hold down the key in the crank position, then when you let go of the starter, the MegaSquirt syncs right up. Usually, this is an early warning that the starter is about to die and leave you stranded.

Another physical cause of difficulty adjusting the VR conditioner is if the trigger wheel is off-center. The amount the sensor gap changes as the crankshaft rotates should be something you can only measure with a feeler gauge. If you can clearly see the gap changing or the wheel moving around on you, fix this problem at once. Not only is this difficult for the VR conditioner, it’s also a sign your crank pulley may be about to exit your engine compartment.

Using an oscilloscope to adjust the VR conditioner

An oscilloscope is the easiest way to get the VR conditioner adjusted, if you have one. Ideally, you’ll want an oscilloscope with two channels, so you can watch the input and the output. You can view the sensor signal at TachSelect and the output at TSEL on a V3.0 board. Probing the sensor on a V3.57 is a little trickier, but you can grab the input in the wiring harness itself or JP1 pin 2, and the output at pin 14 of the processor socket. Start with R52 and R56 both fully counterclockwise. For an MS3X, you can get the input signal at R44 and scope the output at pin 1 of U7, and you’ll be adjusting R11 (threshold voltage) and R32 (hysteresis).

The first thing to do is see if you can identify the correct signal pulses, as opposed to the noise. This is pretty easy to do. Usually the noise will have less voltage than the real pulses, and often it’s shorter, too. For example, take a look at this screen capture of the voltage from a 1995 Honda Civic’s TDC (camshaft position) sensor. This one captures the signal with the engine running at around 1000 RPM.

There’s four pulses that reach up to 4 volts. These are the real signals. Then there are a lot of tiny pulses – actually cases of the other sensors’ signals getting mixed in – in between the real pulses. We’ll first adjust R56 (R11 on the MS3X), the trigger level pot, so that the signal will pick up the tall spikes and ignore the short ones. Start with R56 fully counterclockwise. You’ll turn it up until it only replies to the actual signals and ignores the small peaks in between. Turning it too far and it will also start filtering out the real peaks. These pictures show what the output would look with too low a trigger voltage, too high, and just right.

If you don’t have enough hysteresis, the signal may not trigger cleanly. This typically shows up as noise at the extreme edges of the signal, but the middle of the signal is fine. Like this picture, which only shows the output side, for clarity.

Turn R52 (R32 on the MS3X) clockwise until the edges sharpen up. Do not add more hysteresis than necessary.

You’ll want to get the trim pots adjusted so they will signal correctly throughout the rev range. This is particularly important since the voltage is lower during cranking. Too much threshold voltage, or hysteresis voltage, will keep it from reading the cranking signal.

Using the Tooth Logger or Composite Logger to adjust the VR conditioner

If you don’t have an oscilloscope, the tuning software has a couple of different tools you can use to get things adjusted. The Tooth Logger is available in TunerStudio and MegaTunix, and works for MS1/Extra, MS2/Extra, or MS3. It displays just the crank trigger. The Composite Logger is a feature of TunerStudio and works for MS2/Extra and MS3. The Composite Logger looks like an output signal on the oscilloscope. Using either one requires you to know what the signal coming in should look like. Like with an oscilloscope, you should start with R56 and R52 (R11 and R32 on an MS3X) fully counterclockwise.

The Tooth Logger displays the time between signals, and works best for basic missing tooth wheels. With one of these, you should see one small bar for every real tooth, and a single large bar for the missing tooth. If there is one missing tooth, the bar is twice the height of the others; it’s three times the height for two missing teeth. If you see a bunch of other, teeny-tiny bars, turn R56 (R11 for the MS3X) clockwise until they go away. If the extra tall bar is replaced by two extra tall bars, the sensor is wired backwards.

Using the Composite Logger requires knowing what the pattern should look like. If you are seeing pulses that shouldn’t be there, turn R56 clockwise until they disappear. If pulses that should be there don’t show up, turn R56 counterclockwise until you see them. Hysteresis adjustment with the Composite Logger is the same as with an oscilloscope – turn up R52 (R32 on the MS3X) if you see extra pulses at the edges, like this.

Common issues with easy fixes

Some particular OEM triggers are known to have certain problems that are easy to get into. The good news is the fix is pretty well known, too. Here are some of the more well known ones; other ones may be added as we hear about them.

Bosch 60-2 wheels and high RPM breakup (Can also apply to other high tooth count wheels)

This happens most often with V3.57 boards, but can happen with V3.0 boards too. We’ve seen this most often on BMWs and Hyundais, but it can happen on any Bosch Motronic system, or with Electromotive trigger wheels as well. With some sensors, it can apply to 36-1 or 36-2 wheels. What starts as a small noise spike at low RPM becomes a very large noise spike right in the spot where the missing tooth is, causing the ECU to lose synch. You’ll see this problem manifest as the RPM signal suddenly spiking downward at high RPM, and the car acting like it’s hit a rev limiter. Putting a 10K to 20K resistor inline with the crankshaft position sensor wire generally clears this right up. Below is a tooth log showing this problem happening to a 36-1 trigger wheel.

36-1 trigger wheel high RPM break up

The bars are the time between the pulses. A missing tooth takes twice as long to send a pulse, making a bar twice as long. However, a noise pulse shows up in the middle of the missing tooth signal sometimes, cutting it in half – and the ECU no longer sees the missing tooth. The car that generated the tooth log above was fixed with a 10K resistor.

Nippondenso signals losing sync at a narrow, low RPM range

This problem happens most often on Nippondenso ignitions and other ignitions where you have a 24 (or 12) tooth crank wheel and a 1 tooth cam wheel. It can happen to Toyota, Mazda, and Honda vehicles. The problem is that the ECU loses sync at a specific RPM range, often in the 1000 to 2500 RPM area. This may be accompanied by the timing jumping.

What is happening is that one active edge of the second trigger is very close to the crankshaft position signal, happening almost at the same time. As the signal can shift when the timing increases, the second trigger goes from happening before the primary trigger to happening after it, and the ECU gets confused about which one of the teeth on the crankshaft position sensor is the #1 tooth. This typically gives Lost Sync Reason 11 and 17 in data logs.

To solve this, you will need to find out exactly which edge you need to trigger on. First change Ignition Input Capture from Rising Edge to Falling Edge, or vice versa. If that does not work, experiment with changing the active edge of the second trigger. Usually, only one of the four possible combinations of Ignition Input Capture and Second Trigger Active Edge settings will rev out cleanly.

Note that you must reset the Tooth #1 angle any time you change either one of these two settings.