> For the complete documentation index, see [llms.txt](https://help.pd1.sg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.pd1.sg/pd-1/scan-and-fault-codes.md).

# Scan & Fault Codes

Scan your vehicle and understand fault codes.

Learn how to scan your vehicle and review fault codes.

## Before you start

* PD-1 is plugged into the OBD‑II port
* Ignition is **ON** (engine may be running)
* PD-1 is connected in the PD-1 app
* A vehicle profile is selected
* Bluetooth and Location are enabled on your phone
* Internet is available for the first data package download

{% hint style="info" %}
If you see **No PD-1 connected!**, tap **Connect PD-1** first. If PD-1 is currently on PD-Display, switch it to the phone when prompted.
{% endhint %}

## Run a scan

{% stepper %}
{% step %}

### Open Diagnostic

In the PD-1 app, open the **Diagnostic** tab.
{% endstep %}

{% step %}

### Start a scan

Under **Check Car for Fault Codes**, tap **Start** for a **Quick Scan** (about 1 minute).

For more control, open the Scan hub and choose:

* **Quick Scan** — faster check
* **Full Scan** — all available control units
* **Custom Scan** — pick units, then tap **Scan**
  {% endstep %}

{% step %}

### Verify the vehicle (if asked)

When **Verify Vehicle Match** appears, confirm **Brand**, **Model**, and **Year**, then tap **Yes**.

If the VIN does not match your current vehicle, you can switch, edit, or add a vehicle.
{% endstep %}

{% step %}

### Download the data package (first time)

On the first scan, tap **Download Now** on **Download Data Package** (about 2–3 minutes).

Keep the app open until you see **Download Complete**, then tap **Start Scan**.

{% hint style="info" %}
Later scans may ask you to **Upgrade Data Package** if a newer vehicle database is available.
{% endhint %}
{% endstep %}

{% step %}

### Wait for the scan to finish

Stay in the app until scanning completes. You can **Pause**, **Resume**, or **Stop** if needed.

When it finishes, you will see **Fault Codes Detected** or **No Fault Codes Detected**.
{% endstep %}
{% endstepper %}

## Read the results

Scanned items are grouped by system (for example Engine, Transmission, Brakes). Each unit shows **Normal**, a DTC count, or **Not Detected**.

{% stepper %}
{% step %}

### Open a control unit

Tap a unit that has codes to open the ECU detail list.
{% endstep %}

{% step %}

### Open Fault Details

Tap a code to see:

* Fault name and **Code**
* **Description**
* **Possible Symptoms**
* **Repair Importance Level** — Low / Medium / High
* **Estimated Cost** (Part, Labour, Total), when available
  {% endstep %}

{% step %}

### Use extra tools (optional)

On Fault Details you can:

* **Ask AI** — explain possible causes and next steps
* **Freeze Frame** — snapshot of vehicle data when the code was stored (only if the vehicle has freeze frame data)
* **Post to Forum** — share the code with the community
  {% endstep %}

{% step %}

### Save a report

Tap **View Report** (or open the **Report** tab) to keep a record of this scan.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Past scans are under the **History** tab in the Scan hub — that is scan session history, not a Current / Pending code filter.
{% endhint %}

## Clear fault codes

If the scan found codes, tap **Clear DTC**, then **Confirm**.

On success you will see **Clear DTC successful** and how many codes were cleared.

{% hint style="warning" %}
Clearing codes does not fix the underlying issue. If the fault is still present, the code (and warning light) can return. On some BMW vehicles, restart the car after clearing.
{% endhint %}

Then tap **Rescan** to confirm whether codes come back.

## If something blocks the scan

| Message / situation        | What to try                                                   |
| -------------------------- | ------------------------------------------------------------- |
| **Add a New Vehicle**      | Add a vehicle, then connect PD-1                              |
| **No PD-1 connected!**     | Tap **Connect PD-1**; check the green blinking light          |
| **Download Failed!**       | Check internet, then **Retry Download**                       |
| **Vehicle Mismatch**       | Switch, edit, or add the vehicle that matches the scanned VIN |
| Scan stuck / cancelled     | Stay in the app; restart with ignition ON and PD-1 connected  |
| **Not Detected** on a unit | That module may not be available on this vehicle or this scan |

## Next steps

1. Review [Vehicle Health](/pd-1/vehicle-health.md) for longer-term insights.
2. Use [Live Data](/pd-1/live-data.md) to watch related sensors in real time.
3. If a scan will not start, see [PD-1 Troubleshooting](/pd-1/pd-1-troubleshooting.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.pd1.sg/pd-1/scan-and-fault-codes.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
