Mazda P1684 – Metering Oil Pump Position Sensor Circuit Malfunction Trouble Code Info

SPECIAL NOTES ON MAZDA OBD II CODE P1684 – “Metering oil pump position sensor circuit”

OBD II fault code P1684 is defined by carmaker Mazda as “Metering Oil Pump Position Sensor Circuit Malfunction”, and is set when the PCM (Powertrain Control Module) on applications fitted with Wankel (rotary), engines detects a failure or malfunction in the electrical circuit that controls the operation of the oil-metering pump.

Unlike reciprocating engines, rotary engines develop torque through the spinning of two or more “triangular” rotors, each of which is enclosed in a near-oval vessel that is roughly analogous to the cylinders of conventional engines. Refer to the image below.


Note the seals at the apex of each “corner” of the rotor. These seals perform the same function as the rings on a conventional piston, and as such, they need constant lubrication. However, because of their small cross section, the oil used to lubricate these seals aid in forming a seal to contain both the air/fuel mixture during compression, and the resulting combustion pressure during the “power stroke”.

The large black ring on the face of the rotor is a seal (repeated on the far side of the rotor) that bears on the surface of the end plate that seals off the rotor housing. Note that in the image shown here, the front end plate is removed for the sake of clarity. Nonetheless, since the rotor, well, rotates, the oil that seals and lubricates the side seals are continually being flung off, and as with the oil on the apex seals (that continually burn off), the rotor has to be continually lubricated with a constant supply of oil.

Continual lubrication of a rotary engine is accomplished with an oil-metering pump that is driven by the engine, but controlled by a stepper motor that can adjust (via the PCM) the amount of oil being metered based on engine speed and load. However, other internal components of the engine such as the eccentric shaft bearings, thrust needle bearings, and rotor bearings (that are analogous to the small and big end bearings of a conventional engine) also require a continuous supply of oil, which is also supplied by the metering pump.

Oil delivery to the various components is accomplished by taking oil from the delivery side of a high-pressure oil pump (also driven by the engine), and routing it to where it is required through small-diameter oil passages (not shown in the image above), via pressurized oil flowing through a moveable plunger.

In terms of practicalities, all oil passages running through the engine casing converge in a cavity in the casing, into which the aforementioned moveable plunger fits. The plunger, (which is connected to the oil-metering pump’s control mechanism), is also provided with oil passages that align with the passages in the engine casing, and by moving the plunger to the point where the oil passages in the plunger and casing align 100%, the maximum amount of oil is delivered.

Conversely, by moving the plunger in such a way that the alignment between the oil passages is reduced, the amount of oil delivered to the engine is reduced by a corresponding percentage. In practice, the position of the plunger (relative to the fixed oil passages in the engine) changes constantly as the engine speed/load changes, with the changes being the result of information and data gathered by the PCM from various driveability sensors. Note that when the engine is shut down, the PCM sets the plunger to deliver 50% of the maximum oil flow as a default setting to ensure that sufficient oil is available to all engine components at the next start-up.

Thus, when the PCM detects a discrepancy between the desired position of the plunger, based on the current engine speed/load, and the plungers’ actual, measured position, it will set code P1684 and illuminate a warning light.

The image below shows detail of the operating mechanism of a rotary engine oil-metering pump. The small gear acting on the rack that moves the plunger is connected to the stepper motor, which is in turn connected to the PCM via the electrical connector shown in the image.


Common Symptoms of code P1684 – “Metering oil pump position sensor circuit”

Apart from a stored trouble code and an illuminated warning light, other possible symptoms could include the following-

  • Possible engine failure due to lack of lubrication of the engine at high engine speeds
  • Possible spark plug fouling due to too much oil being injected at low engine speeds
  • Vehicle could enter limp mode

Troubleshooting code P1684 – “Metering oil pump position sensor circuit”

