OBD-II trouble code
U0335: Software Incompatibility With Hybrid/EV Battery Pack Sensor Module
A calibration mismatch on the module that measures the high-voltage battery. This one is about what the car believes rather than what it does — the pack sensor module's file encodes the cell chemistry and capacity of the specific pack fitted, so the wrong file usually means the wrong pack, not an out-of-date version.
Quick facts
- System
- Network
- Category
- Network Communication
- Severity
- Medium severity
- Drivable
- Usually safe to drive short-term
- Repair cost range
- $150 – $700
- DIY difficulty
- Shop recommended
Browse every code in U0300–U0354, or start from the full code library.
What does U0335 mean?
U0335 is stored when a module on the network finds that the high-voltage battery pack sensor module is running a calibration the rest of the vehicle does not recognise as part of its matched set. The module is communicating normally. What it disagrees about is which software it should be running.
The distinguishing thing about this module, and the reason its mismatch behaves differently from the other high-voltage software codes, is that it measures rather than acts. It watches individual cell and module-group voltages, temperature at several points in the pack, and current in and out, and it hands that data to the battery control module, which turns it into state of charge, state of health and the charge and discharge limits the car is allowed to use. Nothing in this module closes a relay or moves a contactor. So the consequence of a mismatch is epistemic: the vehicle loses confidence in what it knows about the battery, and its response is to become conservative about a resource it can no longer measure properly.
That produces a symptom set nobody associates with a network code. Range estimates that jump by twenty miles between key cycles. A charge session that stops at eighty percent and reports itself complete. A state-of-charge gauge that falls quickly and then sits still. Regenerative braking that feels strong one journey and absent the next. Drivers report these as battery problems, and the battery is usually fine.
There is a second point specific to this module that changes how the fault should be approached. Its calibration is not merely a version number — it encodes the physical characteristics of the pack that is actually fitted: cell chemistry, capacity variant, the number of temperature sensing points, the cell balancing strategy. That means the common failure here is rarely an out-of-date file. It is the wrong file, because a pack from a different capacity variant or a different model year was installed and the module was left carrying the donor vehicle's data. Used and reconditioned packs are the usual route in, and the mismatch is invisible until the car has been driven and charged enough for the numbers to stop making sense.
One consequence catches people out after the repair. This module's usefulness depends on learned data accumulated over months, and reprogramming resets it. A car that has just been correctly reflashed will report a range figure that wanders for several days until the module has seen a few full charge and discharge cycles. That is the adaptation rebuilding, not the repair having failed, and telling the owner in advance saves a return visit.
Common causes
- Used or salvage battery pack fitted while still carrying the donor vehicle's calibration
- Calibration for the wrong capacity variant or model year of pack loaded into the module
- Replacement pack sensor board installed without VIN-specific programming
- Battery control module updated while the pack sensor module's file was left behind
- Reflash interrupted by a low 12-volt battery part way through programming
- Cell chemistry or balancing strategy in the loaded file not matching the cells actually fitted
Symptoms
- Range estimate changing sharply between key cycles with no change in driving
- Charging stopping early and reporting itself complete
- State-of-charge gauge falling quickly and then appearing to stick
- Regenerative braking strength varying noticeably from journey to journey
- State-of-health figure implausible for the vehicle's age and mileage
- Fault appearing after a used or reconditioned pack was fitted rather than immediately
Diagnostic steps
- 1.Establish the pack's provenance first — a used or salvage pack still carrying the donor vehicle's calibration is the single most common route to this code.
- 2.Read the module's calibration part number and check it against the capacity variant of the pack physically fitted, not just against the latest available version.
- 3.Compare the reported per-cell voltages against each other; a file written for a different cell count or chemistry produces readings that are internally inconsistent.
- 4.Check whether the state-of-health figure is plausible for the vehicle's age and mileage, since an implausible one is evidence of the wrong file rather than a tired pack.
- 5.Read the battery control module's calibration too, because the mismatch is between the two and either could be the one out of step.
- 6.Observe all high-voltage safety procedures and use insulated tools before any physical access to the pack.
- 7.Reprogram with the file for the pack actually fitted, using a manufacturer-approved tool and a stable 12-volt supply.
- 8.Warn the owner that range and state-of-charge figures will wander for several days afterwards while the module rebuilds its learned data, and confirm the code stays away across several full charge cycles.
Repair cost
$150 – $700
Reprogramming the pack sensor module is $150 to $400, and up to $700 where the calibration is dealer-only or a broader pack service is required. The cost that matters is the one behind it: if the code is present because a pack from a different variant was fitted, reprogramming is not the fix and the pack itself is the expense. Establish which pack is physically installed before authorising any programming work, because a correct file for the wrong hardware is not an improvement.
Estimate your repair
Run the numbers for your vehicle
Open the Repair Cost Estimator with module communication / can bus diagnosis preselected. Adjust labor rate and vehicle category to fit your situation.
DIY vs shop
Leave this one to a qualified shop. The barrier here is module programming, security access, and bus-level diagnosis that need manufacturer-grade scan tools and the credentials to use them. DIY attempts often produce a more expensive problem than the original code.