OBD-II Code · Powertrain
P0AF0
Diagnostic Code (P0AF0)
See deep dive below for full diagnostic context.
Common symptoms
- CEL
Likely causes
- See deep dive
Where to start
- Try the cheapest cause first. Start by checking: see deep dive.
- Cost & scope. $50-$2,000
- If the code returns after the fix: escalate to a shop or scanner with live-data and freeze-frame. A code that re-sets means the underlying fault is still there.
Read the full diagnostic procedure
P0AF0 means the BMS calculated the hybrid battery pack's state-of-health (SOH) has dropped below the manufacturer's threshold for safe operation — typically a combination of falling pack capacity (Ah), rising internal resistance, and growing cell-block voltage delta during charge/discharge cycles. This is the canonical 'your hybrid battery is dying' code and it's almost always real. Shop-floor ladder: (1) Pull live cell-block voltage data — a healthy NiMH pack (Prius/Highlander/Escape) holds all blocks within 0.2V of each other at rest, with nominal block voltage around 7.2-8.5V (six cells per block at 1.2V each); a Li-ion pack (Civic Hybrid late, Volt, Leaf, PHEV) holds cells within 50mV at rest with nominal 3.6-4.2V per cell. Any single block sagging 0.5V+ below the others under load is the failed block. (2) Run a guided pack-balance / capacity test on Techstream or equivalent — pass/fail is unambiguous. (3) Internal-resistance scan if your tool supports it (Dr. Prius app on Gen2/Gen3 reads block IR via OBD); blocks above 50 milliohms internal R are end-of-life. (4) If one or two blocks are clearly dead, rebuild the pack with replacement blocks ($800-$1,800 reman) instead of full replacement; if more than 3 blocks are weak or the pack is high-mileage, replace the full pack. DO NOT probe HV orange-wire circuits with a standard multimeter. Always service HV with Class 0 1000V gloves, isolation tester (Megger), and DC-rated lugged probes. Pack contactor stuck-closed (P0AF1/P0AF2) is the only condition where the orange-wire bus may be live AFTER the service plug is removed. NEVER assume zero potential — always measure with an HV-rated meter.
Vehicle-specific patterns
Vehicle-specific patterns: 2004-2009 Toyota Prius Gen2 (NHW20) is the platform that made P0AF0 famous — the Panasonic NiMH pack typically loses a single weak cell-block at 150-220k miles, presenting as a sudden 'red triangle of death' on the dash; reman packs run $1,400-$2,400 installed at a hybrid specialist, OR a single-block rebuild runs $400-$800. 2003-2011 Honda Civic Hybrid IMA is the second-most-common — Honda issued an extended warranty (under the Civic Hybrid IMA settlement) for affected VINs, and failures cluster at 70-100k miles from BCM software that mismanaged charge-discharge cycles. 2011-2017 Nissan Leaf Gen1 throws P0AF0-equivalent (Nissan uses different code numbering) from capacity loss in hot climates — Phoenix, Vegas, and Texas fleet vehicles routinely lose 30% capacity by 60k miles because Leaf Gen1 has no active pack cooling. 2010-2015 Lexus HS250h / CT200h and 2006-2013 RX400h/RX450h follow the Prius pattern but at slightly higher mileages because of better cooling. Estimated repair: $400 (single-block rebuild) to $4,500 (new OEM pack on the RX450h).
Related codes
Look up another code
More free tools