AutoDTCs – OBD-II Trouble Code LookupAutoDTCs – OBD-II Trouble Code Lookup
  • Home
  • DTC Codes
    • Powertrain (P-Codes)
    • Body (B-Codes)
    • Chassis (C-Codes)
    • Network (U-Codes)
  • Maintenance Procedures
  • About
  • Contact
  • Home
  • DTC Codes
    • Powertrain (P-Codes)
    • Body (B-Codes)
    • Chassis (C-Codes)
    • Network (U-Codes)
  • Maintenance Procedures
  • About
  • Contact
Home / Knowledge Base / Powertrain Systems (P-Codes) / Hybrid / EV Propulsion / P0D31 – Hybrid/EV Battery Charger Fan Control Circuit Range/Performance

P0D31 – Hybrid/EV Battery Charger Fan Control Circuit Range/Performance

P0D31 is a diagnostic trouble code you’ll usually see on hybrid or electric vehicles, and it points to a problem in the high-voltage battery temperature sensing circuit. When this code sets, the ECU is telling you it doesn’t trust the temperature reading from one section of the battery pack. That can affect charging, performance, and long-term battery life. In this guide, you’ll learn what P0D31 means, common symptoms, likely causes, how a mechanic would diagnose it, and what it typically costs to repair.

What Does P0D31 Mean?

P0D31 is a generic OBD-II code that typically translates to something like “Battery Charger Temperature Sensor ‘B’ Circuit Low” or “Battery Pack Temperature Sensor Circuit Low.” The exact wording varies by manufacturer, but the idea is the same: the ECU is seeing a voltage signal that’s lower than expected from one of the high-voltage battery temperature sensors or its wiring.

On hybrid and EV systems, the battery management system (BMS) constantly monitors pack temperature to protect the cells. If the ECU sees an implausible low-voltage signal (often interpreted as very low or unrealistic temperature), it flags P0D31 and may limit charging or power output to keep the battery safe.

Quick Reference

  • Code: P0D31
  • Meaning: High-voltage battery/charger temperature sensor “B” circuit low signal
  • System: Hybrid/EV battery management and charging
  • Severity: Moderate to high (battery and drivability impact)
  • Typical fix: Repair wiring, replace faulty temperature sensor or battery harness, in rare cases BMS/charger module

Real-World Example / Field Notes

In the shop, I see P0D31 most often on aging hybrids that have spent years in hot climates or doing a lot of stop-and-go driving. A common pattern is a customer complaining that the car feels sluggish, the engine runs more than usual, or the EV mode doesn’t stay on. We scan the ECU, find P0D31 stored with maybe one or two companion battery codes, and inspection usually reveals corrosion or damage in the battery temperature sensor harness. Fix the wiring or replace the sensor strip, clear the code, and the car goes back to normal operation.

Symptoms of P0D31

  • Check engine light or hybrid system warning light illuminated
  • Reduced EV performance, including weak electric assist or limited EV-only operation
  • Engine running more often than normal to compensate for limited battery use
  • Poor fuel economy on hybrids due to reduced contribution from the high-voltage battery
  • Charging limitations or slower charging behavior on plug-in hybrids/EVs
  • Cooling fan running frequently for the battery pack, even in mild conditions
  • Fail-safe or limp mode where the vehicle restricts power to protect the battery
  • Intermittent warning messages about the hybrid or EV system on the dash

Common Causes of P0D31

Most Common Causes

  • Faulty battery temperature sensor “B”: The sensor itself can fail internally, sending a low or fixed voltage signal that the ECU reads as an unrealistic temperature.
  • Damaged wiring or connector at the battery pack: Corrosion, rodent damage, or physical stress on the harness can create high resistance or open circuits, pulling the signal low.
  • Poor connector contact at the BMS/ECU: Loose pins or moisture intrusion at the battery management module can distort the sensor signal.
  • Internal harness failure in the battery pack: Some packs use integrated sensor strips that can crack or fail over time.

Less Common Causes

  • Faulty battery management system (BMS) or charger module: A bad input circuit in the control module can misread a good sensor as low voltage.
  • Previous repair or modification errors: Incorrectly routed or spliced wiring during battery replacement or collision repair can cause signal issues.
  • Water intrusion in the battery compartment: Moisture can corrode terminals and create low-voltage conditions on the sensor circuit.
  • ECU software issues: Rarely, a software glitch or outdated calibration can misinterpret sensor values and set false P0D31 codes.

Diagnosis: Step-by-Step Guide

