When your check engine light flickers on during startup, sometimes flashing before settling into a steady glow, and your starter motor works fine one day but struggles the next you're dealing with one of the more frustrating automotive problems to diagnose. Intermittent starter motor failures rarely leave clean, obvious clues. The problem comes and goes, and standard diagnostic approaches can miss it entirely. That's exactly why using an OBD2 code scanner the right way for this specific combination of symptoms matters. Without it, you're guessing. With it, you're narrowing down a moving target.

What does it mean when a starter motor problem triggers the check engine light?

Most people think the starter motor is separate from the engine control system, and mechanically, it is. But the electrical side tells a different story. When a starter draws too much current, causes a voltage drop, or sends erratic signals through the starting circuit, the engine control module (ECM) can detect abnormal voltage or communication faults. The ECM responds by setting a diagnostic trouble code (DTC) and turning on the check engine light.

In intermittent cases, the starter might crank fine 20 times in a row, then hesitate or fail once just enough to trip a code. You may not even notice the hiccup, but your car's computer did.

Why does the check engine light flash before staying solid during a starter issue?

A flashing check engine light usually signals a misfire or a more urgent fault. With a weak or failing starter motor, what's happening is this: the starter cranks unevenly, causing the engine to stumble or briefly misfire during startup. The ECM detects the misfire pattern and flashes the light as a warning. Once the engine catches and runs normally, the light stops flashing but stays on because the code was already stored.

This flashing-then-steady pattern is a strong clue that the problem is related to starting, not ongoing engine performance. If you want to dig deeper into this specific behavior, our guide on why the starter motor causes the check engine light to flash then stay solid walks through the mechanics step by step.

How do you read OBD2 codes when the check engine light flashes then stays on?

Connect your OBD2 scanner to the port under the dashboard before you turn off the engine, or immediately after startup while the light is still on. Key-on, engine-off (KOEO) mode works too if the engine won't start at all. The scanner pulls stored, pending, and sometimes permanent codes from the ECM.

For intermittent starter problems, pay close attention to pending codes. These are fault codes that have been detected once but haven't yet confirmed as a recurring issue. A pending code for crankshaft position sensor correlation, for example, could point to inconsistent cranking speed caused by a failing starter. Our walkthrough on how to read OBD2 codes when the check engine light flashes then stays solid on startup covers the full scanning process.

What OBD2 codes show up with an intermittent starter motor failure?

There isn't a single "bad starter" code in the OBD2 system. Instead, you'll often see codes that are consequences of the starter not working properly. Common ones include:

  • P0335 Crankshaft Position Sensor "A" Circuit Malfunction. An inconsistent starter speed can confuse the crankshaft position sensor.
  • P0340 Camshaft Position Sensor Circuit Malfunction. Similar cause uneven cranking disrupts the cam-crank correlation.
  • P0562 System Voltage Low. A starter pulling excessive current can drop system voltage below the threshold.
  • P0620 Generator Control Circuit. Voltage irregularities during cranking can set alternator-related codes.
  • P0616 / P0617 Starter Relay Circuit Low/High. These point directly at the starter relay or solenoid wiring.
  • U-codes (communication faults). Severe voltage drops during cranking can interrupt CAN bus communication between modules.

Reading these codes is just the first part. The real diagnostic work is figuring out whether the code was caused by the starter itself, the relay, the wiring, or a weak battery that made the starter struggle.

Can a bad starter relay cause intermittent starting and a check engine light?

Absolutely. The starter relay is a common failure point that mimics a bad starter motor. When the relay contacts wear out or develop internal resistance, you get intermittent no-crank or slow-crank conditions. The relay may click but not deliver full current to the starter. The ECM sees the resulting voltage sag or cranking irregularity and sets a code.

Testing the relay is straightforward with a multimeter, and it can save you from replacing a starter that's actually fine. If you suspect the relay, check out our DIY starter motor relay test for a step-by-step method you can do at home.

What are the most common mistakes people make when troubleshooting this?

Clearing codes without reading them first. If you reset the check engine light before pulling codes, you lose the diagnostic evidence. Always scan before clearing.

Only checking for stored codes. Intermittent faults often live in the pending code list. A scanner that only shows stored codes will miss half the picture.

Replacing the starter without testing the circuit. Before spending money on a new starter motor, test battery voltage during cranking (should stay above 9.6V), check the starter relay, and inspect the ground connections. A corroded ground strap can cause all the same symptoms as a dying starter.

Ignoring freeze frame data. Most scanners show freeze frame information alongside codes engine temperature, RPM, voltage, and load at the moment the fault occurred. This data helps you recreate the exact conditions that triggered the code.

Assuming the check engine light is unrelated. Some people ignore the light because the car "starts fine now." With intermittent issues, the code is your only breadcrumb trail. Use it.

How do you catch an intermittent starter problem that won't show up during testing?

Intermittent problems are hard because they hide when you're looking for them. Here's how to improve your odds:

  • Use the freeze frame data and pending codes from multiple scans over several days. Compare them for patterns.
  • Monitor live data while cranking. Watch battery voltage and engine RPM during startup. A healthy starter cranks at a consistent RPM. A failing one shows erratic speed or voltage drops.
  • Wiggle test the wiring. With the engine off, gently move the starter wiring harness and connections. If the problem is a loose or corroded wire, this can reveal it.
  • Check the starter current draw with a clamp meter. A worn starter draws excessive amperage. Normal draw is typically 60–150 amps for most passenger vehicles. Anything significantly higher points to internal starter wear.
  • Log your scans. Note the date, mileage, weather conditions, and what the car was doing when the light came on. Over time, patterns emerge.

For more on how the starter circuit interacts with the check engine light during startup, refer to this NHTSA resource on diagnostic scanners and vehicle electronics for background on how OBD2 systems monitor starting circuits.

Should you clear the code and wait to see if it comes back?

That's a valid approach, but only after you've recorded the code, freeze frame data, and any pending codes. Clear everything, drive normally, and rescan in a few days. If the same code returns, the problem is active and needs attention. If it doesn't return after a couple of weeks and several start cycles, it may have been a one-time event caused by a weak battery or extreme cold.

One caution: don't clear codes right before an emissions test. Cleared codes erase the readiness monitors, and your vehicle won't pass inspection until the monitors run again, which can take several days of driving.

What should you actually do next?

Start with the scanner. Pull every code stored, pending, and permanent. Write them down, along with freeze frame data. Then work the circuit systematically: battery, cables, ground connections, relay, solenoid, and finally the starter motor itself. Don't skip steps to save time that's how people end up replacing parts they didn't need.

Quick Troubleshooting Checklist

  1. Connect your OBD2 scanner and read all code types (stored, pending, permanent)
  2. Record freeze frame data for each code
  3. Check battery voltage at rest (should be 12.4V+) and during cranking (should stay above 9.6V)
  4. Inspect battery terminals and ground straps for corrosion or looseness
  5. Test the starter relay with a multimeter or swap it with an identical relay from another circuit
  6. Measure starter current draw with a clamp-on ammeter during cranking
  7. Check wiring between the battery, relay, and starter for damage or corrosion
  8. If all circuits test normal, the starter motor itself likely needs replacement
  9. Clear codes after repairs, drive for a week, and rescan to confirm the fix

Keep your diagnostic notes organized even simple records help when problems return. If you maintain logs digitally, a clean layout with a readable typeface like Roboto makes your scan history easy to review and share with a mechanic if needed.