P0331 Code: Knock Sensor 2 Circuit Range/Performance (Bank 2)
The P0331 code means the signal from knock sensor 2 (bank 2) is electrically valid but does not match what the computer expects. The engine keeps running, but with the ignition timing retarded and less power. You can drive, but get it repaired, because uncontrolled knock can damage the engine.
- Severity
- Medium
- Can I keep driving?
- Yes, no immediate risk
- Estimated cost
- $40 to $450
- Difficulty
- Medium
- System
- Ignition and Misfires
- Applies to
- All OBD2 vehicles
On this page
What the P0331 code means
Without its signal, the computer retards the ignition timing for safety. The engine runs, but with less power and higher fuel use. The P0331 code is stored when that signal does not behave the way the computer expects.
The knock sensor is a piezoelectric microphone bolted to the engine block. It generates a small alternating voltage from vibrations. Many computers apply a bias voltage to it (often 2.5 V) and watch that the signal stays around that value. A range fault means the signal is not behaving as the computer expects: too much noise, or too little signal for the engine speed.
The knock sensor page on this site shows how to test it step by step. Remember that the code tells you where the computer saw the fault, not necessarily which part is bad.
P0331 code symptoms
- Check engine light on.
- Loss of power and sluggish response.
- Higher fuel use.
- Audible pinging when you accelerate under load, if the sensor is not detecting.
- In many cases you notice nothing else.
Likely causes of the P0331 code
- Damaged sensor connector or wire. It sits under the manifold, exposed to heat and oil.
- Failed sensor. The piezoelectric element cracks.
- Wrong tightening torque. A loose or over-tightened sensor changes its sensitivity.
- Real mechanical noise. Valves, connecting rods or accessories that the sensor reads as knock.
- Computer. Uncommon.
How to diagnose the P0331 code step by step
- Read the knock retard in live data. It should be close to zero at idle.
- Inspect the connector and the wire. They are often under the intake manifold.
- Measure the sensor resistance according to the manual (some should read a specific high value and others infinity).
- Tap the block gently near the sensor with the engine idling. Timing retard should appear, or a signal on the oscilloscope.
- Check the bias voltage if the system uses one (often 2.5 V with the connector plugged in).
- Verify the tightening torque of the sensor against the manufacturer specification.
How to fix the P0331 code
- Repair the connector or the wire.
- Replace the sensor and tighten it to the specified torque, with no washers or sealant.
- If there is real mechanical noise, repair it first.
- Clear the codes and verify on a road test.
Technical reference data
- Piezoelectric sensor with 1 or 2 wires.
- Typical tightening torque: 15 to 25 N·m (about 11 to 18 lb-ft).
- Common bias voltage: about 2.5 V.
- These values are for orientation only. Check the manufacturer data for your engine.
Brand-specific notes
P0331 on GM
On GM V6 and V8 engines the knock sensors are under the intake manifold. Their wiring harness deteriorates with heat, and it is common to replace the harness and the sensors at the same time.
P0331 on Nissan
On Nissan V6 and V8 engines the knock sensors are under the intake manifold. Their wiring harness deteriorates with heat, and it is common to replace the harness and the sensors at the same time.
P0331 on Toyota
On Toyota V6 and V8 engines the knock sensors are under the intake manifold. Their wiring harness deteriorates with heat, and it is common to replace the harness and the sensors at the same time.
P0331 on Subaru
On Subaru the sensor usually fails because of poor tightening after another repair.
Questions about the P0331 code
There are no questions about this code yet. Tell us about your case: vehicle, symptoms and what you have already checked.