You’ll want at least a quality scan tool that reads hybrid/EV data, a digital multimeter, basic hand tools, and ideally access to factory wiring diagrams and service information. Because you’re dealing with high-voltage components, follow all safety procedures and never open the battery pack unless you’re trained and equipped for HV work.

  1. Confirm the code and check for companions. Use a scan tool to read all stored and pending DTCs. Look for related battery temperature, voltage, or BMS codes that can help narrow the issue.
  2. Review freeze frame and live data. Check when P0D31 set (temperature, state of charge, driving conditions). Then look at all battery temperature sensor readings; one sensor reading way off from the others is a strong clue.
  3. Inspect battery area and harness externally. With the vehicle powered down and safe, inspect accessible wiring to the battery pack and BMS. Look for chafing, rodent damage, corrosion, or loose connectors.
  4. Check connectors for corrosion and pin fit. Gently disconnect low-voltage connectors (not the orange HV cables). Look for green/white corrosion, bent pins, or moisture. Clean or repair as needed.
  5. Measure sensor circuit voltage. Using the wiring diagram, backprobe the temperature sensor “B” circuit at the BMS. Compare the voltage to spec and to other temperature sensors. A stuck-low reading points to a short or failed sensor.
  6. Perform resistance checks (with power off). With the system powered down and safe, measure resistance across the suspect temperature sensor (if accessible). Compare to spec and to a known-good sensor at similar temperature.
  7. Wiggle test the harness. While watching live data or your meter, gently move the harness and connectors. If the reading jumps or the code becomes intermittent, you’ve likely found a wiring or connector issue.
  8. Check for water intrusion. Inspect the battery compartment, vents, and grommets for signs of leaks or condensation that could affect the sensor circuits.
  9. Evaluate the BMS/charger module. If the sensor and wiring test good but the input still reads low, you may have an internal fault in the BMS or charger. At this point, most DIYers should seek a specialist or dealer-level diagnosis.
  10. Clear codes and road test. After repairs, clear the DTCs, perform a proper drive cycle, and monitor battery temperature data to ensure P0D31 does not return.

Pro tip: Use Mode $06 or advanced scan tool functions (if available) to view battery-related test results. Sometimes you’ll see a marginal sensor or circuit failing a test before the code becomes hard, which helps you catch intermittent issues early.

Possible Fixes & Repair Costs

Most P0D31 repairs involve restoring a clean, reliable signal from the affected temperature sensor back to the BMS. That can mean repairing wiring, replacing a sensor strip, or in rare cases replacing the control module or even the battery pack.

  • Repair or replace damaged wiring/connectors: $150–$400, depending on access and extent of damage.
  • Replace battery temperature sensor or sensor strip: $250–$800 parts and labor, varying by vehicle and whether the sensor is integrated into the pack.
  • Repair water intrusion and corrosion: $200–$600, plus any sensor or connector replacements.
  • Replace BMS or charger module: $700–$1,800 or more, depending on programming and part cost.
  • Battery pack repair or replacement (rare for this code alone): $2,000–$6,000+ if severe internal damage is found.

Costs vary with vehicle make, labor rates, and how buried the battery pack is. Hybrids with easily accessible packs are cheaper to service than EVs where you must drop the entire pack.

Can I Still Drive With P0D31?

In many cases, you can still drive with P0D31, but the vehicle may limit electric assist, reduce power, or run the engine more often to protect the battery. Short-term driving to get home or to a shop is usually fine if the car feels stable and no additional warning lights (like “Stop Safely Now”) appear. However, you shouldn’t ignore this code for long. A faulty temperature reading can cause the system to overprotect (hurting performance) or, in a worst-case scenario, underprotect the battery if another fault develops.

What Happens If You Ignore P0D31?

If you ignore P0D31, you risk accelerated battery wear, reduced fuel economy or range, and the possibility of the car eventually entering a more severe fail-safe mode that leaves you with very limited power. Over time, a relatively simple wiring or sensor issue can contribute to expensive battery or module damage, so it’s wise to address this code sooner rather than later.

Need HVAC actuator and wiring info?

HVAC door and actuator faults often need connector views, wiring diagrams, and step-by-step test procedures to confirm the real cause before replacing parts.

Factory repair manual access for P0D31

Check repair manual access

Related Hybrid/ev Battery Codes

