ABS wheel speed sensor icon

ABS wheel speed sensor: codes C0035, C0040, C0045 and how to diagnose "ABS flashing in turns"

What OBD-II shows about wheel speed sensors, difference between active and passive types, how to diagnose ABS/ESP problems via C-codes, and why a "worn tone ring" is common.

AI-generated 3 min read

ABS light flashes in turns, ESP goes crazy on a straight road, brakes sometimes “vanish” on wet — all often the wheel speed sensor (WSS). OBD-II sees it through C-codes. Below: how to diagnose in 15 minutes.

What the WSS does

The WSS measures the rotational speed of a wheel — actually reads a toothed ring (tone ring, usually 48 teeth). The ABS/ESP ECU compares 4 wheel speeds and:

  • If one brakes sharply → engages ABS
  • If rotation is asymmetric → engages ESP
  • Displays vehicle speed on the dash (speedo)

So a WSS problem breaks three systems at once: ABS + ESP + speedo.

Two WSS types

Passive (magnetic-inductive)

  • Old tech (pre-2005)
  • Two wires (no power), signal is a sine wave
  • Simpler and cheaper
  • Con: doesn’t work at very low speed (< 3 mph)

Active (Hall effect / MR)

  • Modern tech (2005+, most cars)
  • Three wires (+5V, GND, signal), signal is a digital pulse
  • Works from 0.3 mph (crucial for active ESP, hill-hold)
  • Con: more expensive ($30-100 per unit); sensitive to magnetic fields

Key OBD-II codes

CodeMeaning
C0035LF (left front) sensor problem
C0040RF (right front) sensor problem
C0045LR (left rear) sensor problem
C0050RR (right rear) sensor problem
C0027ABS pump relay
C0035-C0060Range fault (sensor signal out of allowed range)
C0065-C0068Signal loss (broken wire)

Causes

1. Contaminated sensor (most often 40-60%)

  • Rust, dirt, brake dust between sensor and tone ring
  • Symptoms: ABS light appears intermittently, often in rain or on dirty roads
  • Fix: remove sensor, clean the mount and the sensor ($0-10, 10-20 min)

2. Worn tone ring

  • On old cars (125k+ mi) — teeth wear down
  • On ABS-integrated hubs the ring can even break during bolt tightening
  • Symptoms: ABS light only above a certain speed (e.g. > 25 mph) or only in turns
  • Fix: hub or ABS ring replacement ($30-200)

3. Broken / shorted wire

  • Often from potholes or road contact
  • Symptoms: ABS light on constantly, same wheel always
  • Fix: check wire from sensor to BCM ($0-50)

4. Dead sensor

  • Battery, water in housing, magnetic damage
  • Symptoms: ABS light always on, C-code stored
  • Fix: sensor replacement ($15-100 + 30-60 min labour)

5. ABS module

  • Rarest (5-10%). Internal failure
  • Symptoms: various C-codes without a single-wheel pattern
  • Fix: ABS module replacement ($300-1500) or refurbishment ($100-300)

Diagnostics in 15 min

Step 1. Read active C-codes

Note which codes are active. One code → one wheel. Many codes across different wheels → bus or ABS module problem.

Step 2. Read live wheel speeds

Via Live Monitor (where supported as manufacturer PID):

  • WSS LF, RF, LR, RR — speed of each wheel separately
  • On a flat road at 30 mph — all 4 should read 30 ±0.3
  • Spread > 1 → problem with that wheel’s sensor

Step 3. Test: turn the wheel by hand

  • Engine off, on park brake
  • Rotate the wheel (need to lift on a jack) — WSS should output signal (~0.3-1 mph)
  • If 0 with visible rotation → sensor dead or tone ring worn

Step 4. Visual inspection

  • Look at sensor and tone ring — chips, dirt, rust
  • Look at wire — rub on wheel arch, broken connector

In-motion symptoms — patterns

SymptomLikely cause
ABS flashes only in turnsContaminated front sensors
ESP triggers on a straightWheel-speed mismatch → one sensor lying
ABS above 25 mphWorn tone ring
ABS constantlyBroken wire or dead sensor
Speedo “jumps”Front WSS problem (used for speedo on most cars)

Our DTC Analyzer offers a repair with probabilities based on make: BMW N47 (rear WSS often fail from old brake wheels), VW MQB (front sensors vulnerable to road salt).

Try it on the free tierpair an ELM327 adapter. Standard C-codes C003X-C005X available on every car. Live wheel speeds via Mode 22 — on paid tier.