P066B

Internal Control Module Non-Volatile Random Access Memory (NVRAM) Performance

P066B is a generic OBD-II powertrain diagnostic trouble code: Internal Control Module Non-Volatile Random Access Memory (NVRAM) Performance. It is logged by the engine control unit when the powertrain monitor detects that a specific fault threshold has been exceeded — typically resulting in the malfunction-indicator lamp (MIL / check-engine light) being illuminated.

Code
P066B
Group
Powertrain
System
Powertrain
Severity
Warning (MIL on)
Need P066B disabled?
RaceTune permanently disables any OBD-II trouble code on supported ECUs — for motorsport, off-road, and export use.

What P066B means

P066B is stored when the control module detects a performance fault in its internal non-volatile random access memory (NVRAM). NVRAM retains learned values, adaptive calibrations, long-term fuel trim data, and configuration parameters that must persist across key-off cycles without applied power. A performance fault means the NVRAM is present and accessible but is not retaining or delivering data with the expected reliability.

Unlike a hard NVRAM error that prevents reading or writing entirely, a performance fault often shows up as data that fails checksum verification, reads back incorrectly after a write, or degrades over repeated access. In response the module may reset adaptive values to defaults, which affects fuel trim, idle control, and transmission shift adaptation.

The practical effect is that the vehicle can behave like a freshly reset controller, with rough idle, poor fuel economy, or jerky shifting until adaptive learning re-establishes. This code appears most often on Ford, Volvo, Mazda, and Lincoln vehicles and is associated with voltage spikes, low battery voltage, corrosion or water intrusion, and failed programming. Persistent faults after those causes are eliminated indicate internal module degradation and typically require replacement.

Common causes

Most-frequently reported root causes when P066B is logged.

  • 1
    NVRAM cell degradation due to age or excessive write cycles.
  • 2
    Internal module hardware fault affecting the NVRAM interface circuit.
  • 3
    Voltage spikes or low battery voltage corrupting stored data.
  • 4
    Water intrusion or corrosion in the module connector.
  • 5
    Improper module programming or a failed firmware update.
  • 6
    Corrupted module software causing incorrect NVRAM read/write operations.
  • 7
    Poor power supply or ground connections to the module.

Symptoms drivers notice

Check engine light illuminated with P066B stored.
Loss of long-term fuel trims and adaptive learned values after key cycles.
Rough idle or poor driveability until adaptive learning re-adapts.
Transmission shift quality degradation if adaptive data is affected.
Other internal module codes may accompany P066B.

How to diagnose P066B

A typical diagnostic flow when this code is present.

  1. 1
    Read and record all stored DTCs; multiple internal module codes alongside P066B suggest a module hardware fault.
  2. 2
    Check for recent events such as battery replacement, jump-starting, or a failed reflash.
  3. 3
    Verify battery and charging system health and confirm stable supply voltage with no spikes.
  4. 4
    Inspect the module power, ground, and connector for corrosion or water intrusion.
  5. 5
    Apply a module software update if a calibration addressing NVRAM management is available.
  6. 6
    Clear the code and retest over drive cycles to see whether the fault returns.
  7. 7
    If the fault returns consistently with no external cause, evaluate the module for replacement.

Vehicles where we've handled P066B

Platforms in our catalogue with confirmed P066B coverage.

BMW 320D
2016

Related powertrain codes

Frequently asked questions

Does P066B mean I lose my fuel trims every time I turn the car off?

In an active NVRAM fault, yes. Long-term learned values may not persist across key-off cycles, forcing re-learning each start.

Can a software update fix P066B?

If the cause is a software bug or a failed prior reflash, a proper update can help. If the physical NVRAM is degraded, software cannot repair the hardware.

Which vehicles most commonly set P066B?

It is reported most often on Ford, Volvo, Mazda, and Lincoln vehicles, frequently tied to voltage spikes, corrosion, or programming issues.

Will disconnecting the battery clear P066B permanently?

No. It may temporarily clear stored codes, but if the NVRAM hardware is faulty the code returns once the module runs its self-diagnostic routine.

Disabling P066B in software

RaceTune can permanently disable P066B — and any other OBD-II diagnostic trouble code — on every ECU family we support. The monitor is disabled inside the ECU itself, so the fault stops being logged: the warning light stays off and the engine never enters limp mode for this code. The change is tied to your exact software version.

Permanent
The monitor is disabled in the ECU itself — not just cleared. It cannot return.
Tailored to your file
Each patch is matched to your specific software version — never a one-size-fits-all file.
Reversible
The original file is always preserved. Reflash the stock to return the ECU to factory state.

ECU families we can disable P066B on

We hold the DaVinci A2L disable definitions for these families, so the exact P066B path and mask addresses are mapped. verified marks a confirmed disable definition. We support many more — upload your file and our identifier will match it automatically.

  • Bosch EDC17C50 verified
  • Bosch EDC17C56 verified
  • Bosch EDC17C60 verified
  • Bosch EDC17CP44 verified
  • Bosch MD1CP002 verified
  • Bosch MD1CP004 verified
  • Bosch MD1CS001 verified

Software modifications affect emissions compliance and are not road-legal in many jurisdictions. RaceTune service files are intended for motorsport, off-road, and export use.

Got P066B in your scan?

Upload your ECU file — we'll identify the exact software version and confirm whether a disable is available for your car.

Upload your file