Compare nearby hybrid/ev battery trouble codes with similar definitions, fault patterns, and diagnostic paths.

  • P0D7D – Hybrid/EV Battery Charger Ground Fault Range/Performance
  • P0D71 – Hybrid/EV Battery Charger AC Line Frequency Sensor Circuit Range/Performance
  • P0D6C – Hybrid/EV Battery Charger AC Line Current Sensor Circuit Range/Performance
  • P0D67 – Hybrid/EV Battery Charger AC Line Voltage Sensor Circuit Range/Performance
  • P0D61 – Hybrid/EV Battery Charger AC Input Frequency Range/Performance
  • P0D56 – Hybrid/EV Battery Charger System Isolation Range/Performance

Last updated: January 22, 2026

Key Takeaways

  • P0D31 points to a low signal from a high-voltage battery or charger temperature sensor “B” circuit.
  • You’ll usually notice reduced hybrid/EV performance, more engine run time, and warning lights.
  • Most causes are wiring, connector, or sensor faults, not the entire battery pack.
  • Proper diagnosis involves scan data, voltage/resistance checks, and careful inspection of the battery harness.
  • Typical repairs range from a few hundred dollars for wiring or sensor work to much more if modules or packs are involved.

Vehicles Commonly Affected by P0D31

P0D31 shows up most frequently on hybrids and plug-in hybrids from manufacturers like Toyota, Lexus, Honda, Ford, GM (Chevrolet, GMC, Cadillac), and some European brands with advanced battery systems. You’ll see it on popular models such as the Prius, Camry Hybrid, Accord Hybrid, Fusion Hybrid, Volt, and similar vehicles that rely heavily on high-voltage battery temperature monitoring. Full battery electric vehicles from these brands can also log P0D31 when a section of the pack’s temperature sensing network develops a fault.

FAQ

Can I clear P0D31 and keep driving if the car feels normal?

You can clear the code, but if the underlying problem isn’t fixed, P0D31 will usually come back. The car may feel normal at first, but the ECU is telling you it can’t trust part of the battery temperature data. It’s better to diagnose and repair the fault than to keep resetting it.

Is P0D31 dangerous to drive with?

It’s not usually immediately dangerous, but it does involve the high-voltage battery system. If the vehicle enters fail-safe mode, you could experience reduced power or limited EV operation. As long as there are no severe warning messages and the car drives normally, you can typically drive to a shop, but don’t postpone repairs indefinitely.

Can a weak 12V battery cause P0D31?

A weak 12V battery can create all kinds of odd electrical behavior, but it’s not a common root cause for P0D31 specifically. This code is more directly tied to the high-voltage battery temperature sensor circuit. Still, if your 12V battery is marginal, it’s smart to test and replace it as part of your overall electrical health check.

How is P0D31 diagnosed at the dealership?

Dealerships use factory scan tools, wiring diagrams, and service bulletins. They’ll check live temperature data, compare sensors, run guided tests on the BMS inputs, and perform pinpoint checks on the sensor circuit. If needed, they may remove covers to inspect internal harnesses or sensor strips in the battery pack.

Can P0D31 mean my hybrid battery is failing?

P0D31 by itself usually points more to a sensor or wiring issue than to worn-out battery cells. However, if you also have codes like P0A80 or noticeable loss of capacity, the pack may be aging. Fixing the sensor circuit is step one; then the technician can evaluate the overall health of the battery using scan data and load tests.

All Categories
  • Steering Systems
  • Powertrain Systems (P-Codes
  • Suspension Systems
  • Body Systems (B-Codes
  • Wheels / Driveline
  • Chassis Systems (C-Codes
  • CAN Bus / Network Communication
  • Network & Integration (U-Codes
  • Control Module Communication
  • Engine & Powertrain
  • Vehicle Integration Systems
  • Fuel & Air Metering
  • Volkswagen
  • Ignition & Misfire
  • Mitsubishi
  • Emission System
  • BYD
  • Transmission
  • Toyota
  • Hybrid / EV Propulsion
  • Lexus
  • Cooling Systems
  • Mercedes-Benz
  • Body / Comfort & Interior
  • Dodge
  • Airbag / SRS
  • Kia
  • Climate Control / HVAC
  • Hyundai
  • ABS / Traction / Stability
  • Engine & Powertrain
  • Fuel & Air Metering
  • Ignition & Misfire
  • Emission System
  • Transmission
  • Hybrid / EV Propulsion
  • Cooling Systems
  • Body / Comfort & Interior
  • Airbag / SRS
  • Climate Control / HVAC
  • ABS / Traction / Stability
  • Steering Systems
  • Suspension Systems
  • Wheels / Driveline
  • CAN Bus / Network Communication
  • Control Module Communication
  • © 2026 AutoDTCs.com. Accurate OBD-II DTC Explanations for All Makes & Models. About · Contact · Privacy Policy · Disclaimer