OBDToolbox

I feel I should shout out a thanks to Chunky_Kibbles (Gary) for mutiple reasons. His ObdSim
application along with the log files from his obdgpslogger have greatly eased development of
my application, and his website has provided inspiration for the layout of this page.
I hope to eventually support direct loading of his obdgpslogger logs into my application.

[ What is it? | What can it do? | Plans for the future | Screenshots | Requirements | How to use it | obd2data.dat File | Where to get it | Related links ]


What is it?

OBDToolbox is a cross platform application written in c++/Qt for access vehicle information
and diagnostics via any ELM327 compatable hardware interface. Any questions/comments can be
directed at me via email

What can it do?

OBDToolbox is in the Alpha/beta stage, so it is a bit limited in features at the moment.
Datalogging and reading back of datalogs for reviewing collected information.
Realtime Graphing, Gauges, and Information analysis
Pid Priority, allowing you to only request what information you need, and the speed you want it at.

Plans for the future

- Standalone Gauge application, for use in a CarPC environment
- Ability to scan and clear Check Engine Light or Malfunction Indicator Lamp DTC's.
- Analysis of driving patterns for better fuel economy or performance.
- More complicated graphing and data plotting functionality.

Screenshots


Requirements

In order to use this software, you are going to need an ELM327 compatable interface.
Personally, I prefer the OBDLink from Scantool.net, as a cheaper option they have the ELMScan 5,
which is their previous model. Either should work just as well.

You will also need an OBD2 compatible vehicle, which is outside the scope of this document.

How to use it

Follow the instructions included with the tool for how to install and configure your
ELM327 compatible scan tool. After you are sure your scan tool is hooked up correctly,
connect it to your vehicle and turn your vehicle on. Start up OBDToolbox, and click on the
"Config" tab. Enter the com port, and baud rate your tool is configured for. Then go to the
PID tab. Here you can select which PID's you want OBDToolbox to scan by default. Be sure to set
the priority on the PIDs to greater than 0. A priority of 1 means that the pid will be sampled
once per cycle. 2 means once every other cycle, and 3 means once every third cycle and so on
and so forth. Click enable to add the selected PID to the list. You can optionally
go to the Graph tab, and add pids to be graphed as well. After you are finished, click the Save
button at the bottom of the screen.

Once you have saved your configuration, you can click Connection->Connect, and OBDToolbox should
connect to your vehicle. Once connected, click Connection->Start Request Loop and OBDToolBox should
Start scanning. You can now click the Dashboard or Graphs tabs on the top to view different real-time information

Gauge Mode: By clicking File->Gauge Mode, the application will close and restart in Gauge Mode. this mode
provides a realtime dashboard at 800x600 for viewing information in a touch-friendly interface.
You can click "reset" at any time to close the application and return to full mode.


obd2data.dat file information:

obd2data.dat is a defintion file for the standard set of OBD2 pids. Each pid has a set of values associated
with it. This file is not completed, and likely never will. I hope to get it to the point of being on par with
the OBD2 pid's wikipedia page linked below at some point.
name: Short name to be shown in lists
value: Hex value for the pid. Engine RPM would be 010C, so the value is "C"
desc: Long description of the pid, for informative purposes
unit: Unit of measure for the pid result.
function: Mathematical function for calculating the pid. Variables A-Z are bytes 0-25 of the reply message
min: Minimum return value. Used for gauges and graphs
max: Maximum return value. Also used for gauges and graphs.
labels: Number of labels a typical gauge would have showing this value.
step: Number of sets for graphing or plotting purposes for this pid.

Where to get it

There are two ways to get OBDToolbox. You can either download it from source and compile it yourself, or you
can download a binary. There is currently only one binary available, and that is for win32 and is available HERE
Linux users will have to compile it yourself. To do that, you have to download the source.
To get the source, point your favorite svn client to: https://obdtoolbox.svn.sourceforge.net/svnroot/obdtoolbox
For example, if you are in *nix using svn, you would type in the console:

svn co https://obdtoolbox.svn.sourceforge.net/svnroot/obdtoolbox obdtoolbox

I will hopefully soon have binaries up, as soon as I verify Windows cross-compatability.

Related links

https://sourceforge.net/projects/obdtoolbox/ - sf.net project page
https://sourceforge.net/projects/obdtoolbox/files/ -sf.net file download page
http://www.scantool.net/ - Scantool.net's homepage. Great place for scantools and (paid) software
http://www.mp3car.com/vbulletin - mp3car.com. If you don't know who they are, you should check them out. All your carpc needs
http://en.wikipedia.org/wiki/On_Board_Diagnostics - Wiki article on OBD
http://en.wikipedia.org/wiki/OBD-II_PIDs - Technical Wiki article on OBD2 PID's.