How to read OBD codes: scanners, connection and clearing | DVI Reports

Scanners, connection and correct code clearing; live data and freeze-frame explained. Compare ELM327, Bluetooth and professional tools, with official screensho…

Full guideDiagnostics guide OBDAuto Getting started with OBD diagnostics

How to read OBD codes: scanners, connection and clearing

A scanner reads what the vehicle controller has detected. A code identifies a detected issue; it does not automatically confirm which part needs replacing.

The guide in 36 seconds

  • What to save before clearing an OBD code

    Watch on YouTube ↗Watch on TikTok ↗

Video in Romanian. Opens in a new tab; the full steps and explanations are below.

General guide Editorial review: 17 October 2026

Which scanner should you choose?

For Check Engine and occasional checks
Choose a standalone OBD-II reader or a phone-compatible adapter that saves codes, freeze-frame data and monitor status.
For ABS, airbags, transmission or service functions
Confirm coverage for the exact make, model, year, engine and module. OBD-II compatibility does not guarantee access to every controller.
For workshop use, several makes and active tests
Choose a professional tool with support and updates. Check vehicle-specific functions: coding, active tests and ECU programming are distinct capabilities.

Before buying, check the vehicle, adapter, app and phone operating system together. For a European car, check European coverage; North American model lists do not automatically apply.

OBD scanner and adapter comparison

ELM327 is a communications interpreter; Bluetooth is a connection method. These categories overlap: an ELM327 adapter may use Bluetooth, Wi-Fi or USB. Capability depends on hardware, software and the vehicle.

On small screens, scroll the table horizontally to see every column.

OBD scanner and adapter comparison
TypeConnectionWhat it can doLimits to checkBest suited to
Generic “ELM327” adapterPhone/PC via its advertised connectionStandard OBD codes and engine parameters, if correctly implemented.The ELM327 label does not certify the whole product. Check app support, protocols, support service and returns.Basic use; choose documented compatibility rather than price alone.
Supported Bluetooth/BLE adapter — e.g. OBDLink MX+Android / iOS / Windows for MX+Read/clear codes and live data; enhanced diagnostics where supported by the app and vehicle.Not every Bluetooth adapter works with iPhone: OBDLink LX does not support iOS. Enhanced coverage varies by market and app.Owners who want phone-based reports and monitoring.
Standalone OBD-II readerCable, no phone requiredStandard OBD read/clear; freeze-frame and readiness where included.A basic reader may lack ABS/SRS, active tests or access to all modules.Simple code reading without pairing or an app.
Make-focused interface/software — e.g. OBDLink EX + FORScanUSB and PC with a compatible setupEnhanced diagnostics for makes and models supported by the software.Licensing, interface and functions vary. A PC feature is not automatically available in the mobile app.Repeated work on one family of makes.
Professional scanner — e.g. Autel DS808S-BTTablet and vehicle interfaceModule scans, live data, active tests and service functions according to coverage.Professional does not mean ECU programming or J2534 is included. Check updates, gateway access and possible subscriptions.Workshops or advanced users needing confirmed capabilities.

Compare total cost: hardware + app/licence + updates + authorised gateway access where required. Examples are not a ranking; unverified prices are not listed.

Documentation: Elm Electronics — ELM327 datasheetOBDLink — adapter compatibilityOBDLink — compatible apps / FORScanOBDLink — standard and enhanced diagnosticsAutel — DS808S-BT coverage and functions

How to connect

  1. Park safely and apply the parking brake. Read the vehicle and tool instructions; the engine can remain off for the initial code read.
  2. With the ignition off, locate the 16-pin diagnostic connector, usually below the dashboard. Insert the connector without force.
  3. Turn the ignition ON without starting the engine. For a Start/Stop button, follow the vehicle’s ignition-on procedure.
  4. For a wireless adapter, install a compatible app and follow the maker’s pairing instructions. Some adapters connect inside the app; not all use the phone’s Bluetooth settings.
  5. Confirm the vehicle/profile, select OBD-II/EOBD or the available module and choose Read Codes. Finish the session and switch the ignition off before disconnecting.

If it will not connect, check ignition state, connector power, the selected profile and compatibility. Close other OBD apps. Never bridge connector pins or confuse no communication with no faults.

Documentation: Innova — connecting and reading codesOBDLink — adapter compatibility

How to read the result

Copy the full code, including any suffix, and the reporting module. For example, P0301 describes a detected cylinder 1 misfire; it does not prove a failed coil. Manufacturer-specific definitions require the exact vehicle context.

Stored / Confirmed
A fault stored/confirmed by ECU logic; it does not necessarily mean the condition is happening right now.
Pending
A fault awaiting confirmation; confirmation criteria have not yet been met. Keep it in your report.
Permanent
On supported vehicles, this remains until the system verifies the repair. It does not mean the fault is unrepairable.
Freeze-frame
A snapshot of parameters when the fault was detected, such as engine speed and temperature. Save it with the report.

