obd-diag¶
OBD-II diagnostics for Linux with ELM327-compatible adapters, as a command line tool and as a desktop application. obd-diag reads trouble codes and explains them in English or German, shows readiness, freeze frame, VIN and live data, and can record the entire communication with the adapter.
Important
Read-only, clearing locked. The only writing command is clearing the trouble codes (mode 04); it is switched off until it is explicitly enabled. Reading has so far been verified on one vehicle (Mercedes A 180 d, W177, see First test at the car). Without hardware, the response handling is verified against the ELM327 datasheet, real traces from other programs and python-OBD (Testing without a car).
What obd-diag can do¶
Function |
OBD service |
Page |
|---|---|---|
Read trouble codes (stored, pending, permanent) with plain text |
Mode 03, 07, 0A |
|
Explain codes without a catalog text online (optional, unverified) |
– |
|
Readiness (monitors, check engine light) |
Mode 01 PID 01 |
|
Readiness assistant: incomplete tests of this drive, which drive completes them |
Mode 01 PID 01, 41 |
|
Used-car check: were the codes cleared recently? |
Mode 01, 0A |
|
Freeze frame for the triggering trouble code |
Mode 02 |
|
Read the VIN and decode it offline |
Mode 09 PID 02 |
|
Control units: name, calibration ID, CVN, monitoring counters |
Mode 09 |
|
Test results of the self-tests with limits |
Mode 06 |
|
Live data: 140 values from 87 PIDs, CSV recording |
Mode 01 |
|
Save and compare sessions, PDF report, CSV |
– |
|
Clear trouble codes (locked) |
Mode 04 |
What obd-diag cannot do: control units outside the standardised emissions diagnostics (airbag, ABS, comfort), coding, flashing, service functions. This is a deliberate decision (ADR 0002: Read-only, with an allowlist in the driver).
Where to start¶
At the car: Installation, then Adapter and connection and First test at the car.
Try it without a car or adapter: Try it without a car.
Understand what goes over the wire: Communication with the ELM327 and Response formats, every command with its datasheet page in the Command reference. A real trace, explained line by line: Trace from the W177, line by line.
Contribute: Contributing and rules and Testing without a car.
This documentation exists in English and German (link at the top of the sidebar). The program itself speaks both languages: Language.