P0D02: Hybrid/EV Charging System Voltage Out Of Range
Charging system detects mains voltage outside acceptable range during AC charging, preventing safe charge initiation.
What P0D02 means
P0D02 is a generic OBD-II powertrain code in the hybrid & EV group.
- Check engine light
- Usually on
- Emissions-related
- No
- Limp mode possible
- Not typical
- Drive cycle to clear
- Not required
Get it fixed
Post this code once and get quotes from local mechanics. Free to post.
Makes the repair and parts links below specific to your car. Kept in this browser only.
Common causes
- 01EVSE delivering wrong voltageMost likely
- 02Mains supply unstablePossible
Can I drive with P0D02?
Usually yes, for a short time.
The car will often drive normally, but get it diagnosed soon. If you notice rough running, warning lights flashing, overheating or a burning smell, stop driving.
Why we rate it moderate
- Turns on the check engine light
Severity is our rule-based rating from the code’s flags in OBDex and the system it affects, not an inspection of your car. If the check engine light is flashing, or you notice overheating, low oil pressure, or brake or steering problems, stop driving and get help.
How to diagnose P0D02
- 1
Confirm the code and save freeze-frame data
Read the codes with an OBD-II scan tool and note every code, not just P0D02. Save the freeze-frame data (speed, load, temperature when the fault set) before clearing anything; it tells you when the fault happens.
- 2
Fix other faults first
If other codes are stored, start with power-supply, sensor-circuit and communication codes. They can cause this code as a side effect.
- 3
Test the circuit
Inspect the wiring and connector at the on board charger and charge port for damage, corrosion or chafing. With a multimeter, check supply voltage, ground and signal against the specifications in the service manual for your vehicle.
- 4
Test the likely causes in order
Start with the most likely cause and work down: EVSE delivering wrong voltage; mains supply unstable. Test before replacing parts.
- 5
Check for recalls and service bulletins
Look up recalls for your exact vehicle with its VIN, and ask a dealer about technical service bulletins (TSBs). Manufacturers sometimes issue software updates or extended warranties for known faults.
- 6
Clear the code and verify the repair
After the repair, clear the code and drive the car under the conditions in the freeze-frame data to confirm it does not return.
P0D02 repair cost estimate
Estimate, not a quote. Labor times are typical ranges for this code from OBDex, and $125/hr is an assumed rate. Shop rates and labor times vary by vehicle and region. Diagnosis time may be billed separately.
- DIY difficulty
- Moderate
- Good DIY job?
- Usually a shop job
Needs a scan tool and some experience with testing.
Parts and systems involved
- On board charger
- Charge port
- External evse
P0D02 FAQ
What does P0D02 mean?
P0D02 means “Hybrid/EV Charging System Voltage Out Of Range”. Charging system detects mains voltage outside acceptable range during AC charging, preventing safe charge initiation.
Is P0D02 serious? Can I keep driving?
We rate P0D02 as moderate severity. Usually yes, for a short time. The car will often drive normally, but get it diagnosed soon. If you notice rough running, warning lights flashing, overheating or a burning smell, stop driving.
What causes P0D02?
The most common causes, from most to least likely: EVSE delivering wrong voltage; Mains supply unstable. Test before replacing parts, because several causes can set the same code.
How much does it cost to fix P0D02?
Typical labor is about $65–$625 at an assumed $125/hour shop rate, plus parts. That is an estimate, not a quote: labor times and rates vary by vehicle and region, and diagnosis may be billed separately.
Can I fix P0D02 myself?
DIY difficulty is moderate. Most owners leave this to a shop because it needs involved testing or specialist tools. Always confirm the cause before buying parts.
Will P0D02 clear itself?
If the fault was intermittent, the warning may go off once the computer stops seeing it, but the code stays in memory. Fix the cause; clearing the code alone doesn’t repair anything.