P0638
Throttle Actuator Control Range/Performance (Bank 1)P0638 is a generic OBD-II powertrain diagnostic trouble code: Throttle Actuator Control Range/Performance (Bank 1). It is logged by the engine control unit when the throttle monitor detects that a specific fault threshold has been exceeded — typically resulting in the malfunction-indicator lamp (MIL / check-engine light) being illuminated.
What P0638 means
P0638 is set when the Powertrain Control Module (PCM) detects a discrepancy between the commanded throttle blade angle and the actual position reported by the Throttle Position Sensor (TPS) feedback signal. Modern drive-by-wire systems replace the mechanical throttle cable with an Electronic Throttle Control (ETC) assembly: the PCM reads the accelerator pedal position sensor (APPS), calculates the desired blade angle, and commands the integrated DC motor to move to that position. If the motor's response falls outside the PCM's calibrated tolerance window — typically due to physical restriction or an electrical fault — P0638 is stored and a reduced-power (limp) condition is often activated.
The most frequent physical trigger is a carbon-fouled throttle bore that causes the blade to stick at low openings, preventing the motor from reaching the commanded angle. Worn motor brushes, stripped gear teeth inside the actuator, or a degraded TPS signal can produce the same mismatch. The code can also appear after a battery disconnect if the ETC relearn procedure was not completed, leaving the PCM's learned idle position table out of sync with the actual blade stop. In those cases a relearn cycle (ignition key cycling or a scan-tool-initiated ETC reset) resolves the code without parts replacement.
Because P0638 directly affects throttle authority, the PCM typically forces a fail-safe mode that caps engine output and may lock the throttle near idle. The vehicle may be drivable at restricted speed (commonly 30–45 mph) but will feel sluggish and unresponsive to pedal input. Prompt diagnosis is important — continued operation in limp mode places extra thermal stress on the throttle motor.
Common causes
Most-frequently reported root causes when P0638 is logged.
-
1
Carbon buildup on the throttle bore and blade causing the blade to stick and prevent the motor from reaching the commanded angle.
-
2
Faulty or worn throttle body actuator motor (worn brushes, seized gear, or shorted windings).
-
3
Degraded or failed throttle position sensor (TPS) providing incorrect feedback to the PCM.
-
4
Chafed, corroded, or broken wiring or connector pins in the ETC harness between the throttle body and PCM.
-
5
ETC adaptation values out of sync after battery disconnect — PCM idle-stop table does not match the actual blade mechanical stop.
-
6
Faulty accelerator pedal position sensor (APPS) sending an incorrect demand signal to the PCM.
-
7
Rarely, an internal PCM driver fault causing the actuator command signal to be out of range.
Symptoms drivers notice
How to diagnose P0638
A typical diagnostic flow when this code is present.
-
1
Connect a scan tool, retrieve all stored DTCs and freeze frame data, and note any companion ETC or TPS codes that may indicate the root fault.
-
2
Perform an ETC relearn or throttle body adaptation reset with the scan tool and retest — clears false positives caused by battery disconnects.
-
3
Inspect the throttle body bore and blade for heavy carbon deposits; clean with throttle body cleaner and repeat the relearn before further testing.
-
4
With ignition on (engine off), monitor live TPS voltage (typically 0.5–4.5 V sweep) and commanded angle via the scan tool; verify the two values track each other smoothly throughout the full pedal range.
-
5
Perform a visual and physical inspection of the ETC wiring harness from the throttle body connector to the PCM — look for chafing, corrosion, and bent pins.
-
6
Measure resistance of the throttle motor windings at the throttle body connector and compare to the manufacturer specification; replace the throttle body assembly if out of range.
-
7
If all external checks pass and the code persists, suspect an internal PCM driver fault and verify with a known-good module or dealer-level diagnostics.
Related powertrain codes
- P0120 — Throttle Position Sensor/Switch A Circuit Malfunction
- P0121 — Throttle Position Sensor/Switch A Circuit Range/Performance Problem
- P0122 — Throttle Position Sensor/Switch A Circuit Low Input
- P0123 — Throttle Position Sensor/Switch A Circuit High Input
- P0124 — Throttle Position Sensor/Switch A Circuit Intermittent
- P0220 — Throttle/Pedal Position Sensor/Switch B Circuit Malfunction
Frequently asked questions
Can I drive with P0638 active?
You can drive short distances in limp mode, but it is not advisable. The PCM restricts throttle output to protect the engine, so performance is severely reduced. Continuing to drive ignores a potential actuator failure that could leave you without throttle control entirely.
Will resetting the throttle body fix P0638?
If the code appeared after a battery disconnect or ECU reset, a throttle body relearn (ETC adaptation) often clears it permanently. If the underlying cause is a dirty bore or a failing motor, the relearn will not stick and the code will return quickly.
Does P0638 always mean the throttle body needs replacing?
No. Cleaning a carbon-fouled bore costs much less than a new assembly and resolves the code in many cases. Always clean and relearn before condemning the throttle body or TPS.
Why does P0638 only reference Bank 1?
On most engines there is only one throttle body, so Bank 1 (the side containing cylinder 1) is the default reference. On some high-performance or diesel engines with independent intake runners per bank, each bank has its own actuator, and a Bank 2 variant (P0639) would identify the second unit.
Disabling P0638 in software
RaceTune can permanently disable P0638 — and any other OBD-II diagnostic trouble code — on every ECU family we support. The monitor is disabled inside the ECU itself, so the fault stops being logged: the warning light stays off and the engine never enters limp mode for this code. The change is tied to your exact software version.
Software modifications affect emissions compliance and are not road-legal in many jurisdictions. RaceTune service files are intended for motorsport, off-road, and export use.
Got P0638 in your scan?
Upload your ECU file — we'll identify the exact software version and confirm whether a disable is available for your car.
Upload your file