Skip to content
LLCAR

How to read engine error codes with your phone

LLCAR Editorial Team · November 10, 2026

To read engine codes you need a compatible OBD-II adapter with Bluetooth Low Energy (BLE) and a vehicle that supports this type of diagnostics. While parked, plug in the adapter, wait for data from the car in LLCAR, and save all the codes found. Reading standard engine codes is available in the free mode of LLCAR on Android and iPhone. Download LLCAR · LLCAR on RuStore

If the Check Engine light is flashing or the car is jerking badly, stop in a safe place, follow the vehicle's manual, and seek assistance. Work with your phone and adapter while parked. What to do if the Check Engine light comes on, EPA guide

How to read a code in LLCAR

  1. Park the car and apply the parking brake. Find the diagnostic connector following the vehicle's manual and plug in a compatible ELM327 BLE adapter.
  2. Turn on the ignition if the vehicle's manual requires it. Enable Bluetooth on your phone, open LLCAR, and wait for it to connect to the adapter.
  3. Make sure data from the car appears in the app. The phone may detect the adapter before the adapter has established communication with the engine control unit.
  4. Open the error codes section. Take a screenshot of the full list or write the codes down completely, including the letter at the beginning. If a code's status is shown, record that too.

Which codes to save

Save all the codes, even if some seem related to a single problem. A confirmed code means the system has registered a fault according to its own criteria. A pending code reflects a detected deviation that has not yet been confirmed in that way. A permanent code may remain in memory after a repair until the vehicle's system itself verifies that the fault has been fixed. OBD reference, California Bureau of Automotive Repair

Example with code P0300

P0300 means the control unit has detected random or multiple misfires. This code alone cannot identify a specific cylinder or a part to replace. If code P0301 appeared alongside it, save both. P0301 points to misfires in cylinder one. Code definitions in a Volkswagen technical bulletin

What to send to your mechanic

  • Make, model, year, engine, and mileage.
  • A screenshot of the code list, or the written-down codes and any visible statuses.
  • When the problem appeared and what happened beforehand. For example, a cold start, acceleration, or idling.
  • How the car behaved and what the Check Engine light was doing. Note whether any codes were cleared before the reading.

For example, write it like this: "P0300, 84 200 km. After a cold start the engine ran rough, the Check Engine light stayed on continuously. The codes were not cleared." If the vehicle stored a freeze frame, the mechanic will be able to see the conditions under which the control unit logged the fault. For readings taken later, note the time of measurement separately. EPA guide on OBD data

Should you clear the codes before a service visit?

Leave the codes in place until the diagnosis. Clearing the codes can erase the stored freeze frame and reset the self-test results. If the light goes out after clearing, the cause still needs to be checked. Permanent codes are cleared by the vehicle's system after a successful test. EPA guide on OBD scanners, permanent codes reference

What to do if the list is empty

First make sure LLCAR is receiving data from the vehicle. If only the adapter is visible, the code reading is not yet confirmed. If the reading completed and the list is empty, no engine codes were received during this scan. If symptoms persist, show the car to a mechanic. For ABS and SRS lights, equipment with access to the corresponding control units may be needed. LLCAR does not query these units separately.

How to restore the connection with ELM327 · How to choose a Bluetooth LE adapter · What phone-based diagnostics can show.