Your check engine light is on, your Toyota feels sluggish, and your scan tool just pulled a P0120 code. Before you panic or throw parts at it, here’s exactly what’s happening and how to fix it right. This guide covers everything from what triggers the code to the one step most people skip after a repair.
What Is the Toyota P0120 Code?
Toyota P0120 means your ECM (engine control module) detected a voltage problem in the Throttle Position Sensor (TPS) “A” circuit. In plain English, the part that tells your engine how far you’ve pressed the gas pedal is sending bad data.
Toyota’s drive-by-wire system — called ETC-i (Electronic Throttle Control System-intelligent) — has no physical cable between your foot and the throttle. It’s all electronic. So when the signal from the TPS or accelerator pedal position (APP) sensor falls outside the acceptable voltage range, your ECM flags it as a circuit malfunction.
The ECM monitors voltage between roughly 0.2V and 4.8V. Drop below or spike above that window, and P0120 triggers.
What Are the Symptoms of P0120?
Here’s what you’ll likely notice when this code shows up:
| Symptom Category | What You’ll Experience |
|---|---|
| Dashboard | Check Engine Light, Traction Control light, “Reduced Power” message |
| Acceleration | Sluggish, unresponsive pedal, limited to ~2,500 RPM |
| Idle | High idle (1,200–1,500 RPM), hunting or surging |
| Transmission | Harsh shifts, incorrect shift timing |
| Fuel Economy | 15–25% drop in MPG, rich exhaust smell |
When P0120 triggers, your ECM cuts power to the throttle actuator motor. A return spring then pulls the throttle to a default 6-degree opening — just enough to keep you moving slowly. This is limp mode, and it exists to keep you safe, not strand you.
In rare cases, the engine can stall immediately after starting if the ECM can’t find a stable throttle position reference at all.
Common Causes of Toyota P0120
P0120 isn’t always a broken sensor. Multiple root causes can trigger this code, and knowing which one you’re dealing with saves you real money.
1. Worn Throttle Position Sensor
The traditional TPS uses a physical wiper arm that drags across a resistive track inside the sensor. Over time, that track wears out — especially at the idle position where the wiper spends most of its life. When the track wears through, the circuit breaks and voltage drops out. That dropout is a primary trigger for P0120.
2. Carbon Buildup in the Throttle Body
This one surprises a lot of people. Oil vapor from your PCV system mixes with dust and fuel residue and bakes onto the throttle bore. This hard, gummy carbon — called coking — can physically block the throttle plate from closing fully.
If your ECM commands 0% throttle but the TPS reports 3% because carbon is holding the plate open, the system sees a performance mismatch and throws the code. This is also the classic cause of the related code P0121.
3. Wiring Harness Problems
The wiring between your sensor and ECM takes a beating under the hood. Watch for:
- Connector corrosion — Moisture gets into the TPS or APP sensor connector, increases resistance, and drops the voltage signal
- Harness chafing — On Camry and Tacoma models, the engine harness can rub against brackets or the firewall and wear through insulation
- Rodent damage — Modern wire insulation often contains soy-based materials. One chewed wire in the 5V reference circuit can trigger multiple sensor codes including P0120
4. Failing ECM (Rare but Real)
Inside your ECM, an Analog-to-Digital Converter (ADC) reads the incoming sensor voltage. If that internal circuit fails from moisture, heat stress, or cracked solder joints, the ECM misreads a perfectly good sensor signal. In that case, P0120 is the brain failing, not the nerve. Always verify the signal at the ECM pins before condemning the module.
How to Diagnose Toyota P0120 Step by Step
Don’t just swap parts. A systematic approach finds the real problem the first time.
Step 1: Visual Check First
Before you grab a scan tool, check the floor mats. An improperly secured mat can jam the accelerator pedal, which creates a mismatch between pedal input and throttle response. It sounds basic, but it’s a legitimate cause that Toyota technicians flag.
Then check the wiring harness visually — look for chafing, loose connectors, and any sign of rodent activity near the throttle body or firewall.
Step 2: Pull Freeze Frame Data
Connect your OBD-II scanner and read the freeze frame data — the snapshot your ECM saved when P0120 triggered.
- Code triggered at 0 MPH, 700 RPM? Focus on carbon buildup and the idle circuit.
- Code triggered at high speed or WOT? Focus on sensor range and mechanical travel limits.
Step 3: Run the Live Data Sweep Test
This is your most powerful diagnostic tool. With the engine off and the ignition in the ON position, slowly press the accelerator pedal from floor to full while watching TPS voltage on your scanner.
What you’re checking:
- Linearity — Voltage should rise smoothly with no jumps, spikes, or sudden drops to zero
- Correlation — On dual-circuit sensors, both the “A” and “B” voltages should move in sync. Any gap beyond 0.2V usually triggers the related P2135 correlation code
Here’s the normal voltage range you should see:
| Component | Voltage at Idle | Voltage at WOT |
|---|---|---|
| TPS Signal A (VTA1) | 0.5V – 0.7V | 4.2V – 4.8V |
| APP Sensor A (VPA1) | 0.4V – 0.9V | 3.8V – 4.5V |
| 5V Reference Line | 4.9V – 5.1V | 4.9V – 5.1V |
| Ground Circuit | < 0.1V | < 0.1V |
Step 4: Electrical Circuit Validation
If the sweep test shows an erratic or fixed voltage, check the circuit itself:
- Reference voltage — Unplug the TPS connector and measure the 5V reference pin against chassis ground. It should read a steady 5.0V. Significantly less? You’ve got a short or high resistance in the harness, or a failing ECM.
- Ground check — Measure resistance between the sensor’s ground pin and the negative battery terminal. It should be less than 1.0 ohm. More than that means a corroded ground connection.
- Back-probe the signal — With the sensor plugged in, use a back-probe pin to check signal voltage while you move the throttle. This catches “ghost” faults caused by poor connector tension that disappear the moment you unplug the connector.
| Diagnostic Tool | What It Does for P0120 |
|---|---|
| OBD-II Scanner | Live data, freeze frame, code clearing |
| Multimeter | Reference voltage and ground resistance checks |
| Lab Scope | Catches fast signal dropouts invisible to a multimeter |
| Contact Cleaner | Resolves intermittent resistance in connectors |
How to Fix Toyota P0120
Once you know the cause, here’s how to address it correctly.
Cleaning the Throttle Body
If carbon buildup is causing the code, cleaning the throttle body is your first move. It’s the most cost-effective fix and fixes a surprising number of P0120 and P0121 codes.
Follow these rules when cleaning:
- Don’t spray directly into the assembly. Solvent can travel down the throttle shaft, dissolve bearing lubricant, or destroy the actuator motor’s electronic seals
- Use dedicated throttle body cleaner only. Carburetor cleaner strips specialized coatings from the bore and makes future carbon buildup worse
- Use a soft brush or microfiber cloth. Metal tools and wire brushes scratch the bore, which disrupts airflow and causes unstable idle
For the full process, Toyota-specific throttle body service guidelines cover exactly what products and techniques to use.
Replacing the Sensor or Throttle Body
When replacement is necessary, stick with OEM parts. The TPS part number 89452-35020 fits the 4Runner, Tacoma, and Tundra across multiple model years. Aftermarket sensors often have resistance curves that are slightly off, which can prevent the ECM from completing its self-calibration and cause the code to come right back.
Here’s a rough cost breakdown by model:
| Toyota Model | Typical Repair | Estimated Part Cost |
|---|---|---|
| Tacoma / Tundra (older) | Replace TPS (Part 89452-35020) | $60 – $150 |
| Corolla / Camry (modern) | Replace accelerator pedal assembly | $100 – $300 |
| Tacoma / RAV4 (newer) | Replace integrated throttle body | $150 – $600 |
| All models | Wiring harness repair | $10 (materials) |
The Throttle Relearn Procedure — Don’t Skip This
Here’s the step most DIYers miss. After any throttle body repair or battery disconnect, you must reset the ECM’s adaptive memory. If you install a clean throttle body but the ECM is still using old compensation values from a carbon-clogged bore, you’ll get a high or surging idle that won’t go away on its own.
Method 1: Battery Disconnect
- Turn off all electrical accessories — A/C, lights, radio
- Disconnect the negative battery terminal for at least 60 seconds
- Reconnect and turn the ignition to ON (don’t start the engine)
- Wait 30 seconds — the ECM cycles the throttle motor to its mechanical stops
- Start the engine and let it idle for 10–15 minutes until it reaches full operating temperature
Method 2: Ignition Cycling (Keeps Your Radio Presets)
- Warm the engine to operating temperature first
- Turn the ignition off
- Turn the ignition on and off twice quickly
- Start the engine in Drive with the parking brake firmly set
- Let it idle — the RPMs should gradually drop to normal over about 5 minutes
The complete Toyota throttle relearn procedure covers additional scenarios for specific model years if you run into an unusual idle response after completing either method.
Related Codes That Appear With P0120
P0120 rarely shows up alone. These companion codes help narrow down the fault:
- P0121 — Sensor works but reports values that don’t match other inputs (MAF, MAP). Classic dirty throttle body code.
- P0122 / P0123 — “Circuit Low” and “Circuit High.” These are strictly electrical — broken wire or hard short.
- P2135 — Voltage mismatch between Sensor A and Sensor B. Usually a failed sensor assembly or bad common ground.
- P0068 — TPS and MAF/MAP correlation error. A vacuum leak can cause this alongside P0120.
How to Prevent P0120 From Coming Back
A little maintenance goes a long way here:
- Clean the throttle body every 30,000–50,000 miles. This prevents carbon buildup that stresses the actuator and skews TPS readings.
- Replace the air filter on schedule. A dirty filter lets more particulate into the intake, which sticks to the oily residue in the throttle bore.
- Keep your battery healthy. Low voltage during cranking can cause the ECM to lose its throttle position calibration. A healthy battery reads 12.6V at rest.
- Inspect the wiring harness periodically. Catching rodent damage or harness chafing early prevents a sudden drop into limp mode on the highway.
The full diagnostic breakdown at RepairPal also outlines maintenance intervals that help keep the ETC-i system running reliably long-term.













