ABS or ESP light on: why a cheap adapter “sees nothing” and how to read C codes
What you notice
The amber “ABS” light, or the ESP light (a car with two wavy tracks), stays on. You plug in an OBD2 adapter, start reading the codes, and the result is “no fault codes”. The reader is not lying: it simply did not query the right control unit.
Why a cheap adapter “sees nothing”
A recent car has many control units: engine, gearbox, ABS/ESP, airbag, air conditioning, body… The OBD2 standard was written for emissions. It requires the engine control unit (and the gearbox when it affects emissions) to answer standardised questions, identical across all makes. The ABS control unit has no obligation to answer those questions.
ABS codes do exist, though. They start with C (chassis): a C code can refer to a wheel sensor, the hydraulic pump, a solenoid valve or the yaw rate sensor. To read them, a request must be sent directly to the ABS control unit, at its address and with the protocol chosen by the manufacturer. Two conditions must therefore be met:
- an app that knows how to find the other control units and talk to them;
- an adapter that passes these requests on correctly. Many clones costing a few euros accept the necessary commands without applying them: on the same BMW, a Wi‑Fi clone found 2 control units, a quality adapter found 18 (see our tested adapters).
What DiagAuto AI lets you do
- Read fault codes (Diagnostics screen): the engine control unit, with confirmed, pending and permanent codes. Useful here, because an ESP light often comes from an engine fault (see below).
- Scan the control units (Control units screen): the app looks for the control units that respond, shows you which ones report faults and how many, and reads the details of their codes, ABS included, on compatible control units. If no additional control unit could be read on your car, the app says so clearly.
- What the scan finds depends on the make, the age of the car and the adapter. On older cars that do not communicate over CAN, it does not apply, and the app says so.
The official meaning of a C code can be found in the fault code dictionary.
Possible causes, from most to least common
- Wheel speed sensor: clogged with metal filings, cable torn off or chewed, corroded connector. This is the classic, especially after replacing discs, a hub or a bearing. The control unit compares the speed of the four wheels: a wheel that “disappears” turns on the light.
- Damaged magnetic ring or toothed ring: cracked ring on the driveshaft, or a bearing with a magnetic encoder fitted the wrong way round during a replacement.
- Battery voltage too low: after a difficult start or with a weak battery, the ABS and ESP lights can come on together, then go off after a few kilometres once the voltage has recovered.
- Engine fault: on many cars, an engine fault disables the ESP, which can no longer reduce torque, and turns on its light. In this case, standard OBD2 reading does find an engine code.
- Steering angle sensor not calibrated, often after a wheel alignment, a steering rack replacement or work on the steering column: mainly the ESP light.
- Tyres of different sizes or a space-saver spare wheel: speed difference between the wheels.
- Faulty brake light switch: on some cars, it turns on the ESP light.
- Hydraulic unit or ABS control unit: corroded connector, internal solder joints, pump. Rarer, and more expensive.
What you can do right now
- Look at which lights are on: ABS alone, ESP alone, ABS and ESP, or ABS with the red brake warning light.
- Check the tyre pressures and sizes, and think back to any recent work on the brakes or wheels.
- With the adapter plugged in, read the “Control unit voltage” on the Sensors screen, with the engine running: clearly below 13 V, the charging system or the battery should be checked.
- Read the engine codes, then run the control unit scan to find out whether the ABS control unit reports a fault. Note what is displayed before any work.
- Drive a few kilometres carefully: if the fault was temporary (voltage, dirty sensor), the light sometimes goes off on its own above a few kilometres per hour, but the code stays in memory.
What needs a garage
A manufacturer tool or a professional multi-brand tool is still needed for work on the braking system: steering angle sensor calibration, bleeding the hydraulic unit while driving the pump, solenoid valve tests, coding a new control unit. Indicative costs (France): wheel sensor replaced, €80 to €250; ABS unit repair, €300 to €700; new unit, over €1,000.
When to go to the garage right away
- ABS light and red brake warning light (or “STOP”) on together: brake force distribution may be affected.
- Brake pedal sinking, constant pump noise, car pulling to one side under braking.
- ESP light on with a loss of power or a flashing check engine light (see flashing check engine light).
If only the check engine light worries you, read check engine light on but the car drives fine instead.
Frequently asked questions
Can I drive with the ABS light on?
Most of the time yes, carefully: the brakes work, but without anti-lock, so the wheels can lock under emergency braking. If the red brake warning light also comes on, stop and have it checked before driving on.
Why does my OBD2 reader say “no codes” when the ABS light is on?
Because standard OBD2 reading queries the engine control unit, and sometimes the gearbox one. The ABS control unit keeps its own codes, which can only be read by querying it directly, with a protocol that depends on the manufacturer.
Does the ABS light mean a fail at the roadworthiness test?
In France, at the contrôle technique (the French roadworthiness test), an ABS warning light that stays on or signals a malfunction is recorded as a defect, with a re-test in most cases. Have the fault read before the appointment.