Keep every code, its status, module, mileage, symptoms and conditions. Then compare the code definition with the procedure for the exact engine.

Example: P0301 explained →

Documentation: Innova — DTC statusInnova — freeze-frame parameters

How to clear codes and what is lost

Clearing may switch the warning light off temporarily; it does not repair the cause. If a workshop will diagnose the vehicle, preserve the codes and data.

  1. Export the report and freeze-frame data. Clear after a repair or when the diagnostic procedure explicitly calls for it.
  2. For clearing, keep the ignition ON and the engine OFF; follow the tool and vehicle instructions.
  3. Choose Clear Codes / Erase DTCs and read the confirmation. It may clear all relevant codes in a module, not just the selected code.
  4. Scan again. If the fault returns, continue diagnosis instead of repeatedly clearing it. Verify the repair under the manufacturer’s required conditions.

OBD clearing may remove freeze-frame data and reset emissions monitors to not ready. Completing them requires specific operating conditions, not a universal driving distance. A clean screen immediately after clearing does not establish a successful repair.

Permanent codes cannot be erased with a scan tool or by disconnecting the battery. On vehicles supporting this function, the ECU removes them after verifying the repair.

Documentation: Innova 5410 — clearing codes and readinessInnova — Clear / Erase procedureCalifornia BAR — permanent DTC behaviour

How to read live data

Live data shows values currently reported by the ECU. A PID is a readable parameter; availability depends on the vehicle, module and app.

  1. Park safely and apply the parking brake. If the engine must run, use a well-ventilated location, never an enclosed garage. Do not watch a phone while driving.
  2. Open Live data / Parameters and start with a few supported items: RPM, coolant temperature (ECT), speed and fuel-system status.
  3. Check units and conditions: cold or warm engine, ignition on or engine running, idle or load. Use documentation for the exact engine rather than universal thresholds.
  4. Follow trends on a graph and save a log with test conditions. Selecting many parameters can slow updates; unchanged readings do not automatically mean a stuck sensor.
  5. Unsupported parameters or missing readings are not zero. Keep this check read-only: actuator tests and forced regeneration require separate procedures.

STFT is short-term fuel trim; LTFT is long-term fuel trim. Interpretation depends on the engine, bank, operating conditions and mixture-control state. A single value does not justify replacing a sensor.

OBDLink — parameters and loggingOBDwiz — available parameters

How to interpret a freeze-frame

A freeze-frame is a snapshot of parameters saved by the ECU when it detects a fault. It is not a live feed and a frame is not guaranteed for every code. Check the associated DTC and save the report before clearing faults.

Fictional teaching example — not a real test capture and not a set of normal limits.

Fictional teaching example — not a real test capture and not a set of normal limits.
ParameterIllustrative valueQuestion to ask
Associated DTCP0171Is this the code for which the ECU saved this snapshot?
Engine speed2,500 rpmWas the fault detected at idle or another operating point?
Vehicle speed60 km/hWas the vehicle moving when the snapshot was stored?
Coolant temperature88 °CWhat was the engine’s thermal state according to its specifications?
STFT, bank 1+15%Does the correction fit the other readings and mixture-control state?

This example suggests a snapshot while moving, at a plausible operating temperature for many engines. It does not prove an intake leak, failed airflow meter or low fuel pressure. Compare with live data under safe conditions and the P0171 diagnostic procedure. Do not assume an event date and time are available unless the report provides them.

OBDLink — freeze-frame documentation

OBD scanners: documentation and practical tests

Documentation-based comparison — no original hands-on test published.

The table above compares declared features. We have not measured speed, connection stability or coverage on a test vehicle here. Screenshots linked below belong to manufacturer documentation and are not photographs taken by OBDAuto.ro.

  • Official OBDLink screenshots: codes, report and freeze-frame
  • Official OBDwiz screenshots: connection and diagnostic screens

What an evidence-based hands-on review should include

  • Vehicle, year, engine and modules tested; scanner model, firmware, phone/computer and app version.
  • Original photos of the connected device and original screenshots of codes, live data and freeze-frame where available. Mask VINs and other personal information.
  • An exported report and repeatable conditions: connection and scan times, selected parameters, disconnections and unavailable functions.
  • Separate generic OBD functions from manufacturer-specific ABS, airbag and other module access; success on one car does not prove universal coverage.
  • Total cost on the test date: hardware, adapters, app, licences and updates. Disclose loaned products, sponsorship and affiliate links clearly.

We do not publish test scores or claim “tested by us” without practical evidence. Before buying, confirm the required function for your model, year and engine in the official coverage list.