Crank and cam sensors look simple from the outside, but they are among the most important electrical inputs in a Speeduino installation. If the ECU sees one false tooth or misses one real tooth, fuel and ignition scheduling can lose synchronization immediately.
The two most common sensor types are variable-reluctance (VR) and Hall-effect. They can read the same 36-1, 60-2 or OEM trigger wheel, but they produce very different electrical signals and therefore need different input conditioning.
A useful rule is: the trigger wheel defines the mechanical pattern; the sensor and conditioner define whether the ECU can read that pattern reliably.
VR vs Hall at a Glance
| Feature | VR sensor | Hall sensor |
|---|---|---|
| Typical wires | 2, sometimes shield | 3: power, ground, signal |
| Needs external power | Usually no | Yes |
| Raw output | AC-like analogue waveform | Digital switched signal |
| Signal amplitude | Changes strongly with RPM and air gap | Usually fixed by supply/pull-up |
| Polarity sensitive | Yes | Signal edge still matters |
| Low-speed cranking | Can be weak | Usually strong |
| High-speed signal | Can become very large | Remains logic-level |
| ECU interface | VR conditioner/comparator required | Digital input with correct pull-up/level conditioning |
| Common failure mode | Weak cranking or polarity-related timing shift | Wrong pull-up, wrong supply or inverted edge |
What a VR Sensor Produces
A VR sensor is basically a coil and magnetic core placed close to a ferrous trigger wheel. As a tooth approaches and leaves the sensor, magnetic flux changes and the coil generates a voltage.
Trigger tooth approaches
│
▼
VR sensor output rises
/\
/ \
------/----\------ 0 V
\ /
\/
tooth moves away
The raw waveform crosses zero volts and changes polarity. Its amplitude depends heavily on tooth speed, tooth geometry and sensor gap. During slow cranking it may be only a small signal; at high RPM it can become tens of volts on some installations.
That waveform is not suitable for direct connection to a microcontroller interrupt pin. Speeduino hardware needs a proper VR conditioner that converts it into a clean digital edge.
What a Hall Sensor Produces
A Hall-effect crank or cam sensor contains active electronics. It needs a supply voltage and ground, then changes its signal output as the trigger target passes.
Hall sensor:
Power ───────────── 5 V / 12 V as specified
Ground ───────────── sensor ground
Signal ─────┐
└──── digital switching output
Typical ECU sees:
____|‾‾‾‾|____|‾‾‾‾|____
Some Hall sensors actively drive both high and low. Others use an open-collector or open-drain output that can only pull the signal low, so the ECU or harness must provide a pull-up resistor.
Do Not Identify Sensor Type by Wire Count Alone
Two-wire usually suggests VR and three-wire usually suggests Hall, but that shortcut is not perfect. Some active automotive sensors use two wires and encode their signal as current modulation.
Before wiring a factory sensor to Speeduino, find its datasheet or the vehicle wiring diagram. Confirm:
- Sensor technology.
- Supply voltage.
- Signal type.
- Required pull-up or pull-down.
- Ground reference.
- Recommended air gap.
- Which edge or polarity corresponds to the physical tooth.
VR Sensors Need a Conditioner
A VR conditioner detects the analogue waveform and converts the zero-crossing/tooth event into a clean logic transition for the processor. The official Speeduino hardware repository includes a dedicated VR Conditioner section, and MAX9926-based dual-channel conditioner designs are widely used with Speeduino hardware.
VR crank sensor
│
│ analogue +/- waveform
▼
VR conditioner
(MAX9926 or board-specific circuit)
│
│ clean logic pulses
▼
Speeduino trigger input
Do not bypass the conditioner and connect a raw VR sensor directly to an Arduino or STM32 trigger pin. The input is not designed to accept the bipolar, speed-dependent VR waveform.
Hall Sensors Usually Need a Pull-Up, Not a VR Conditioner
A common open-collector Hall sensor behaves like a switch to ground. It needs a pull-up resistor so the signal has a defined HIGH level when the transistor is off.
5 V or 3.3 V
│
pull-up
│
├────── Speeduino trigger input
│
Hall output
│
└────── pulls LOW when active
Some Speeduino-compatible hardware provides configurable pull-ups for crank and cam inputs. For example, third-party Speeduino-compatible boards often include 5 V pull-up jumpers specifically for open-collector Hall sensors. Your exact board schematic and jumper documentation take priority over any generic wiring diagram.
Do Not Add a Pull-Up Blindly
An actively driven Hall output may not need an external pull-up. Adding one unnecessarily can increase current or distort the intended output.
Likewise, a 12 V Hall signal must not be assumed safe for a 5 V or 3.3 V processor input. Use the ECU’s intended input circuit or a suitable level-conditioning stage.
VR Wiring: The Basic Pattern
VR sensor wire A ───── VR+ / crank+
VR sensor wire B ───── VR- / crank-
Shield ─────────────── ECU end only
unless board documentation says otherwise
VR conditioner output ─ Speeduino primary trigger input
For a cam VR sensor, the same principle applies through the secondary conditioner/input channel.
Hall Wiring: The Basic Pattern
Hall sensor supply ─── rated supply
Hall sensor ground ─── sensor ground
Hall sensor signal ─── crank/cam digital input
Optional:
pull-up resistor ───── only if required by sensor/output type
Use the sensor’s specified supply. Some automotive Hall sensors expect 5 V, others 8–12 V, and some aftermarket sensors work across a wide range. The signal conditioning must still make the output safe for the ECU input.
VR Polarity Matters
Reversing the two wires of a VR sensor flips the waveform. That changes which zero crossing the conditioner sees as the tooth edge.
Correct polarity:
/\
------/--\------
^
intended edge
Reversed:
------\--/------
\/
^
different edge / phase
The engine may still show RPM with reversed polarity, which makes this fault particularly confusing. Symptoms can include timing drift, sync loss that appears only as RPM rises, or a timing mark that moves when engine speed changes.
Hall Sensors Also Have an Edge Choice
A Hall sensor produces a clean digital transition, but Speeduino still needs to know whether the useful event is the rising edge or falling edge.
Current Speeduino configuration includes primary and secondary trigger-edge settings. The correct choice depends on the sensor, conditioner and trigger pattern. Changing it alters the crank-angle reference, so always re-check fixed ignition timing with a timing light after changing trigger edge.
Never Fix Trigger Angle in Software Without Checking the Physical Edge
If changing from VR to Hall or changing the VR conditioner, the electrical edge presented to the ECU may move relative to the actual tooth.
That can shift ignition timing even when the mechanical wheel has not moved. After any sensor or conditioner change:
- Crank with fuel disabled as appropriate.
- Command a fixed ignition angle.
- Check the crank timing mark with a timing light.
- Correct trigger angle/reference if required.
- Verify again at more than one RPM.
Why VR Sensors Can Fail Only During Cranking
A VR sensor generates voltage from motion. During cranking the trigger wheel is moving slowly, so the signal amplitude is at its lowest.
Low RPM:
small waveform
/\
-/--\-
High RPM:
large waveform
/\
/ \
----/----\----
A system can therefore be perfectly stable once running yet fail to sync during a weak-battery start. Common causes are excessive sensor gap, poor VR conditioner thresholding, damaged sensor wiring or a weak starter/battery reducing cranking speed.
Why VR Sensors Can Fail Only at High RPM
The opposite failure is also possible. At high RPM a VR sensor produces a much larger and faster signal. A poor conditioner can retrigger, saturate or respond to ringing around the tooth transition.
Symptoms include a repeatable RPM ceiling, sudden sync-loss counter increments or a tach/RPM spike exactly when the engine breaks up.
Hall Sensors Are Usually Easier at Very Low Speed
Because a Hall sensor is powered, its switching amplitude does not rely on the target moving quickly. That makes Hall attractive for engines with slow cranking speed or difficult low-speed VR signals.
But Hall is not automatically immune to problems. Wrong supply voltage, a missing pull-up, a weak pull-up, electrical noise or an incorrect target geometry can still cause missed edges.
Sensor Air Gap
Both sensor types have a specified operating gap. The correct gap is a mechanical requirement, not a tuning preference.
- Too large a VR gap reduces cranking amplitude.
- Too small a VR gap risks contact if the wheel has runout.
- Hall sensors can stop switching cleanly if the target is outside their magnetic operating range.
- A flexible sensor bracket changes the gap dynamically and creates timing scatter.
Check wheel runout before setting an aggressive minimum gap. A trigger wheel that is 0.5 mm eccentric can turn a safe static gap into physical contact at another crank angle.
Shielded Cable and Twisted Pair
Crank and cam signals live in one of the noisiest electrical environments possible: ignition coils, injectors, alternator, starter motor and relays are all nearby.
For VR wiring, twisted pair is especially important because the conditioner measures the differential waveform between the two sensor leads.
- Twist the VR+ and VR− conductors together.
- Use a shield where the ECU hardware documentation recommends it.
- Keep trigger wiring away from coil primary wires and injector wiring.
- Avoid long parallel runs beside alternator B+ or starter cables.
- Do not splice trigger wiring casually with unshielded pigtails.
Where to Ground the Shield
A common practice is to connect the cable shield at the ECU end only so it does not become a current-carrying ground path.
However, Speeduino hardware varies. Follow the board’s schematic and installation documentation rather than treating a generic shield rule as universal.
Sensor Ground Is Not the Same as High-Current Ground
Hall sensors need a ground reference. That ground should return through the ECU’s intended sensor-ground arrangement, not through an ignition-coil bracket or random engine-bay chassis point.
Mixing a low-level sensor return with injector, coil or starter current can create ground offset and false trigger transitions.
VR Sensor Resistance Test
A disconnected VR sensor normally shows a finite coil resistance between its two wires. The exact value varies by sensor, so use the manufacturer specification rather than expecting one universal number.
Useful checks with power off include:
- Measure resistance across the VR pair.
- Check neither lead is unintentionally shorted to chassis unless the design specifically uses that arrangement.
- Flex the harness while measuring to find intermittent cable faults.
- Check continuity through connectors and shield terminations.
Hall Sensor Bench Test
A Hall sensor can often be checked with a multimeter or oscilloscope while slowly moving a steel target past it.
- Apply the correct supply voltage.
- Provide the required pull-up if it is open collector/open drain.
- Measure signal voltage relative to sensor ground.
- Move a tooth or metal target through the sensing area.
- Confirm a clean transition between LOW and HIGH states.
An oscilloscope is much better than a multimeter for checking edge quality and noise.
Oscilloscope: The Fastest Way to Stop Guessing
A scope immediately answers questions that TunerStudio cannot: waveform amplitude, polarity, ringing, threshold crossing, pull-up level and electrical noise.
| Problem | What the scope may show |
|---|---|
| Weak cranking sync | Very small VR amplitude |
| Wrong VR polarity | Opposite zero-crossing direction |
| High-RPM breakup | Ringing or double transitions |
| Hall missing pulses | Slow edge or inadequate pull-up |
| Ignition interference | Sharp noise spikes between real teeth |
| Ground problem | Signal baseline moving with coil/injector current |
Do Not Probe a VR Sensor as Though It Were a Hall Sensor
A raw VR waveform is bipolar. Measure it with an appropriate scope setup and understand the reference being used. Automotive electrical systems can also generate significant transients.
If you are unsure about oscilloscope grounding on a vehicle, use appropriate isolated/differential measurement equipment rather than creating an accidental ground path.
Trigger Filters Are Not a Substitute for Good Wiring
Speeduino firmware includes trigger filtering mechanisms, but filtering should be used after the electrical signal is correct.
If ignition noise creates a false crank edge, adding aggressive filtering can sometimes hide it at one RPM while rejecting legitimate teeth at another. Fix the source first: routing, shielding, grounding, conditioner setup and sensor gap.
Symptoms of Wrong VR Polarity
- RPM appears while cranking but timing mark is unstable.
- Timing changes as RPM increases even with fixed timing commanded.
- Engine starts but loses sync at a particular RPM.
- One polarity gives a visibly cleaner tooth log than the other.
- Trigger edge must be changed unexpectedly to make the decoder stable.
Symptoms of a Missing Hall Pull-Up
- Signal floats at an undefined voltage.
- RPM appears intermittently.
- Trigger only works when touched by a meter/scope probe.
- Noise produces random RPM spikes.
- Sensor output never reaches a valid logic HIGH.
Symptoms of an Overly Weak Hall Pull-Up
A very large pull-up resistance combined with cable capacitance can make the rising edge slow. At low frequency it may look fine, but at high RPM the edge may cross the ECU threshold late or inconsistently.
Ideal Hall edge:
____|‾‾‾‾‾
Weak pull-up / capacitive line:
____/''''''
Threshold crossing moves later
Use the sensor or ECU manufacturer’s recommended pull-up value. Do not choose one arbitrarily.
Symptoms of Wrong Hall Supply Voltage
- Sensor never switches.
- Sensor becomes hot.
- Output amplitude is wrong.
- Signal disappears when engine-bay voltage changes.
- The sensor works on a bench supply but not in the vehicle.
Some OEM sensors are designed around specific ECU bias circuits, so identifying the exact part matters.
Primary vs Secondary Trigger Inputs
Speeduino firmware treats the primary trigger as RPM1 and typically uses the secondary trigger for cam/phase information. Current firmware also has a third trigger input for a second cam signal on supported configurations.
Primary trigger:
crank / main position signal
│
▼
RPM1 interrupt
Secondary trigger:
cam / phase reference
│
▼
RPM2 interrupt
Your board must route the conditioned electrical signals to the correct processor inputs. Board-specific jumper settings matter just as much as TunerStudio settings.
Changing from VR to Hall on an Existing Engine
Do not treat a VR-to-Hall conversion as only a sensor swap. The input circuit also changes.
- Confirm Hall sensor supply requirement.
- Configure or bypass the VR conditioner as the board requires.
- Enable the correct pull-up if the Hall output needs one.
- Confirm the signal voltage is safe for the ECU input.
- Set the appropriate trigger edge.
- Re-check trigger angle with a timing light.
- Capture a fresh tooth log at cranking and running RPM.
Changing from Hall to VR
- Remove inappropriate Hall pull-ups if required by the conditioner design.
- Route both VR wires to the differential conditioner input.
- Confirm VR polarity.
- Set sensor air gap.
- Verify low-speed cranking amplitude.
- Check timing reference at several RPM points.
Use TunerStudio Tooth and Trigger Logs
Once the electrical setup is correct, TunerStudio logs tell you whether the decoder is seeing the expected pattern.
For a missing-tooth crank wheel, look for regular teeth and one clearly longer missing-tooth interval. For a cam signal, confirm the secondary event occurs consistently relative to the crank pattern.
If the pattern is clean on the bench but fails on the running engine, suspect wiring noise, sensor gap, VR polarity or power/ground integrity.
Bench Testing with Ardu-Stim
The official Ardu-Stim project can generate digital crank and cam test signals for Speeduino bench testing. It provides separate primary, secondary and tertiary trigger outputs on supported Arduino boards.
That is useful for proving firmware, decoder and ECU digital input behaviour, but remember that Ardu-Stim does not reproduce the analogue amplitude and zero-crossing behaviour of a real VR sensor unless additional signal-generation hardware is used.
VR vs Hall for a Custom Trigger Wheel
| Situation | Usually easier choice |
|---|---|
| Slow-cranking motorcycle engine | Hall |
| Existing OEM VR sensor and wheel | Keep VR if signal is proven |
| New fabricated 36-1 wheel | Hall is often simpler electrically |
| Very harsh/high-temperature OEM location | Use sensor technology proven for that environment |
| Existing ECU board already has good MAX9926 conditioner | VR remains a strong option |
| Long noisy harness | Either can work; wiring and conditioning quality dominate |
Hall Is Not Automatically Better
Hall sensors are convenient because they produce logic-like signals at low speed, but a quality OEM VR system can be extremely robust and accurate.
If an engine already has a proven factory VR crank sensor and wheel, replacing it solely because Hall sounds more modern may create more work than benefit.
VR Is Not Automatically More Difficult
With a correctly designed conditioner such as a MAX9926-based circuit, good sensor gap and proper wiring, VR crank inputs can work reliably across a very wide RPM range.
Most VR problems come from treating the raw sensor as though it were a digital switch, or from polarity/gap/noise problems outside the decoder itself.
Commissioning Checklist
- Identify the exact crank and cam sensor types.
- Confirm supply voltage for any active sensor.
- Check whether Hall outputs require pull-ups.
- Use the correct board jumpers/input conditioner.
- Set VR polarity or Hall signal orientation correctly.
- Measure sensor gap and wheel runout.
- Use twisted/shielded trigger wiring.
- Keep sensor grounds away from high-current returns.
- Select primary and secondary trigger edges in TunerStudio.
- Crank with fuel and spark disabled as appropriate.
- Check RPM and sync-loss count.
- Capture tooth/trigger logs.
- Verify fixed ignition timing with a timing light.
- Repeat the timing check at higher RPM before tuning.
Final Recommendation
For a custom Speeduino installation, Hall sensors are often easier to commission because they provide a strong digital signal even at low cranking speed. A properly wired open-collector Hall sensor with the correct pull-up can be extremely straightforward.
VR sensors remain an excellent choice when the engine already has a good OEM sensor and trigger wheel or when the Speeduino hardware includes a proper VR conditioner. The key is to treat VR as an analogue sensor: polarity, air gap, conditioner threshold and wiring quality all matter.
Whichever sensor type you use, the final proof is the same: a clean tooth log, no unexplained sync losses, and fixed commanded ignition timing that matches the crank timing mark with a timing light.
Related Speeduino Guides
- Speeduino Trigger Patterns Explained: 36-1, 60-2, Missing-Tooth and Dual-Wheel
- Speeduino Wiring Guide: Sensors, Injectors, Ignition, Crank & Cam Inputs
- Speeduino TunerStudio Setup and Bench Checks
- Speeduino Explained: How the DIY Arduino ECU Works
Official Speeduino Resources
- Speeduino Manual — current project installation, board and tuning documentation.
- Official Speeduino Hardware Repository — v0.3/v0.4 hardware, DropBear and VR-conditioner designs.
- Speeduino Trigger Configuration Reference — primary/secondary trigger edge and crank/cam-speed configuration.
- Speeduino Ardu-Stim — digital crank/cam trigger simulator for bench testing.
- Speeduino Crank and Cam Decoder Reference — current firmware decoder structure and primary/secondary trigger handling.