P0102

  • Powertrain
  • Generic (SAE)
  • Emissions
SeveritySeverity level 3 of 5: Diagnose soon.

Diagnose soon

No fire, brake, or structural risk, but the engine is running on a substituted load value. Hesitation, stumbling, hard starting, poor throttle response, and stalling are all realistic. A stall while pulling into traffic is a genuine hazard even though the fault itself is not a safety system failure.

Safe to drive
Usually drivable, but stalling and hesitation are possible. Do not rely on it in traffic if it bogs.
Standard definition

Mass or Volume Air Flow Circuit Low Input

In plain English

The mass air flow sensor signal is below the lowest value that circuit should ever produce with the engine running. Either the signal itself is wrong — a dead sensor, a shorted or open wire, a contaminated element — or air is reaching the engine without passing the sensor. It does not automatically mean the sensor has failed.

A hot-wire or hot-film MAF measures the current needed to hold a heated element at a fixed temperature above incoming air, and outputs either an analog voltage — typically under a volt at idle rising toward roughly 4.5 volts at wide open throttle — or a frequency signal on some makes. P0102 is the low-input code: it sets when that output falls below the calibrated minimum for a defined period with the engine running. While the fault is active the module falls back to a calculated speed-density load model, which is why the engine often still runs but runs poorly.

How the car detected it

The module compares the MAF signal against a calibrated low threshold and sets the code once the signal stays below it past a calibrated time with the engine running. Implausibility against RPM, throttle angle, and manifold pressure is what sets the separate range/performance code P0101, though a few strategies fold a plausibility check into P0102 — confirm the setting criteria for the vehicle. The shape of the failure is diagnostically useful: a signal pinned near zero regardless of throttle indicates a dead sensor or a circuit shorted to ground, whereas a signal that responds to throttle but reads proportionally low points toward a contaminated element or air entering downstream of the sensor.

A trouble code records what a control module measured. It does not identify which part failed. Test before replacing anything.

Can I keep driving?
Safe to drive
Usually drivable, but stalling and hesitation are possible. Do not rely on it in traffic if it bogs.
Urgency
Diagnose soon
Will it pass emissions
No
If ignored
Driveability keeps degrading and the engine may stall, particularly at idle or during transitions. Running on a default load model means fuelling is approximate, which wastes fuel and can foul spark plugs or load the catalytic converter with unburned fuel over time. On some vehicles the transmission shift strategy also uses load, so shift quality can suffer. If the underlying cause is a split intake duct, the unfiltered air entering behind the filter is also feeding dirt straight into the engine.
Check engine light
Solid
Clearing the light
A completed drive cycle is normally required before the monitor re-runs and the light can clear.
Likely causes

These are the causes this code can have. For the order to work through them in, see what to check first.

#CauseHow oftenComponent
1MAF sensor failedVery common
2MAF connector loose or disconnectedCommon
3Signal wire shorted to groundOccasional

Ordering reflects how often each cause is responsible in general, not a probability for your vehicle. Confirm by testing.

What to check first

In order. Each of these is cheaper or faster than what follows it, and each one can make the rest unnecessary.

  1. The MAF connector

    Unplugged or partially seated is the single most common cause, especially after any recent air filter service or intake work. It is free to check and takes seconds.

  2. The intake duct between the MAF and the throttle body

    A split in the accordion section, a loose clamp, or a disconnected PCV or brake booster hose downstream of the sensor lets air in unmeasured, which reads as low flow. Squeeze and flex the duct — cracks often only open under movement.

  3. MAF grams per second in live data at warm idle

    Most engines read roughly a couple to several grams per second at warm idle, scaling with displacement. A value pinned near zero with the engine running means a dead signal, and that finding immediately redirects the diagnosis toward the circuit rather than airflow.

  4. The air filter and its housing

    A filter installed wrong, a collapsed element, or a rodent nest restricts flow genuinely. Separately, an oiled aftermarket filter contaminates the hot wire and is a frequent cause of low readings.

