A standalone ECU cannot schedule fuel and ignition accurately until it knows where the crankshaft is. That is the job of the crank and cam trigger system.
Speeduino supports a large number of trigger decoders, including generic missing-tooth and dual-wheel arrangements plus many engine-specific patterns. The most common aftermarket conversions use a crank wheel such as 36-1 or 60-2, sometimes with an additional cam signal for full 720-degree engine-cycle synchronization.
The important point is that a trigger pattern is more than a tooth count. The ECU must also know whether the wheel turns at crank or cam speed, which signal edge is valid, where tooth #1 sits relative to TDC and whether a secondary cam signal is required.
What a 36-1 Trigger Wheel Actually Means
A 36-1 wheel is based on 36 equally spaced tooth positions around one revolution, but one tooth is physically missing.
Nominal wheel: 36 positions
Physical teeth: 35
Missing teeth: 1
360° / 36 = 10° per nominal tooth position
The long gap created by the missing tooth gives the ECU a unique reference once per crank revolution. Speeduino’s missing-tooth decoder defines the first tooth after the missing gap as tooth #1.
... tooth 33 tooth 34 tooth 35 [MISSING]
long gap
│
▼
tooth #1
│
tooth #2
│
tooth #3 ...
What a 60-2 Trigger Wheel Means
A 60-2 wheel uses 60 nominal tooth positions with two adjacent teeth removed.
Nominal wheel: 60 positions
Physical teeth: 58
Missing teeth: 2
360° / 60 = 6° per nominal tooth position
The finer tooth spacing gives the ECU more crank-position events per revolution than a 36-1 wheel. That can improve position information at higher speed, but it also increases the pulse frequency that the input circuit and firmware must process.
36-1 vs 60-2
| Feature | 36-1 | 60-2 |
|---|---|---|
| Nominal tooth positions | 36 | 60 |
| Physical teeth | 35 | 58 |
| Nominal tooth angle | 10° | 6° |
| Unique gap | 1 missing tooth | 2 adjacent missing teeth |
| Pulse rate | Lower | Higher |
| Aftermarket availability | Very common | Very common, especially European/OEM applications |
| Speeduino decoder | Generic Missing Tooth | Generic Missing Tooth |
Neither is automatically better for every engine. A clean 36-1 signal is already more than adequate for many engines. A badly conditioned 60-2 VR signal is much worse than a clean 36-1 Hall signal.
Why the Missing Tooth Exists
If every tooth were identical, the ECU could calculate RPM from tooth spacing but would not know which tooth it was currently seeing after power-up.
Uniform 36-tooth wheel:
| | | | | | | | | | | | | | ...
ECU knows:
- teeth are passing
- RPM can be calculated
ECU does not yet know:
- which tooth is the reference position
The longer gap is an index mark. Once the ECU detects that gap, it can number subsequent teeth and calculate crank angle from the configured trigger angle.
Missing-Tooth Detection Is Based on Time Between Teeth
At a steady engine speed, normal teeth arrive at roughly equal time intervals. The missing-tooth gap takes much longer.
Normal teeth:
|--10°--|--10°--|--10°--|--10°--|
Missing gap:
|--10°--|---------20°---------|--10°--|
36-1 example
The decoder compares tooth periods and recognizes the unusually long interval as the synchronization gap. Acceleration, cranking-speed variation and electrical noise make real signals less perfect than this diagram, which is why correct sensor conditioning matters.
Crank Speed vs Cam Speed
A four-stroke engine completes its full operating cycle in 720 crankshaft degrees. The crankshaft turns twice while the camshaft turns once.
Four-stroke cycle:
0° 360° 720°
|----------|----------|
Crankshaft: 2 revolutions
Camshaft: 1 revolution
A crank-mounted 36-1 or 60-2 wheel repeats every 360°. It gives excellent crank-angle information, but by itself it cannot distinguish the compression TDC of cylinder #1 from the exhaust TDC one crank revolution later.
Why a Cam Signal Is Needed for Full Sequential Operation
A cam sensor provides the extra phase information needed to distinguish the two crank revolutions in a four-stroke cycle.
| Control strategy | Crank wheel only | Cam sync normally required |
|---|---|---|
| Batch injection | Yes | No |
| Semi-sequential injection | Often yes | Depends on strategy |
| Wasted-spark ignition | Yes | No |
| Fully sequential injection | Not enough phase information alone | Yes |
| True sequential COP ignition | Not enough phase information alone | Yes |
Speeduino’s generic missing-tooth decoder can optionally use a secondary cam signal to provide this sequential reference.
What Dual-Wheel Means in Speeduino
A generic dual-wheel setup uses a primary trigger plus a secondary trigger. The primary wheel supplies regular position/RPM information, while the secondary signal provides the reference event needed to identify engine position.
Primary crank wheel:
| | | | | | | | | | | | | | |
Secondary reference:
|
Together:
regular tooth timing + unique reference
The exact wheel arrangement matters. Speeduino has both a normal Dual Wheel decoder and a separate Non-360 Dual decoder for special arrangements. The current firmware documentation describes Non-360 Dual as using two wheels where the primary has no missing teeth and the wheels may both be on the crank or split between crank and cam.
Missing-Tooth vs Dual-Wheel
| Missing-Tooth | Dual-Wheel | |
|---|---|---|
| Primary wheel | Contains a deliberate missing gap | Normally regular teeth |
| Position reference | Gap in primary wheel | Secondary trigger |
| Extra cam sensor needed for basic crank sync | No | Usually secondary reference is fundamental |
| Sequential phase | Optional cam signal can add it | Secondary wheel may provide it depending on arrangement |
| Typical aftermarket wheel | 36-1, 60-2 | Even crank wheel + single cam tooth |
12-1, 24-1, 36-1 and 60-2 Are the Same Basic Decoder Family
Speeduino’s generic Missing Tooth decoder is intended for a multi-tooth wheel with one or more missing positions. You configure the nominal tooth count and number of missing teeth rather than requiring a separate decoder for every common wheel.
Examples:
12-1 → 12 nominal, 1 missing
24-1 → 24 nominal, 1 missing
36-1 → 36 nominal, 1 missing
60-2 → 60 nominal, 2 missing
Do not use the generic decoder for an OEM pattern simply because it contains missing-looking gaps. Some factory wheels such as 36-2-2-2, 36-2-1 or Chrysler NGC have dedicated decoders because their patterns encode position differently.
Dedicated OEM Decoders Matter
Current Speeduino firmware includes dedicated decoders for patterns such as GM 7X, Mitsubishi 4G63/Miata, GM 24X, Jeep 2000, Audi 135, Honda D17, Nissan 360, Subaru 6/7, 36-2-2-2, 36-2-1, Ford ST170 and Chrysler NGC.
If your engine uses one of those patterns, select the matching decoder instead of forcing it into a generic missing-tooth configuration.
Trigger Angle: The Setting That Makes the Tooth Map Match the Engine
The ECU knows that tooth #1 follows the missing gap, but it still needs to know where tooth #1 is physically located relative to TDC.
Example only:
Tooth #1 passes sensor
│
└── 80° BTDC cylinder #1
Trigger angle must describe
that real mechanical relationship.
Do not copy somebody else’s trigger angle just because both engines use 36-1. The wheel may be clocked differently on the crankshaft, and the sensor bracket may be in a completely different position.
How to Establish the Trigger Angle Correctly
- Set the engine to a known mechanical TDC reference.
- Determine where the first tooth after the missing gap sits relative to the sensor.
- Enter the corresponding trigger-angle configuration.
- Disable fuel as required and crank the engine safely.
- Use a fixed ignition timing value.
- Check actual timing with a timing light.
- Adjust the trigger reference until commanded and measured timing agree.
A TunerStudio RPM value that looks plausible does not prove the trigger angle is correct. The final mechanical check is a timing light on the real engine.
Trigger Edge: Rising vs Falling
Speeduino allows primary and secondary trigger edges to be selected. Choosing the wrong edge can shift timing, increase jitter or make a marginal signal decode badly.
With a Hall sensor, the correct edge depends on how the sensor and input circuit switch. With a VR sensor, polarity determines which zero-crossing corresponds to the intended tooth edge after conditioning.
Do not change trigger edge as a random fix for sync loss. First understand the sensor waveform and input conditioner.
VR vs Hall Changes the Electrical Problem, Not the Wheel Geometry
A 36-1 wheel can be read by either a VR sensor or a Hall sensor. The tooth pattern stays the same; the electrical interface does not.
| VR sensor | Hall sensor | |
|---|---|---|
| Output | AC-like differential waveform | Digital/open-collector/open-drain style signal |
| Amplitude | Changes strongly with speed and gap | Usually supply-defined |
| Needs conditioner | Yes | Usually pull-up/input protection rather than VR comparator |
| Polarity sensitive | Very | Edge still matters |
| Low-speed cranking | Can be challenging with weak signal | Usually strong digital switching |
The next article in this series covers VR vs Hall input wiring in detail.
Why 60-2 Can Be More Demanding Electrically
A 60-tooth wheel generates more pulses per revolution than a 36-tooth wheel.
At 6000 RPM:
6000 RPM = 100 rev/s
36 nominal teeth:
100 × 36 = 3600 tooth positions/s
60 nominal teeth:
100 × 60 = 6000 tooth positions/s
The ECU and input conditioner therefore see more edges per second. Speeduino is designed to support common high-tooth-count patterns, but noisy wiring, weak VR conditioning or excessive filtering becomes more obvious as pulse rate rises.
Sensor Gap Matters
A VR sensor that is too far from the wheel can produce a very weak cranking signal. Too close and mechanical runout can create contact or excessive waveform variation.
Hall sensors also have a specified operating air gap. Use the sensor manufacturer’s range and confirm the trigger wheel runs concentrically.
Wheel Runout and Tooth Quality
A home-made trigger wheel should be mechanically accurate. Tooth spacing errors, eccentric mounting and a badly cut missing gap can look like timing noise to the ECU.
- Mount the wheel concentrically.
- Keep tooth height and width consistent.
- Make the missing-tooth gap unambiguous.
- Use a rigid sensor bracket.
- Check for movement under engine vibration.
- Confirm the sensor does not move relative to the crank.
What Sync Actually Means
Synchronization means the decoder has seen enough of the trigger pattern to know the engine’s position confidently.
With a missing-tooth wheel, the ECU typically waits until it recognizes the long gap and then establishes tooth numbering. If a secondary cam reference is required for sequential operation, full cycle phase may require that secondary event as well.
Symptoms of a Trigger Problem
- RPM drops to zero briefly while cranking or running.
- RPM spikes to an impossible value.
- Sync-loss counter increases.
- Timing mark jumps around with fixed timing commanded.
- Engine fires occasionally but will not start consistently.
- Engine starts but breaks up at a repeatable RPM.
- Problem becomes worse when coils or injectors are connected.
- Trigger/tooth log shows extra or missing pulses.
Why Ignition Noise Can Create False Teeth
A crank input wire routed beside coil primary wiring can receive enough electrical interference to create an extra trigger edge. The decoder then sees a tooth that does not physically exist.
Real crank teeth:
| | | | | | | | | |
Noise pulse:
^
ECU sees:
| | | | || | | | | |
extra tooth
That can destroy synchronization instantly even though the mechanical wheel is perfect.
Shielding and Grounding
- Use twisted pair for VR sensor wiring.
- Use shielded cable where the hardware documentation recommends it.
- Ground shields at the intended ECU end unless the specific design says otherwise.
- Keep crank/cam wiring away from ignition coils, injectors, alternator B+ and starter wiring.
- Use the ECU’s intended sensor-ground/reference scheme.
- Do not share sensitive trigger returns with high-current actuator grounds.
Use the Tooth Logger, Not Guesswork
TunerStudio trigger/tooth logging is one of the most useful tools during commissioning. A clean missing-tooth pattern should show consistent normal tooth intervals with a clearly identifiable longer interval at the missing gap.
Conceptual 36-1 tooth periods:
10 10 10 10 10 10 20 10 10 10 ...
^
missing-tooth gap
Real values change continuously with engine speed, especially during cranking, but the gap relationship should still be obvious.
Ardu-Stim Is Useful Before the Real Engine
Speeduino’s Ardu-Stim project can generate crank/cam patterns on the bench. Its pattern definitions explicitly include missing-tooth wheel descriptions such as 36 total positions with 35 teeth and one missing position.
Bench simulation cannot prove your vehicle’s sensor polarity, air gap or wiring noise, but it is excellent for proving the ECU, firmware configuration and decoder before connecting the real engine.
36-1 with No Cam Signal
A crank-only 36-1 setup is a strong simple configuration for batch injection and wasted spark. It gives a unique crank reference every revolution and does not depend on a cam sensor.
36-1 crank wheel
│
▼
Speeduino knows crank angle modulo 360°
│
├─ batch / semi-batch injection
└─ wasted spark possible
No 720° phase identification
36-1 Plus a Single Cam Tooth
Adding one correctly positioned cam event can give the ECU the 720-degree phase reference needed for sequential strategies.
36-1 crank:
many precise position events
Cam:
one phase-reference event per 720°
Together:
full engine-cycle position
The cam edge does not need to provide fine crank-angle resolution. The crank wheel already does that. The cam signal mainly tells the ECU which revolution of the four-stroke cycle it is on.
60-2 with Cam Sync
The same principle applies to 60-2. The crank wheel provides frequent angular information and the missing gap establishes the crank reference; the cam identifies cycle phase.
This is a common OEM architecture because it combines accurate crank position with sequential fuel/ignition capability.
Do Not Assume More Teeth Always Means Better Timing
A higher tooth count gives the decoder more position updates, but ignition scheduling also interpolates between physical tooth events. Once tooth density is already reasonable, mechanical accuracy and signal quality become more important than simply adding more teeth.
A rigid 36-1 wheel with a clean sensor signal is a better ECU input than a flexible or noisy 60-2 wheel.
Choosing a Trigger Pattern for a Custom EFI Conversion
| Situation | Practical choice |
|---|---|
| Fabricating a new crank trigger from scratch | 36-1 is simple and widely supported |
| Engine already has a clean OEM 60-2 | Keep it and use Missing Tooth decoder |
| Engine has regular crank teeth + one cam reference | Dual Wheel may fit |
| OEM wheel has unusual grouped gaps | Use the dedicated Speeduino decoder if available |
| Need full sequential injection/COP | Use a compatible crank pattern plus cam phase signal |
| Crank sensor is weak VR at starting speed | Fix conditioner/gap rather than changing decoder randomly |
A Useful Custom-Build Example: 6-1 or 12-1 vs 36-1
Very low tooth counts reduce input frequency and can be easy to fabricate, but they give the ECU fewer direct crank-position updates.
For a modern custom trigger wheel, 36-1 is popular because it is still mechanically simple while providing a 10-degree nominal tooth pitch. There is rarely a reason to fabricate an exotic pattern when the generic missing-tooth decoder already handles common layouts cleanly.
Trigger Pattern Does Not Replace Mechanical TDC Verification
Before first start, physically confirm TDC and mark the crank pulley or flywheel. Then use fixed timing and a timing light.
If TunerStudio commands 10° BTDC and the timing light shows 20° BTDC, do not tune around the error. Correct the trigger reference.
Common Mistake: Selecting 36-1 but Entering 35 Teeth
The naming convention refers to the nominal tooth positions, not just the physical teeth present.
36-1:
Nominal teeth = 36
Missing teeth = 1
Physical teeth = 35
Do not configure:
Teeth = 35
Missing = 1
Common Mistake: Treating a Cam Wheel as Crank Speed
A wheel mounted on the camshaft turns at half crank speed. Speeduino configuration distinguishes crank-speed and cam-speed primary triggers.
If you tell the ECU a cam-speed wheel is running at crank speed, calculated RPM and angle interpretation will be wrong.
Common Mistake: Wrong Sensor Polarity
VR polarity reversal can move the effective trigger point to the wrong zero crossing and often makes the signal worse as RPM changes.
If the engine syncs at cranking speed but loses sync as RPM rises, inspect the actual waveform and conditioner behaviour rather than simply adding software filtering.
Common Mistake: Using the Wrong Generic Decoder for an OEM Wheel
Patterns such as Subaru 36-2-2-2 or Mitsubishi 36-2-1 contain missing sections but are not equivalent to a simple 36-1 or 60-2 wheel.
Speeduino includes dedicated decoders for many of these patterns because the spacing itself encodes additional information.
Commissioning Checklist
- Confirm the physical tooth pattern.
- Confirm whether the wheel is crank speed or cam speed.
- Select the correct Speeduino decoder.
- Set nominal tooth and missing-tooth counts where the decoder requires them.
- Confirm primary and secondary sensor type.
- Set the correct trigger edge.
- Verify sensor gap and polarity.
- Check RPM while cranking with fuel and ignition disabled as appropriate.
- Capture a tooth/trigger log.
- Watch the sync-loss counter.
- Set fixed ignition timing.
- Verify actual timing with a timing light.
- Only then enable normal ignition/fuel control.
Final Recommendation
For a custom Speeduino conversion where you are free to choose the hardware, 36-1 on the crank is an excellent default. It is simple, widely understood and gives a unique reference every revolution with useful tooth density.
Keep an existing 60-2 wheel if the engine already has one and the signal is clean. There is little benefit in replacing a good OEM trigger just to change tooth count.
Add a cam reference when you need reliable 720-degree phase information for fully sequential injection or ignition. Most importantly, treat trigger setup as a complete system: wheel geometry, sensor, conditioner, edge, trigger angle, mechanical TDC and wiring must all agree.
Related Speeduino Guides
- Speeduino Explained: How the DIY Arduino ECU Works
- Speeduino Wiring Guide: Sensors, Injectors, Ignition, Crank & Cam Inputs
- Speeduino TunerStudio Setup and Bench Checks
- Speeduino vs rusEFI vs MegaSquirt: Which DIY ECU Should You Choose?
Official Speeduino Resources
- Speeduino Missing-Tooth Decoder Documentation — current decoder definition and tooth #1 reference.
- Speeduino Decoder Modules — current list of generic and engine-specific trigger decoders.
- Speeduino TunerStudio INI — current trigger-pattern configuration definitions.
- Speeduino Ardu-Stim — crank/cam trigger simulator for bench testing.
- Speeduino 36-2-2-2 Decoder — example of an OEM pattern that requires a dedicated decoder rather than generic missing-tooth settings.