Free/legal VIN-based pull. Does not pull scanner live data — use Scanner Intake for that.
No VIN decoded yet.
No recalls pulled yet.
No pattern data pulled yet.
All scanner data feeds the same auto-populate engine. Works with MK900BT reports and generic scanner text/CSV/log files.
These labels were seen in your scanner output but not recognized. Tap Values tab to enter manually.
Pick what screen you're uploading first, then select the file. This tells the app exactly what to look for — no guessing.
Use this for Autel scanner camera photos, phone photos, or screenshots. For best auto-fill, use the scanner screenshot/share report when possible. Camera photos must clearly show text values on the screen.
| Module | Code | Description | Status | Priority |
|---|---|---|---|---|
| No scanner report imported. | ||||
| Module | DTC Count |
|---|---|
| No modules imported. | |
Enter values directly from your scanner screen. These feed the probability engine the same as imported data.
Start with customer complaint, VIN profile, and scanner intake.
Add your Anthropic API key to get Claude-powered diagnosis — most probable cause, reasoning, and "Do Not Replace" warnings on every job.
Abnormal values flagged after analysis. Green = normal, yellow = low/borderline, red = out of range.
Analyze first.
How experienced techs narrow a fault. Auto-fills from imported data where possible.
Ask questions about the current scan, codes, fuel trims, screenshots, VIN profile, or what to verify next. The answer uses the data already inside this app.
This creates a structured AI-style output inside the app. For true cloud AI later, send this prompt to a secure backend — not direct browser API.
Run AI Assist Output.
Run AI Assist Output.
Run AI Assist Output.
Run AI Assist Output.
This report is built for customers first: clean language, clear sections, easy to copy, download, or print.
Report will appear here.
Enter values after the repair is complete. The system calculates the delta and confirms whether the issue was resolved.
Type any DTC code for instant explanation, most likely causes, and first test. Works offline.
Freeze frame captures a snapshot of every sensor value at the exact moment a DTC set. It tells you when and under what conditions the fault occurred — which is just as important as what code set. Always analyze freeze frame before live data.
Note the primary code. Pending vs confirmed and current vs history all matter for diagnosis priority.
Check RPM, load, ECT, speed, and fuel trims at the moment the fault set. This is your evidence snapshot.
Cold start? Idle? Highway? Heavy load? Decel? The condition narrows suspects dramatically.
Recreate the same operating conditions. Does live data match freeze frame? That confirms the fault is repeatable.
Focus inspection on systems known to fail under those specific conditions. Freeze frame rules out the rest.
After repair, confirm the fault no longer sets under the same conditions. Compare before/after fuel trims.
Add STFT + LTFT together for total correction. Example: STFT +8% + LTFT +14% = +22% total = Major Lean Problem. LTFT reflects what ECM has learned. STFT responds in real time.
| Total Trim | Status | Inspect First |
|---|---|---|
| -5 to +5% | ✅ Excellent | Nothing — closed-loop working perfectly |
| -10 to +10% | ✅ Normal | Nothing — within acceptable range |
| +10 to +20% | ⚠ Slightly Lean | Vacuum leak, MAF sensor, fuel filter, weak injector |
| Above +20% | 🔴 Major Lean | Large vacuum leak, failed MAF, fuel pump, clogged injectors |
| -10 to -20% | ⚠ Slightly Rich | Leaking injector, EVAP purge stuck open, O2 sensor |
| Below -20% | 🔴 Major Rich | Flooding injector, ECT sensor fault, EVAP purge stuck |
Always verify ECT is at normal operating temp before trusting fuel trim data. Cold engine = open loop = trims are meaningless for diagnosis.
| ECT Range | Engine State | Diagnostic Notes |
|---|---|---|
| 60–90°F | ❄️ Cold Engine | Open-loop — rich mixture, fast idle. Do NOT diagnose fuel trims here. |
| 120–170°F | 🔄 Warming Up | Transitioning to closed-loop. Trims still unreliable. |
| 185–220°F | ✅ Normal Operating | Full closed-loop. Fuel trims are now meaningful and trustworthy. |
| 230°F+ | 🔴 Overheating | Check thermostat, cooling fan, water pump, coolant level. |
Cross-reference freeze frame load % with the driving condition. Misfire at 80%+ load = ignition or compression, not idle circuit issues.
| Load % | Condition | What It Tells You |
|---|---|---|
| 15–30% | Idle | Very light demand — vacuum leaks dominate at this range |
| 30–45% | Cruising | Normal highway demand at steady speed |
| 45–70% | Moderate Acceleration | Increasing demand — fuel delivery issues start to show here |
| 80–100% | Wide Open Throttle | Maximum demand — ignition and compression faults dominate |
These are baseline warm-idle reference ranges for a healthy engine. Deviations outside these ranges indicate a system that needs attention. Always compare to OEM spec for the specific vehicle.
| PID | Normal at Warm Idle | Low Means | High Means |
|---|---|---|---|
| STFT B1/B2 | -10% to +10% | Rich condition — subtract fuel | Lean condition — adding fuel |
| LTFT B1/B2 | -10% to +10% | Long-term rich correction | Long-term lean — ongoing fault |
| RPM (idle) | 600–900 RPM | Rough idle, misfire suspect | High idle — vacuum leak or IAC |
| ECT | 185–220°F | Thermostat stuck open | Overheating — cooling system |
| MAP (idle) | 25–45 kPa | — | Vacuum leak or cam timing |
| MAF (per liter) | 2–4 g/s per liter displacement | Dirty MAF or intake restriction | Possible air leak or rich condition |
| TPS (idle) | 0–5% | — | Throttle not closing / sensor fault |
| Battery Voltage | 13.5–14.8V | Alternator not charging | Overcharging — regulator |
| O2 B1/B2 S1 | Switching 0.1–0.9V | Stuck lean — lean condition confirmed | Stuck rich — rich condition confirmed |
| Freeze Frame Pattern | Most Likely Cause | First Test |
|---|---|---|
| Lean only at idle — trims normalize at 2500 RPM | Vacuum leak | Smoke test intake system |
| Lean at highway speed — trims worse under load | Fuel pump / filter | Fuel pressure at idle and under load |
| Lean everywhere — all RPM ranges | Dirty/failing MAF | Clean MAF, retest trims |
| Rich at idle — trims go negative | Leaking injector or EVAP purge | Disconnect EVAP purge, watch trim |
| Misfire only cold — clears when warm | Ignition coil / injector | Graph misfire counters cold start |
| Misfire only under load — ECT normal | Coil, plug, fuel, compression | Coil swap test — free, fast |
| High coolant temp — ECT above 225°F | Thermostat stuck closed | Watch ECT rise — no drop = thermostat |
| Low voltage — battery under 13.2V | Alternator not charging | Load test battery, measure alternator output |
| Low MAF — below 2 g/s per liter at idle | Dirty MAF / intake restriction | Clean MAF element, retest |
| High MAP at idle — above 55 kPa | Vacuum leak or cam timing | Compare MAP KOEO vs idle |
High STFT = ECM compensating right now. High LTFT = ECM learned this is a consistent problem. If STFT is high but LTFT is near zero, the fault is intermittent. If both are high, the fault is consistent and has been happening for a while.
Fuel trim data is only meaningful in closed-loop operation. That requires ECT above approximately 160°F. Always confirm the engine has fully warmed before diagnosing trim patterns.
At warm idle, MAF should read approximately 2–4 g/s per liter of engine displacement. A 3.8L engine should read 7.6–15.2 g/s at idle. Low MAF with normal trims = dirty sensor or restriction. Low MAF with high trims = possible vacuum leak bypassing the MAF.
At warm idle, MAP should be 25–45 kPa — well below barometric pressure (typically 98–102 kPa). If MAP is close to baro at idle, the engine has low vacuum, which points to a vacuum leak, late cam timing, or low compression.
Low charging voltage (below 13.2V) causes false codes across multiple systems. Always confirm charging voltage before diagnosing sensor codes, module codes, or communication faults on a vehicle with a voltage complaint.
A healthy upstream O2 sensor switches rapidly between lean (below 0.3V) and rich (above 0.7V). A sensor stuck low = lean condition or dead sensor. A sensor stuck high = rich condition. Slow switching = lazy sensor. Compare upstream vs downstream behavior to confirm catalyst function.
Enter your Anthropic API key to enable Claude-powered diagnosis. The key is stored on this device only and never sent to any server other than Anthropic.
Get a key at console.anthropic.com — use account automedicdiagnostics@gmail.com
Override report header for white-label or partner use.