OBD-II trouble code
U0335: Software Incompatibility With Hybrid/EV Battery Pack Sensor Module
On a hybrid or electric vehicle, a module has detected that the high-voltage battery pack sensor module — which monitors individual cell voltages, temperatures, and pack current — is running software or a calibration that doesn't match the rest of the vehicle's modules. It's a programming mismatch, not a wiring fault, usually following a battery service, module replacement, or reflash.
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
What does U0335 mean?
U0335 sets on hybrid and electric vehicles when a module on the network determines that the battery pack sensor module is running a software or calibration version that is incompatible with the version-matched set the rest of the vehicle expects. This module continuously measures individual cell or module-group voltages, pack temperature at multiple points, and current flow in and out of the high-voltage battery, then reports that data to the hybrid/EV battery control module so it can calculate state of charge, state of health, and safe charge/discharge limits. Because that data feeds safety-relevant calculations, manufacturers release the sensor module's firmware as a tightly version-matched set alongside the battery control module and inverter/converter modules. When the sensor module's software doesn't fit that set, U0335 is stored — the modules are still communicating, but they disagree about which software the sensor module should be running.
The cause is almost always service-related and centered on the battery pack sensor module or the high-voltage battery assembly itself. A replacement battery pack, module, or sensor board was installed without being programmed to match the vehicle's other high-voltage modules, a software update was applied to the battery control module but not the sensor module, or a reflash was interrupted or used the wrong calibration file. Because the root cause is data rather than a failed sensor wire or connector, chasing it electrically leads nowhere — the fix is bringing the sensor module's software back into a matching, manufacturer-approved set, performed by a shop equipped for high-voltage hybrid/EV work.
Because the battery pack sensor module's readings directly inform how the vehicle manages charging, discharging, and thermal protection of the high-voltage battery, a software mismatch here is treated with more caution than a typical convenience-module code. Most vehicles will respond conservatively — reducing available power, limiting regenerative braking, or restricting charging — rather than continuing to operate on data it can't fully trust, which is why this is rated medium severity despite usually remaining driveable. Any reduced-power warning, unusual state-of-charge readings, or refusal to charge alongside U0335 should be treated as a priority repair and diagnosed by a technician trained on that vehicle's high-voltage system.
Common causes
- Battery pack sensor module or replacement battery assembly installed without correct VIN-specific programming
- A used or reconditioned battery pack/sensor module installed without being re-learned to this vehicle
- Battery control module software updated but the sensor module's calibration left out of step
- An interrupted or incomplete sensor module reflash
- Reprogramming done with the wrong calibration file or for the wrong battery pack variant
- Mismatched hardware/software part numbers after high-voltage battery service
Symptoms
- Warning light and a stored U0335 (often alongside other hybrid/EV battery-related codes)
- Reduced available power or restricted acceleration ('limp' or reduced-power mode)
- Reduced or unavailable regenerative braking
- Inaccurate or erratic state-of-charge display
- Vehicle refusing to charge, charging slowly, or stopping charging early
- Condition typically appears right after high-voltage battery service, a module replacement, or a reflash
Diagnostic steps
- 1.Confirm the recent history — U0335 almost always follows high-voltage battery service, a sensor module or pack replacement, or a software update; identify what was serviced.
- 2.Using a scan tool rated for hybrid/EV high-voltage systems, read the battery pack sensor module's software/calibration part number and compare against the manufacturer's current approved set for the VIN.
- 3.Note any companion codes from the battery control module or inverter/converter modules that help confirm the sensor module is the mismatched unit.
- 4.Verify the module or pack was programmed with correct VIN-specific software, not generic or wrong-pack data.
- 5.Follow all high-voltage safety procedures (insulated tools, proper disconnect/lockout) before any physical inspection.
- 6.Reprogram/reflash the battery pack sensor module to the matching, up-to-date calibration using a manufacturer-approved tool.
- 7.Clear the codes and confirm U0335 does not return and that state of charge, power availability, and charging behave normally after a full drive/charge cycle.
Repair cost
$150 – $700
This is primarily a programming fix. Reprogramming the battery pack sensor module typically runs $150-$400, and up to $700 when dealer-only high-voltage calibrations, special tooling, or a broader battery-pack service are involved. If a mismatched or incorrect pack/sensor module was installed, correcting that hardware is the larger expense; U0335 itself is usually resolved by correct reprogramming. Costs run higher than typical U03xx codes due to the specialized high-voltage equipment and training required.
Estimate your repair
Run the numbers for your vehicle
Open the Repair Cost Estimator with pcm replacement preselected. Adjust labor rate and vehicle category to fit your situation.
DIY vs shop
Leave this one to a qualified shop. It typically involves emissions-critical components, refrigerant handling, or other work that requires manufacturer-grade tooling, training, or certification. DIY attempts often produce a more expensive problem than the original code.