UPDATE: pyOBD development has moved to http://www.obdtester.com/pyobd. I've become much too busy to keep up with the project. Thanks to SECONS Ltd. for stepping up to lead the project.


pyOBD is an OBD-II (SAE-J1979) compliant scantool software written entirely in Python. It is meant to interface with the low cost ELM 32x devices sold by ScanTool.net. It could possibly work with other devices to, but nothing else is available to the author at this time.

For Python devlopers, pyOBD provides a single module, obd_io, that allows high level control over sensor data and diagnostic trouble code managment. An ncurses terminal interface is provided and wxWindows interface is under consideration. The entire package has been tested to work on both Mac OSX 10.3 (panther) and Gentoo Linux. Generally speaking, any Posix-type system meeting the requirements below will be supported. In theory, Windows is also supported but has not been tested.

Although influenced by the scantool code (version 1.08) distributed by Scantool.net, pyOBD was written from scratch by Donour Sizemore and it is Free Software and is distributed under the terms of the GPL.

  1. An ELM 32x scantool device
  2. Python 2.x or greater
  3. pySerial
  4. A car supporting OBD-II
  1. Mac [png]
  2. Linux/X11 [png] Notice that the some of the text is clipped at the bottom. This is a result of running X11 at a VERY high resolution with huge fonts. This will probably not be experienced in real use. Not many people run 2048x1600 on their laptop or workbench computer.

Version 0.9 [tar.gz]
Brief installation instructions

Updates Related Links: