2fe3f1100e
- FICM measured >48V on M during cranking AND key-ON. Healthy. Removed as a suspect. - Truck starts cleanly on starting fluid (ether) every time, then idles and runs normally until shut off -- then needs ether again, even when warm. This is a textbook signature for high-pressure oil (ICP) bleed during cranking that the HPOP can outrun at running RPM. - Updated working hypothesis to focus on STC fitting / oil rail O-rings / HPOP / IPR. Compression, FICM, CMP/CKP, fuel supply all confirmed good by virtue of the engine running cleanly once started. - Reordered open items to put visual inspection of valve covers + STC fitting first. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
5.4 KiB
5.4 KiB
Handoff — ford-obd / 6.0 Power Stroke no-start
Pick-up notes for diagnosing the truck in the cab. Repo: git.jpaul.io/justin/ford-obd (private).
TL;DR — what to do at the truck
- CH340 ELM327 adapter → OBD port (under dash, driver side).
- Key to RUN (not ACC). Engine off is fine for reading codes.
- On the Windows laptop, in the repo folder: double-click
RUN_OBD.bat(orpython obd_reader.py). If no port found:python obd_reader.py COM5. - Read the codes + the no-start triage it prints. Write the codes down.
- To erase codes after reading:
python obd_reader.py COM5 --clear(it asks you to typeCLEAR).
Hardware confirmed
- Adapter chip: QinHeng CH340 (
USB 1a86:7523), ELM327 v1.5 clone. - Working baud: 38400 (default in the tool). If you get garbage, try
9600. - It's an
AT@2 = ?clone (no stored serial) — normal, works fine for generic OBD-II.
What the tool does / doesn't
- DOES: read stored/pending/permanent codes, decode them (6.0 codes flagged as
no-start suspects), clear codes (
--clear), show battery voltage + key live PIDs. - EXPERIMENTAL (
--ford): tries a small table of community-sourced Ford 6.0 Mode-22 PIDs (ICP, IPR%, FICM main/sync/logic V, EBP, EOT). PID numbers and scaling are TENTATIVE — raw bytes are always printed; cross-check against a meter or FORScan before trusting a value. --pid XXXX: one-shot probe of any 16-bit Mode-22 PID; prints raw bytes plus a few common decodings so you can eyeball the right scaling.- DOESN'T (yet): a verified Ford-enhanced PID set the way FORScan has. We're building toward that — see follow-ups below.
6.0 no-start priority checklist (from the triage)
The 6.0 needs, to fire: good batteries → FICM ~48V → ICP ~500 psi → fuel → cam/crank signal.
- Batteries — both. Weak battery → FICM won't boost → no injector fire. Load test; ~12.5V+ at rest, watch it while cranking.
- FICM voltage while cranking (~48V). #1 6.0 cold no-start cause. <45V is suspect.
- ICP (injection control pressure) ~500 psi to fire. Leaks: STC fitting, oil rail O-rings, high-pressure oil hoses, IPR/HPOP.
- Fuel — HFCM lift pump priming, fuel filters, water-in-fuel.
- CMP/CKP sensors — failed cam sensor = crank, no-start (codes P0340/P0341, P0335/P0336).
- Glow plugs/relay if cold (won't stop start, but hard start).
Code-driven branches the tool will hint at
P0335/P0336/P0340/P0341/P0344→ cam/crank sensor path.P0611/P1316orP02xx/P026xinjector codes → FICM / injector path.P0087/P0148/P0191→ fuel pressure (low-side + high-side oil).U0100/U0073/P0606→ module comms / PCM.
Status of this session's work
- Tool built + tested against the real adapter (init, all 3 DTC modes, live PIDs, clear flow).
- DTC parser unit-tested incl. a fixed bug: legacy ISO/PWM multi-frame responses repeat the
43header (was producing phantom codes) — fixed + regression-tested. - 2026-06-29 in-cab session: added
--watch,--ford,--pid, and--scanmodes. Captured cranking voltages + ran a Mode-22 brute scan (46 PIDs hit). Full session writeup + raw data in diagnostics/2026-06-29-no-start/. Headline: FICM measured >48V (healthy). Truck starts on ether every time and runs/idles fine until shut off — then needs ether again. That signature ⇒ high-pressure oil (ICP) bleed-off during cranking — STC fitting / oil rail O-rings / HPOP-related. Compression, FICM, CMP/CKP, fuel supply all confirmed good. Next: visual under valve covers + STC fitting inspection. - Pushed to
git.jpaul.io/justin/ford-obd, branchmain. Files:obd_reader.py,RUN_OBD.bat,README.md,README.txt,handoff.md,diagnostics/.
To resume with Claude from the cab
Mention: "6.0 Power Stroke no-start, using the ford-obd tool (git.jpaul.io/justin/ford-obd)". Then paste the tool's full output (codes + live values). Useful to also say: cranks vs. no-crank, hot vs. cold, what changed before it died, and FICM/ICP readings if you metered them.
To resume from the desktop (after the 2026-06-29 session)
Read diagnostics/2026-06-29-no-start/README.md first — that's the full state. Top open items, in order:
- Visual under valve covers + STC fitting — looking for the high-pressure oil bleed source. That's where the diagnosis lands.
- Re-probe the clean scan hits (
1310,1440-1451,11Bx) with--pid XXXXfor uncontaminated data; map them to known engine conditions to identify ICP / IPR. - FORScan via the CyanLabs mirror once available — ICP and IPR live data would confirm a high-pressure leak in seconds.
Open follow-ups (when off the truck)
- FORScan from the CyanLabs mirror once forscan.org is back — useful as the ground truth for verifying our Mode-22 PID table.
- Verify every entry in
FORD_60_PIDS(obd_reader.py) against either a meter reading or FORScan, one at a time. As each is confirmed, drop the "TENTATIVE" warning for that row. - Option 3: brute-force scan of the Mode-22 PID space (e.g.
0x1000-0x14FF) and log which PIDs return data, so we can fingerprint what this PCM exposes without external references. Hook it in as--scan. - Add
--watchmode that streams ATRV + PID 0142 (and the FICM PIDs once verified) at ~5 Hz so we can watch the voltage sag during cranking.