P0120high severityPowertrain
Throttle/Pedal Position Sensor/Switch A Circuit
on 2002 BMW M3 3.2L I6 S54 · RWD
What this code means
General malfunction in the throttle position sensor (TPS) or accelerator pedal position sensor circuit.
Symptoms
- Check Engine Light
- Erratic idle
- Poor throttle response
- Limp mode
- Stalling
Common causes
- Faulty TPS
- Wiring damage
- Throttle body issue
- PCM failure
Diagnostic steps
- Test TPS voltage sweep (smooth transition 0.5-4.5V)
- Inspect wiring
- Check throttle body
- Test reference voltage
Repair notes
Replace TPS or throttle body assembly. Some vehicles require TPS relearn procedure.
🔌 Don't have a code reader?
Any of these will read and clear this code — pick by how deep you want to go.
Budget handheld~$40
ANCEL AD410 →
No-phone-needed handheld — reads, clears, live data, freeze frame.
✓ ANCEL official store
Serious DIY~$100
BlueDriver Pro →
Enhanced codes (ABS, airbag, TPMS) plus repair reports.
SHOP FAVORITEShop-grade tablet~$300
Autel MaxiCOM MK808S →
Bidirectional tests, service resets, all systems.
✓ Autel official store
Pro diagnostics$1,500+
Autel MaxiSys MS906 Pro →
Full-system pro platform — topology mapping, ECU coding, the works.
✓ Autel official store
As an Amazon Associate and Autel/ANCEL partner, OLP earns from qualifying purchases — how we link. This never changes the specs we publish.
Other Powertrain codes on this vehicle
29CC
Misfire Cylinder 1
29CD
Misfire Cylinder 2
29CE
Misfire Cylinder 3
29CF
Misfire Cylinder 4
29D0
Misfire Cylinder 5
29D1
Misfire Cylinder 6
29D2
Misfire Cylinder 7
29E0
Lambda Additive/Idle Adaptation Limit, Bank 1
29E1
Lambda Additive/Idle Adaptation Limit, Bank 2
29E2
Lambda Multiplicative Part-Load Adaptation Limit, Bank 1