How a shop diagnoses this
  1. Review freeze frame for the conditions at failure

    Tools OBD-II scan tool

    Note RPM, load, throttle position, and coolant temperature when the code set. A fault that only appears at idle points differently than one that only appears under load or during acceleration.

    Expected

    A clear pattern of when the fault occurs

  2. Inspect the entire intake tract from filter to throttle body

    Tools Light, hands, screwdriver

    Check that the connector is fully seated, the duct has no splits or loose clamps, every vacuum line downstream of the MAF is attached, and the filter is correctly installed. Flex the duct while the engine idles and listen for changes.

    Expected

    Sealed intake tract with no unmetered air path

  3. Watch MAF response on a snap throttle

    Tools Scan tool with graphing

    With the engine warm, graph MAF grams per second and snap the throttle. The reading should rise sharply and fall back smoothly. No response at all indicates a dead sensor or circuit. A sluggish or capped response indicates contamination or restriction.

    Expected

    Sharp rise on throttle, clean return to idle value

  4. Verify MAF power, ground, and signal circuits

    Tools Multimeter, back-probe leads, wiring diagram

    Most hot-wire sensors need switched power, a good ground, and a signal return to the module. Pin assignments vary by manufacturer, so use the wiring diagram. Check for supply voltage key on, then voltage-drop the ground under running conditions.

    Expected

    Supply near battery voltage, ground drop under 0.5 V

  5. Test the signal wire for a short to ground

    Tools Multimeter, wiring diagram

    A signal pinned at zero is often a grounded wire rather than a dead sensor. Disconnect both the sensor and the module, then check continuity from the signal pin to chassis ground. Continuity confirms a shorted harness and saves you a sensor.

    Expected

    No continuity from signal wire to ground

  6. Cross-check fuel trims and calculated load

    Tools Scan tool live data

    Compare short and long term fuel trims with the MAF reading. Air entering downstream of the sensor typically drives long-term trims positive while the sensor still responds to throttle. A shorted signal circuit usually forces the default load model instead, producing different trim behaviour.

    Expected

    Trim pattern that matches one specific failure mode

  7. Inspect the sensing element and clean if contaminated

    Tools MAF-specific cleaner, torx or security bits

    Remove the sensor and look at the wire or film. An oily film, dust, or debris is a legitimate finding. Clean only with a dedicated MAF cleaner sprayed on, never wiped — the element is fragile and any contact destroys it. Let it dry fully before refitting.

    Expected

    Clean, undamaged element and a signal that returns to a plausible value

  8. Confirm with a road test and re-check readiness

    Tools Scan tool with graphing

    Clear codes and drive through idle, light cruise, and acceleration. Verify MAF tracks load plausibly across the range and fuel trims settle. A sensor that reads correctly only right after cleaning and drifts again within days is a failing sensor, not a cleaning success.

    Expected

    Stable, plausible MAF across the load range, no code return

Possible repairs and what they cost
RepairOnly after you confirmTypical costWho
Replace the mass air flow sensorNo signal or a signal pinned near zero with verified good power, ground, and an intact signal wire, and no unmetered air path found$160–$520DIY
Clean the MAF sensing elementVisible contamination on the element and a signal that returns to a plausible value and stays there after cleaning$0–$130DIY
Replace the intake duct or reseat the connectorA visible split or loose clamp, or a signal and idle that correct when the duct is sealed by hand$60–$320DIY
Repair a shorted or open MAF signal wire or connectorContinuity from the signal wire to ground, or a break in continuity between sensor and module$120–$420DIY
Replace a restricted or incorrectly installed air filter and remove the source of contaminationRestricted or oiled filter found, with MAF readings normalising after the correct filter is fitted$30–$150DIY

MAF sensors are one of the parts where cheap aftermarket units cause the most repeat failures, so the higher end of the range often reflects an OE or OE-supplier part that actually holds calibration. Labour is usually short because the sensor sits in the intake tract, so parts dominate the bill. A wiring repair costs less in parts but more in diagnostic time.

Common mistakes with this code
  • Replacing the MAF sensor for what is a split intake boot or a connector that was never fully clicked back on after an air filter change.
  • Cleaning the element with carburettor cleaner, brake cleaner, or a rag. Only a dedicated MAF cleaner, sprayed on and never touched, will leave the element intact.
  • Replacing a contaminated MAF while leaving the oiled aftermarket air filter that contaminated it in place, so the new sensor fails the same way.
  • Assuming P0102 and P0101 are interchangeable. P0102 is a low-input circuit code; P0101 is a range and performance code with different criteria and often a different cause.
  • Overlooking genuinely low airflow — a badly restricted exhaust, a collapsed intake duct, or heavy engine wear can make the sensor's low reading entirely accurate.
Components involved
Sources
Definition
Generic code set (SAE J2012 / ISO 15031-6) via the OBDexopen database, dedicated to the public domain under CC0-1.0.
Diagnostic guidance
Written and reviewed in-house. See our editorial policy.
Review status
Reviewed

Found something wrong? Tell us — we publish corrections.