GM ABS and Stabilitrak Codes Explained
ABS, traction control and StabiliTrak are one family
StabiliTrak is GM's name for electronic stability control. All three systems share the same wheel speed sensors and the same hydraulic brake unit, the EBCM and BPMV. ABS keeps the wheels from locking under braking. Traction control keeps the drive wheels from spinning under power. StabiliTrak adds a steering wheel angle sensor, a yaw rate sensor and a lateral accelerometer, then compares where you are steering with where the car is actually going. It can brake one wheel or cut engine torque to pull the car back in line. Because they share sensors and a module, one fault can switch off all three at once and light the ABS, traction and Service StabiliTrak messages together.
The C, U and P codes this catalog carries
The chassis codes here split into a few working groups.
- Wheel speed: C0050 right rear sensor and C0245 frequency error. A bad signal is behind many of these.
- Hydraulic unit and pump: C0110, C0121, C0131, C0265, C1243 and C1255. These cover the pump motor, the relay, the pressure circuit and the module itself.
- Switches and sensor inputs: C0161 and C1295 brake switch, C0283 traction switch, C0455 and C0710 steering position, C0186 lateral accelerometer, C0196 yaw rate.
- Torque and traction messaging: C0242, C0287, P1571, P1689 and P1572. These link the EBCM to the PCM.
- Voltage: C0899 low and C0900 high. Fix the battery and charging first.
- Network: U1040 is lost Class 2 communication with the ABS module.
The generic layer tells the same story. Wheel speed faults show as P0500 through P0503, a lost ABS module as U0121, and the wheel sensor circuits as C0035 and C0040.
Why one fault sets several system-disabled codes
The stability program compares all four wheel speeds, the steering angle, the yaw rate and the lateral acceleration. When one input is missing or implausible, the module cannot trust the math, so it shuts the whole system down. That is why a single dirty or failing wheel speed sensor can set a wheel code, a frequency code and a stability code together.
A weak battery does the same thing a different way. C0899 and C0900 mean the module saw voltage out of range, often during the key-on self-test. A module that drops out mid-test can report several faults that are really one charging problem. Check the battery and grounds before you chase sensor codes.
A failed module or a chafed data wire can drag the Class 2 bus down and set U1040 next to the ABS faults. One bad module on the bus can imitate several. Isolate modules one at a time instead of replacing the first one the code names.
The order to check
- Every module's codes. Pull the PCM, EBCM and BCM. Diagnose powertrain faults first, because C0242 and the torque codes often follow an engine misfire. Do not touch the brakes for an engine code.
- Battery, charging and grounds. Load test the battery, check charging voltage, then the EBCM powers, grounds and fuses under load. This clears the voltage codes and removes false triggers.
- Live wheel speed. Drive straight and compare all four corners on a scan tool. Look for a wheel that reads zero, reads wrong, or drops out. That names the corner before you pull anything apart.
- Sensor and harness at that wheel. Check the reluctor or encoder ring for cracks, missing teeth, rust and metal debris. Check the air gap, then the harness for chafing and the connector for corrosion.
- Module power and ground under load. Command the pump and the relays. If the pump motor or a relay fails with good feeds, the EBCM or BPMV is the part.
- Steering, yaw and lateral inputs. Watch the signals through full lock to lock. After column or sensor work, run the centering and setup calibration.
When the fault is mechanical
Not every ABS code is a sensor. A worn wheel hub bearing lets the tone ring wobble, so the air gap changes and the signal breaks up. A cracked or missing tooth on the reluctor ring reads as a speed fault at one spot in every turn. Rust or metal debris stuck to a magnetic encoder ring does the same. The fix is a hub or ring, not a sensor.
In the hydraulic unit, a seized pump motor, a blocked passage or a failed internal relay is a hard part. If the motor or relay fails with good power and ground, the EBCM or BPMV comes off. Steering position codes like C0455 and C0710 often need a calibration, not a new sensor. Replacing the part without the centering procedure just sets the code again.
When it is safe to keep driving
With only an amber ABS or StabiliTrak light, the base hydraulic brakes still work. You lose the anti-lock, traction and stability help, so drive gently, leave more room, and avoid hard stops until it is fixed.
Stop driving and get help when the red brake warning light is on, the pedal feels soft or sinks, the car pulls to one side under braking, the brake fluid is low, or you hear grinding. Those are base brake faults, not an anti-lock fault. Do not test an ABS problem by slamming the brakes on a public road.
If the code comes back right after you clear it, the fault is live and the system will stay off. Diagnose it instead of clearing it again.