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.
- An ELM 32x scantool device
- Python 2.x or greater
- A car supporting OBD-II
- Mac [png]
- 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
- 11-15-2004: Release 0.9 added. There are a number of known issues.
- Elm device reset does work _exactly_ right. If the device doesn't
respond the first time, wait a few seconds and try it again.
- DTC reading isn't finished.
- Freeze frame reading isn't yet supported.
- 10-26-2004: Over the weekend, I verified that the DTC management
code works. pyOBD can now read and reset codes/check engine
lights. Screen shots were also added.