NOTE: Generally speaking, both mechanical and electrically operated oil-metering pumps on rotary engines are virtually indestructible, and most failures are caused by wiring issues, or faults in the PCM that influence the operation of the stepper motor. Therefore, any diagnostic procedure for this code should start with an inspection of associated wiring, as opposed to an inspection, and an almost certainly unnecessary replacement of the oil-metering pump.

Step 1

Record all fault codes present, as well as all available freeze frame data. This data could be of use should an intermittent fault be diagnosed later on.

Step 2

Consult the manual to determine the location, function, color-coding, and routing of all associated wiring. Perform a thorough visual inspection of all associated wiring (including fuses), and look for damaged, burnt, shorted, disconnected, or corroded wiring and/or connectors. Make repairs as required, clear all codes, and rescan the system to see if the code returns. Note that on late-model applications, it may be necessary to complete at least one drive cycle as described in the manual before the code can be cleared.

Step 3

If no visible damage to the wiring is found, prepare to perform ground, resistance, and continuity checks on all wiring. Note that on most applications, the ground for the stepper motor is supplied by the PCM, so consult the manual on the correct procedure to establish the ground connection.

Compare all obtained readings with the values stated in the manual, and make repairs as required if discrepancies are found to ensure that all electrical values fall within the manufacturers’ specifications.

NOTE: Be sure to disconnect the oil-metering pump from the PCM during resistance and continuity checks to prevent damage to the controller.

Step 4

If the code persists despite having made repairs to the wiring, consult the manual on the correct procedure to check the internal resistance of the stepper motor, and replace the pump/stepper motor assembly if the motors’ resistance does not agree with the specified value. Clear the code after the pump/motor replacement, and retest the system to see if the code returns.

NOTE: Since oil-metering pumps and stepper motors have a close-to-zero failure rate, be sure to double check the motors’ resistance if a discrepancy between the stated, and actual resistance is found. Only replace the pump/motor assembly if a repeat of the tests in Step 3 and Step 4 yield the same results.

Step 5

If however, all electrical values fall within the manufacturer’s specifications, suspect a defective PCM. To confirm this, remove the metering pump, and use the scanner to command the motor to move from the minimum, to maximum position several times. On most scanners, this movement will be displayed as a percentage, but if the scanner does not have control functions, apply direct current to the stepper motor to verify that its operation falls within the expected range.

NOTE: Before applying direct current to any control mechanism, consult the manual on the voltage required, as well as the correct procedure to apply the current. Failure to do this could result in a misdiagnosis or worse, fatal damage to the device being tested.

Step 6

If manual operation of the stepper motor shows the motor to be working as intended, replace the PCM, but be aware that the replacement PCM might require reprogramming, especially on late model applications.

Common Causes of code P1684 – “Metering oil pump position sensor circuit”

Failure of the metering pump and/or stepper motor is extremely rare, which greatly reduces the number of common causes of P1684 on rotary engines. Common causes could however include the following-

  • Damaged, burnt, shorted, disconnected, and corroded wiring and/or connectors
  • Open circuits
  • PCM failure. Note that in terms of failure rates, the PCM on an application fitted with a rotary engine is likely to fail before a failure of the oil-metering pump/stepper motor assembly will occur.

Codes related to P1684 – “Metering oil pump position sensor circuit”

The codes listed below are all related to the oil metering pumps, and/or their control circuits fitted to rotary engines. Note that where different codes have the same definition, the codes apply to different engines (B13/B20), different model years, or different pump designs.

  • P1680 – “Metering Oil Pump Malfunction”

  • P1681 – “Metering Oil Pump Malfunction”

  • P1682 – “Metering Oil Pump Malfunction”

  • P1683 – “Metering Oil Pump Temperature Sensor Circuit Malfunction”

  • P1685 – “Metering Oil Pump Stepping Motor Circuit Malfunction”

  • P1686 – “Metering Oil Pump Stepping Motor Circuit Malfunction”

  • P1687 – “Metering Oil Pump Stepping Motor Circuit Malfunction”

  • P1688 – “Metering Oil Pump Stepping Motor Circuit Malfunction”