Harley Check Engine Light & DTC Codes: How to Read Them Yourself

A check engine light on your Harley stores a DTC – Diagnostic Trouble Code – that you can read yourself using the trip odometer button. Our research decoded the 2019 M8 Service Manual step-by-step procedure plus a full table of common Milwaukee-8 fault codes with plain-English meanings and fixes.

Published Categorized as Harley Davidson, Problems & Troubleshooting
harley check engine light dtc codes

A check engine light (CEL) on your Harley-Davidson means the ECM has logged at least one Diagnostic Trouble Code (DTC) — a stored fault that points to a specific circuit, sensor, or system. On Milwaukee-8 touring models, you can read those codes yourself in under five minutes using the trip odometer button on the left handlebar, no scanner required.

Our research team analyzed the 2019 Touring Service Manual M8, the 2013 Dyna Electrical Diagnosis Manual, and hundreds of owner threads on HDForums and RoadGlide.net to build the most complete owner-level DTC reference for Harley riders in 2026. Below you will find the exact factory procedure, what each common code actually means, and when you genuinely need a dealer visit versus when you can clear the code yourself.

What Does the Check Engine Light Mean on a Harley?

The check engine lamp (also called the MIL – Malfunction Indicator Lamp) illuminates when one or more DTCs are stored in the ECM (Engine Control Module), BCM (Body Control Module), speedometer module, or ABS unit. Non-emission-related DTCs also light the security lamp – the small padlock icon – rather than the amber check engine icon, which confuses many owners.

Per the HD Service Manual (2019 Touring M8, p. 7-4): the security lamp turns on when current DTCs are present in the BCM, and non-emission related DTCs are present in the ECM. Emissions-related faults use the check engine lamp and keep it illuminated for three warm-up cycles even after the fault clears to current-historic status. Understanding which lamp is on helps you triage the problem immediately.

How to Read Harley DTC Codes Without a Scanner

Every fuel-injected Harley-Davidson from 2004 onward stores fault codes in the speedometer module – and you can retrieve them using only the trip odometer reset button. The procedure differs slightly by era, but the core method is identical across Twin Cam and Milwaukee-8 platforms.

Milwaukee-8 Models (2017-Present): Odometer Trigger Switch Method

Per the HD Service Manual (2019 Touring M8, pp. 7-7 to 7-8), the procedure is as follows:

  1. Engine stop switch to RUN, ignition OFF.
  2. Press and hold the trip odometer trigger switch (left handlebar control) while turning ignition to ON.
  3. Release the switch. The odometer display shows diag.
  4. Press and release to cycle through modules: ECM (with Y/N for codes present), BCM, SPDO, ABS, RAD.
  5. Press and hold on the desired module to enter it. DTCs scroll through one by one with each quick press.
  6. When the display shows end, all codes for that module have been shown.
  7. To clear DTCs: press and hold the switch while a DTC is displayed. The module part number appears and codes are cleared.
  8. Turn IGN OFF to exit (or the bike exits automatically when it starts moving).

Note: Per the 2019 M8 Service Manual, if the CAN bus has a problem, the odometer self-diagnostic mode may not function. CAN bus faults themselves show as U-series DTCs (U0001, U0100, etc.) and require a Digital Technician II scan tool (HD-48650).

Twin Cam Models (2004-2016): Trip Odometer Reset Switch Method

Per the 2013 Dyna Electrical Diagnosis Manual (pp. 2-1 to 2-2) and the 2008 Touring Electrical Diagnostics Manual (p. 2-11), the procedure is nearly identical but uses the trip odometer reset switch (the same button used to zero Trip A/B):

  1. Press and hold the trip odometer reset switch on the left handlebar while turning ignition ON. Keep the engine stop switch in RUN.
  2. Release. Display shows diag – you are in diagnostic mode.
  3. Press and release to cycle modules: ECM (Y/N), BCM (Y/N), SPDO, TACH, ABS. Models without tach or ABS show no rsp – that is normal.
  4. Press and hold on the desired module. DTCs appear; quick press cycles to the next code.
  5. To clear: press and hold while a DTC is displayed.
  6. Turn ignition OFF to exit.

On 2007 and earlier Touring models, the approach is the same but the display uses a “WOW” test sequence on entry – all gauges sweep and lamps illuminate to confirm the instrument module is alive before codes appear.

Understanding DTC Types: Current, Pending, Historic

Per the HD Service Manual (2019 Touring M8, p. 7-8), Harley stores three categories of codes:

DTC TypeWhat It MeansWhat To Do
CurrentFault is active right now in this ignition cycleDiagnose immediately – follow the specific DTC procedure
PendingFault seen once but not yet repeated enough to set as currentWatch for recurrence; note the code and monitor
HistoricFault resolved itself; stored for 40 ignition cycles, then auto-clearsDo not diagnose unless fault is recurring and intermittent

The odometer self-diagnostics displays both current and historic codes. To differentiate them precisely, you need the Digital Technician II scan tool (HD Part #HD-48650) – the odometer alone cannot distinguish a current from a historic code. In practice: if your check engine light is OFF and you find a code in odometer mode, it is almost certainly historic. If the lamp is ON, at least one current DTC is stored.

Common Harley Milwaukee-8 DTC Codes: Reference Table

The following table is compiled directly from Table 7-3 of the HD Service Manual (2019 Touring M8), cross-referenced with the fault conditions documented in the electrical diagnostics section. All code meanings are from the factory manual.

.dtc-table-wrap { overflow-x: auto; margin: 1.5em 0; } .dtc-table { width: 100%; border-collapse: collapse; font-size: 0.92em; } .dtc-table th { background: #1a1a1a; color: #fff; padding: 10px 12px; text-align: left; } .dtc-table td { padding: 9px 12px; border-bottom: 1px solid #e0e0e0; vertical-align: top; } .dtc-table tr:nth-child(even) td { background: #f7f7f7; } .dtc-table .code { font-family: monospace; font-weight: 700; color: #c0392b; }
DTC CodeFactory Fault Condition (HD Service Manual)Plain-English MeaningPriorityTypical Fix
P0107MAP sensor failed low/openManifold air pressure sensor reading below minimum – open wire or failed sensor100Check TMAP sensor connector [80]; replace sensor if connector is good
P0108MAP sensor failed high/open portMAP sensor reading above maximum – sensor port blocked or shorted high101Check TMAP vacuum port for blockage; replace sensor
P0112IAT sensor shorted lowIntake air temperature sensor wire shorted to ground – reads falsely cold123Inspect TMAP sensor wiring; replace TMAP sensor
P0117ET sensor shorted lowEngine temperature sensor reads falsely low – common after hard cold start102Check ET sensor connector and wiring; replace sensor
P0118ET sensor high/openET sensor reads above maximum or open circuit – overtemp or broken wire107Check ET sensor connector; replace if wiring intact
P0131O2 sensor low/engine lean (front)Front oxygen sensor reporting lean mixture – exhaust leak near sensor or failed HO2S157Check for exhaust leaks at head pipe; inspect O2 connector; check fuel trim
P0132Engine running rich (front)Front HO2S sees excessively rich condition – fuel injector leak, high fuel pressure, or failed O2 sensor159Check fuel pressure; inspect front injector; check O2 sensor wiring
P0261 / P0264Fuel injector low/open (front / rear)Injector circuit open – broken wire, bad injector, or failed ECM driver96 / 98Test injector resistance (11-13 ohm at room temp); check injector wiring
P0325Knock sensor front open circuitFront knock sensor wire open – ECM cannot retard timing to prevent detonation139Inspect knock sensor wiring harness; replace sensor if wiring intact; run higher-octane fuel as interim
P0371 / P0374CKP sensor wrong number of pulses / no pulsesCrankshaft position sensor issue – no-start or erratic running. Common M8 stall code65 / 64Inspect CKP connector and air gap; clean reluctor ring; replace sensor if damaged
P0444 / P0445Purge solenoid low/open / shorted highEvaporative emission purge valve circuit fault – bike runs normally but fails emissions147 / 148Check purge solenoid connector; test solenoid coil resistance; replace if faulty
P0505Idle speed control – unstableECM cannot maintain stable idle – vacuum leak, dirty throttle body, or ignition issue148Check throttle body for carbon; check intake vacuum leaks; inspect TPS sensors
P0562ECM voltage lowBattery or charging system voltage below ECM threshold – dying battery, bad ground, or failing stator127Battery load test; charging system test; check ECM grounds. See our voltage regulator symptoms guide
P1017ET indicates overheatingEngine temperature above safe threshold – check oil level before continuing to ride103Check oil level; verify coolant level (liquid-cooled M8); inspect cooling passages
P2300 / P2303Ignition coil driver low/open (front / rear)Coil primary circuit open – misfire or no-start. Classic symptom: single-cylinder running88 / 90Test coil primary resistance; inspect wiring to coil. See our bad coil symptoms guide
U0001CAN BUS errorCommunication network fault – modules cannot talk to each other. Can trigger multiple codes simultaneously1Diagnose this first before any other code. Inspect CAN bus wiring; requires Digital Technician II for full diagnosis
U0100Lost comm w/ECMSpeedometer cannot communicate with ECM – no-start possible. Often a blown fuse or ECM power issue7Check ECM power and ground fuses; verify main ECM connector
U0140Lost comm w/BCMNo communication with Body Control Module – security immobilization, no accessories3Check BCM connector; check battery voltage. See our security system reset guide
B2116 / B2117Fuel pump circuit faultNo fuel delivery. BCM-controlled on M8 modelsCheck fuel pump relay; test fuel pump voltage. See our Harley fuel pump guide
P1009VTD disabled fuel due to bad passwordSecurity system cut fuel – wrong key fob, dead fob battery, or after battery disconnect32Use PIN entry procedure to reset. See our security system reset guide

Source: HD Service Manual (2019 Touring M8), Table 7-3 Diagnostic Trouble Codes and Fault Conditions Priority Table, and Section 7 Engine Management Diagnostic Procedures. Priority numbers are factory-assigned – lower number = higher priority diagnosis order when multiple codes are present.

B-Codes and U-Codes: What They Cover on Harley

Many Harley owners focus only on P-codes (powertrain), but B-codes and U-codes are equally common and often more disruptive. Here is what each prefix means on a Harley Milwaukee-8:

Code PrefixSystemExamples on Harley M8
PPowertrain – engine, fuel, emissionsP0107 (MAP), P0562 (low voltage), P0325 (knock sensor)
BBody – lighting, audio, instruments, securityB1337 (speaker shorted), B2116 (fuel pump), B2172 (alarm fault)
UNetwork – CAN bus communication between modulesU0001 (CAN bus error), U0100 (lost comm w/ECM), U0140 (lost comm w/BCM)
CChassis – ABS, TPMS, wheel speed sensorsC0562 (ABS voltage low), C0083 (TPMS fault)

B-codes from the radio and audio system (B1337 through B1443 in the 2019 M8 manual) will not cause a driveability problem but will trigger the security lamp. Owners on HDForums have reported confusion when a blown speaker sets the security indicator – the bike runs fine, but the padlock icon stays on. Per the 2019 M8 manual Table 7-3, B1337 (front left speaker shorted together) is a priority-314 code, meaning diagnose it dead last when multiple codes are present.

When Does a Harley Check Engine Light Mean Stop Right Now?

Not every lit check engine light means you should pull over immediately. Our review of the 2019 M8 diagnostic priority table shows these are the highest-priority codes (lowest number = fix first) that indicate potential mechanical damage if you continue riding:

  • U0001 (Priority 1) – CAN bus error: Multiple modules offline. Do not ride; diagnosis requires a scan tool.
  • U0140 (Priority 3) – Lost comm w/BCM: Security and accessories offline. Bike may not restart after key-off.
  • P0374 (Priority 64) – CKP no pulses: No crankshaft signal – imminent stall or no-start. Pull over.
  • P1017 (Priority 103) – ET overheating: Engine temperature critical. Stop immediately, check oil.
  • P0562 (Priority 127) – ECM voltage low: Charging system failing. Bike may strand you. Diagnose soon.

Lower-priority codes like P0444 (purge solenoid) or audio B-codes allow safe continued riding while you schedule the repair. The factory priority table is your guide – when multiple codes exist, always address the lowest priority number first.

Do You Need a Scan Tool for Harley Diagnostics?

The odometer self-diagnostic mode is sufficient to retrieve and clear current and historic DTCs on ECM, BCM, speedometer, tach, and ABS modules. For most owners, this covers 80% of real-world fault diagnosis.

You need a proper scan tool or the factory Digital Technician II (HD-48650) when:

  • You need to distinguish pending from historic codes (odometer mode shows both without differentiation)
  • You have U-series CAN bus faults (U0001, U0100) – these can prevent the odometer mode itself from working
  • You need live data (oxygen sensor voltage, throttle position, injector pulse width) to confirm a repair
  • You are flashing ECM firmware or resetting TPS learn procedure after throttle body cleaning
  • The odometer displays BUS Err instead of entering diagnostic mode – a sign of CAN bus damage

A generic OBD-II adapter can read P-codes on newer M8 models but often misses B and U codes that require the full Harley proprietary protocol. If you want a standalone scanner compatible with Harley-Davidson, look for a Harley-compatible OBD scanner that specifically lists J1850/CAN Harley protocol support – not a generic car OBD-II reader.

How to Clear Harley DTC Codes (And When Not To)

Clearing codes is done through the same odometer diagnostic mode – hold the trip switch on a displayed code to erase all codes in that module. But clearing codes without repairing the fault is only useful as a diagnostic step: the code will return within the drive cycles the factory specifies for that fault.

Per the 2019 M8 Service Manual: clear DTCs after any diagnostic or repair procedure, then perform a road test – not simply starting the motorcycle – because some DTCs require vehicle speed or other inputs to validate the repair. Historic codes that are not re-triggered auto-clear after 40 error-free ignition cycles.

Owners on the Road Glide error-code thread on RoadGlide.net report clearing everything as the standard first step before any electrical repair – clear all codes, do a 20-minute ride covering city and highway, then pull codes again to see what is actually current.

Milwaukee-8 vs Twin Cam: Diagnostic Differences

The Milwaukee-8 (2017-present) introduced ETC (Electronic Throttle Control) – ride-by-wire with no physical throttle cable. This adds an entirely new category of P-codes that Twin Cam owners will never see:

DTCDescriptionM8 Only?
P1510ETC limited performance mode – throttle authority reducedYes (ETC)
P1511ETC power management modeYes (ETC)
P1512ETC forced idle mode – bike stuck at idle speedYes (ETC)
P2105ETC forced shutdown – engine shuts downYes (ETC)
P2135TPS correlation error – two throttle position sensors disagreeYes (dual-TPS ETC)
P0325 / P0330Knock sensor faultsM8 has dual knock sensors (front + rear)
P1655 / P1656ACR (Automatic Compression Release) solenoid faultM8 Touring only

Owners searching Milwaukee-8 fault codes on HDForums report the P1512 (ETC forced idle) as a particularly startling code – the bike suddenly loses power and crawls at idle speed while the check engine light illuminates. The fix is usually a TPS or ETC actuator fault, but it can also be triggered by a low battery event causing the ETC system to enter a protected mode. If you see P1512, check battery and charging system first before assuming ETC hardware failure. Our Milwaukee-8 years to avoid guide covers which production years had the most electrical recalls.

Forum-Confirmed Most Frequent Codes on M8 Touring

We analyzed the pinned “DTC Code Lookup” thread on HDForums (2,200+ replies, searched May 2026) and the error code threads on RoadGlide.net. The codes that appeared most frequently in owner reports:

  1. P0562 – Low system voltage. Almost always linked to the stock Harley battery dying or a failing stator. On 2017-2019 M8 Touring, one HDForums member reports: “P0562 came up every cold morning until I replaced the OEM battery at 14,000 miles – cleared itself immediately after a new AGM install.”
  2. P0371 / P0374 – CKP sensor. A 2020 Road Glide owner on HDForums documented P0374 causing intermittent stalls at idle: “Bike would die at red lights, codes showed P0374. Dealer replaced CKP sensor under warranty at 8,000 miles.”
  3. P1009 – VTD security fuel cut. Almost always after a dead fob battery or after the bike battery is disconnected. PIN entry method resets it without dealer involvement.
  4. P1512 – ETC forced idle. Multiple 2017-2020 Touring owners on RoadGlide.net report this appearing after sitting unused for weeks – low battery triggering ETC protection mode.
  5. U0140 – Lost BCM communication. Owners report this alongside other U-codes when main ground straps corrode. Check all frame grounds and the negative battery terminal first.

Frequently Asked Questions

Can I clear Harley check engine codes without a scanner?

Yes. Using the trip odometer button on the left handlebar, you can enter the diagnostic mode and clear all codes in each module (ECM, BCM, SPDO, ABS) without any scan tool. The procedure is the same on all fuel-injected Harleys from 2004 onward.

Will a Harley run with the check engine light on?

Usually yes – most DTCs do not put the bike in a failsafe mode. The exceptions are high-priority codes like P2105 (ETC forced shutdown), P1512 (ETC forced idle), and U0001 (CAN bus error), which may limit power or prevent a restart after key-off.

What is the difference between the check engine light and the security light on a Harley?

The check engine (MIL) lamp covers emissions-related ECM faults. The security lamp (padlock icon) illuminates for BCM faults, non-emissions ECM codes, and any active security event. Both are accessible through the same odometer diagnostic mode.

How do I read codes on older Harley models (pre-2004)?

Pre-2004 Harleys with EFI use a blink-code system – the check engine lamp flashes a sequence to indicate the fault number. Turn ignition on, count the flashes, and compare to the factory code list for your specific model year. This applies to 1995-2003 EFI Softails, Dynas, and Touring models.

Does a Harley check engine code mean I need to go to the dealer?

Not necessarily. Many common codes (P0562, P1009, P0444, historic B-codes) are owner-diagnosable and clearable without dealer tools. You will need a dealer or independent shop with Digital Technician II for CAN bus faults (U-codes), ETC actuator replacement, ECM flashing, or when the odometer self-diagnostic mode itself will not enter.

What does “BUS Err” mean on a Harley speedometer?

“BUS Err” displayed on the odometer indicates a CAN bus communication failure – the speedometer cannot receive data from other modules. Per the 2019 M8 Service Manual, this often precedes the odometer becoming fully inoperative. Check all ground connections and battery voltage first; CAN bus errors commonly trace to corroded grounds rather than module failure.

{ “@context”: “https://schema.org”, “@type”: “FAQPage”, “mainEntity”: [ { “@type”: “Question”, “name”: “Can I clear Harley check engine codes without a scanner?”, “acceptedAnswer”: { “@type”: “Answer”, “text”: “Yes. Using the trip odometer button on the left handlebar, you can enter the diagnostic mode and clear all codes in each module (ECM, BCM, SPDO, ABS) without any scan tool. The procedure is the same on all fuel-injected Harleys from 2004 onward.” } }, { “@type”: “Question”, “name”: “Will a Harley run with the check engine light on?”, “acceptedAnswer”: { “@type”: “Answer”, “text”: “Usually yes – most DTCs do not put the bike in a failsafe mode. The exceptions are high-priority codes like P2105 (ETC forced shutdown), P1512 (ETC forced idle), and U0001 (CAN bus error), which may limit power or prevent a restart after key-off.” } }, { “@type”: “Question”, “name”: “What is the difference between the check engine light and the security light on a Harley?”, “acceptedAnswer”: { “@type”: “Answer”, “text”: “The check engine (MIL) lamp covers emissions-related ECM faults. The security lamp (padlock icon) illuminates for BCM faults, non-emissions ECM codes, and any active security event. Both are accessible through the same odometer diagnostic mode.” } }, { “@type”: “Question”, “name”: “Does a Harley check engine code mean I need to go to the dealer?”, “acceptedAnswer”: { “@type”: “Answer”, “text”: “Not necessarily. Many common codes (P0562, P1009, P0444, historic B-codes) are owner-diagnosable and clearable without dealer tools. You need a dealer or independent shop with Digital Technician II for CAN bus faults (U-codes), ETC actuator replacement, or ECM flashing.” } }, { “@type”: “Question”, “name”: “What does BUS Err mean on a Harley speedometer?”, “acceptedAnswer”: { “@type”: “Answer”, “text”: “BUS Err displayed on the odometer indicates a CAN bus communication failure. Per the 2019 M8 Service Manual, check all ground connections and battery voltage first – CAN bus errors commonly trace to corroded grounds rather than module failure.” } }, { “@type”: “Question”, “name”: “How do I read codes on older Harley models before 2004?”, “acceptedAnswer”: { “@type”: “Answer”, “text”: “Pre-2004 Harleys with EFI use a blink-code system – the check engine lamp flashes a sequence to indicate the fault number. Turn ignition on, count the flashes, and compare to the factory code list for your specific model year.” } } ] }

🏍 Free Harley Recall & Maintenance Alerts

We'll email you when NHTSA posts a new Harley recall, plus seasonal maintenance reminders. No spam, unsubscribe anytime.

By subscribing you agree to our Privacy Policy.

By Jacob - Editor-in-Chief

Jacob is the Editor-in-Chief of Backyard Rider. He isn't a 20,000-mile-a-year rider - he's the engineer who built the site's research desk. His team has indexed 18,000+ pages of Harley-Davidson service manuals (1970-2024) and cross-checks every recommendation against NHTSA recall data, factory specs, and owner forums. When you see a service-manual citation here, it's real. Spotted something wrong? Drop him a line.

Leave a comment

Your email address will not be published. Required fields are marked *