OBD GPS Logger

It does exactly what it says on the tin. It logs OBDII and GPS data
on Linux, OSX and others.

It can then take that logged data, and write useful output formats

If you find obdgpslogger useful, please don't hesitate to drop me
an email at chunky@icculus.org
and let me know of any success, failures, or questions you might have!

Modules

OBD GPS Logger comes as a bunch of small tools, each intended to
complete a single task. I list these modules
on a page of their own.

Of specific mention is an OBD II Simulator,
which has been given its own page to explore some of its features.

Each module intended for end users has a manpage in the
distribution. A simple text version of the manpages can be found here:
manpages

Screenshots

Samples and Google Earth

This is what the output looks like when loaded in Google Earth

Click each screenshot below to take you to a page with higher
resolution images, the logs, and the final output files.

Cross-country road trip

Bit of Coast

There and Back Again

Testing Trips

Vegas trip for CES 2010

GUI

obdgpslogger is actually a small group of command-line applications,
and a UI that can be used to launch them. The UI is entirely optional,
and the full capabilities of obdgpslogger are available without any
graphical systems even running.

Here are some screenshots of it.

When you first start the UI...

While Driving...

Click "Convert log to..."

While converting the log...

What does it do?

Your car has lots of interesting things it can tell you from
its on-board computer while it's running. Things like how fast you're
going, how fast the engine's going, the air flow into the engine, the
throttle position... everything. If you want to know more, google obdII, and enjoy
the rabbit hole.

As with so many open-source projects, this is scratching an itch:
There's a severe lack of applications that run on OSX or Linux that can
log OBDII data.

My gem-of-an-idea from the outset was to be able to log this stuff
as I was driving, along with GPS position, and later on plot an overlay
on a map of where you drove, and how efficiently the car was running at
each instant

What do I need?

The core interest in this application is OBDII. To log from OBDII,
you'll need an elm327-compatible device [ie, "all of them"] plugged into
your laptop and presenting itself as a serial port device. Just about
anything you can find on the internet that says "elm327" and has a plug
that fits a hole on your laptop should work.

I have all these three devices. I use the OBDLink the most [it's
the fastest at sampling, and has the most powerful set of power-saving
settings], followed by the OBDPros. I rarely use the OBDKey anymore:

If you want to use the GPS logging part, you'll need a GPS receiver compatible with
gpsd, and gpsd. For bluetooth, I'm using one of these: Globalsat
BT-359 and am very happy with it. In general, though, I prefer the BU-353
since you don't have to deal with batteries or turning on and enabling
gpsd. [yay hotplug]

Can it hurt my car?

No.

OBDII is purely a way to get diagnostic information from the car. The
only thing that could be classed as "writing" to the car's computer
through the OBDII port is clearing diagnostic codes - which the engine
dutifully sets again if whatever-was-wrong is still wrong.

What do I do with my "logs"?

Google Earth

Included in the distribution is a program called obd2kml. This reads
the database generated by obdlogger and exports to a Google Earth .kml file

Spreadsheet export

Included in the distribution is a program called obd2csv. This reads
the database generated by obdogger and exports it to a CSV file with
a couple extra useful columns pre-calculated.

Then open obdlogger.csv in your favorite spreadsheet to use as you please.

GPX export

GPX is a standard format for GPS data. You can upload it to openstreetmap among others, and many
tools recognise it.

Supported Operating Systems

Short Version: OSX, Linux, cygwin on Windows

Long Version: I'm doing most development and testing on OSX, but it's
fully POSIX-compliant. Which means it works on OSX, Linux, Solaris. If
you use windows, it works with cygwin [see below]

Longer, opaque version: I have run it on ARM Linux, x86 Linux, x86_64
Linux, PPC Linux, PPC OSX 10.4, Intel OSX 10.4 and 10.5, various flavors
of Cygwin. Most modules work under MSYS, except the logger itself.