SkillAgentSearch skills...

Autodiag

Scantool to read diagnostic codes with an adaptater ELM320 ELM322 ELM323 ELM327 ELM329. Dive into the automotive and repair your car !

Install / Use

/learn @autodiag2/Autodiag

README

Workflow License Release

autodiag

Automotive diagnostic software with many protocols.

  • Read the codes through OBD/UDS.
  • Read sensors values.
  • Curve sensors values.
  • Simulate ELM327 devices with a high degree of accuracy (even not very usefull features ^^).
  • Record and replay exchange with vehicle.
<table> <tr> <td><img src="https://raw.githubusercontent.com/autodiag2/media/master/main.png"></td> <td><img src="https://raw.githubusercontent.com/autodiag2/media/master/preferences.png"></td> </tr> <tr> <td><img src="https://raw.githubusercontent.com/autodiag2/media/master/terminal.png"></td> <td><img src="https://raw.githubusercontent.com/autodiag2/media/master/read_dtc.png"></td> </tr> <tr> <td><img src="https://raw.githubusercontent.com/autodiag2/media/master/sensors.png"></td> <td><img src="https://raw.githubusercontent.com/autodiag2/media/master/sensors-graph.png"></td> </tr> </table>

Quick guide to read codes with ELM327

  1. Buy ELM327 adaptater USB or Bluetooth or Wifi (this one more recommended)
  2. Download autodiag from releases
  3. Start the car and plug adaptater
  4. Launch autodiag

Debian based

  1. Select /dev/ttyUSB0 (ELM USB) or /dev/rfcomm0 (ELM Bluetooth) or ip address (ELM Wifi)

Windows

  1. If ELM327 USB: Download the driver example from ftdichip
  2. Select the right COM port eg. COM5 (ELM USB, Bluetooth) or the ip address (ELM Wifi)

MacOS

  1. Set the ip address of adapter <br /><br />

  2. Read codes

Installation errors

See here

Compatibility

| Component | Debian-based Linux | Windows | macOS | android | |----------------|--------------------|---------|--------|---------| | libautodiag | ✔️ | ✔️ | ✔️ | ✔️ | | autodiag | ✔️ | ✔️ | ✔️ | ❌ | | elm327sim | ✔️ | ✔️ | ✔️ | ✔️ | | ELM USB | ✔️ | ✔️ | ❌ | ❌ | | ELM Bluetooth | ✔️ | ✔️ | ❌ | ✔️ | | ELM Wifi | ✔️ | ✔️ | ✔️ | ✔️ |

Devices:             ELM320 ELM322 ELM323 ELM327 ELM329<br /> Standards:          ISO3779 SAEJ1979/ISO15031-5 ISO15031-6 ISO3780 ISO3166-1 ISO15765 ISO14229 OBD2 UDS CAN CAN-TP KWP2000

Why

Repairing modern vehicle is not always easy due to lake of free tools. The need for expensive hardware block us from repairing vehicles and even small buisness that do not have money to afford tools and dive into the automotive world. So there is a need for tools that are not as complete as manufacturer official ones but enough powerfull to repair and diagnose your vehicle.
This is a light approach to fix vehicle because it reduces the amount of hardware required to work on it, only have to buy a small elm adaptater. Some scantools are already avaliable on the market:

  • ScanTool.net : reliable but require recompilation to add new manufacturer DTC list. Also the gui is not ruly smooth.

Autodiag will be a simple scantool for desktop computer that allow to:

  • read DTCs: with both manufacturer specific definition and generic one
  • clear MIL: this clear the malfunction lamp on the car
  • read sensors data: real time data retrieving and graphing

It is mostly inspired from scantool.net but with a revisited GUI written in GTK, possibility to add DTC manufacturer specific after compilation.

How

With low level c language everything is possible.
With unit test, the software will be reliable.
With open source everyone will benefit from the effort.
In first time autodiag will focus on ELM based devices.
This software rely on OBD2 and UDS to diagnose your vehicle, from the settings you can configure which data protocol to use.
GPL licence will allow both buisnesses and individual to use the software.

Developer documentation

See here

View on GitHub
GitHub Stars8
CategoryDevelopment
Updated5d ago
Forks1

Languages

C

Security Score

90/100

Audited on Apr 1, 2026

No findings