Be a Mechanic...with Android and Linux!

"Check Engine Soon"—that little orange light on your car's instrument
panel is possibly one of the more annoying things about modern
automobiles. Ever had it pop on during a trip and wonder whether it was just
something mundane, like your gas cap being loose, or whether it's something
deathly serious and a piston could come shooting out the side of your
engine block at any time? Well, thanks to an inexpensive little piece of
hardware and an Android tablet, I'll help you decode that little orange
light in your car.

The human race has had automobiles for more than 100 years now, but we've
had
computer monitors and control engine operation only for
around 30 years or so. The first computer controls were primitive, hard
to work with and expensive. Each automotive manufacturer had its own
computer systems, protocols, connectors and trouble-code definitions. I
worked as a mechanic during the late 1980s and early 1990s, and I remember
those
systems well—not fondly, of course, but well. Some of those systems
required you to do crazy things like jump a connector with a piece of
wire, then turn the key on and off three times and observe the Check
Engine light as it flashed on and off. You'd have to count the number
of flashes accurately and then look up the "trouble code" that flashed in
a service manual, and you might get a clue as to what was wrong with
the vehicle. Those early diagnostic systems made seasoned mechanics
who were used to troubleshooting the machinery of an engine rather than
its electronics shudder with trepidation. Over time, the manufacturers
made the systems better. The Society of Automotive Engineers made
the connector, protocol and trouble codes a standard in 1996, and with
that, we've got the system in place today: OBD-II (Onboard Diagnostics,
2nd revision).

OBD-II Basics

Any car sold in the United States after 1996 uses the OBD-II computer
system, so the majority of cars on the road today have this system. Thanks
to OBD-II's standardization and age, lots of tools have been released to
work with the system. Because OBD-II defines the connector and protocol,
that means you need both a hardware device to interface with the
connector and some software to speak the protocol.

The hardware I use is the Soliport ELM327 Bluetooth OBD-II Scanner (see the Amazon
link in the Resources section of this article). It's a very inexpensive
(less than $20) dongle that plugs in to the OBD-II port under your dashboard,
draws its power directly from the car and converts the OBD-II-specific
signals to serial-over-Bluetooth. There are other OBD-II scan tools on
the market. Some are just plain-old cables to hook straight into a
computer's RS-232 serial port, and others are as fancy as full-on bridges
to a Wi-Fi network. And, there are other manufacturers of Bluetooth OBD-II scan
tools, but just make sure whatever you get is based on the ELM327 chipset.

Another piece of hardware you'll need is a computer of some kind. Any
Linux-powered laptop with Bluetooth will suffice, but the form factor is
kind of clunky when you're dealing with a cramped automotive cockpit. (See
the Using a Laptop to Scan Your OBD-II System sidebar if you want to use a laptop.) My personal preference is to
use an Android device to interpret the signals coming from the OBD-II
system in the car. I use a Nexus 7 tablet for this, but any Android
device should work. I've used a Motorola Droid RAZR and the
very first HTC G1 Android phone for this as well.

Figure 1. Tools of the Trade: a Nexus 7 Tablet and a Soliport
Bluetooth OBD-II Scanner

Software-wise, my choice for this on Android is Torque, an excellent
app that not only can collect all the OBD-II stats, but also graph and log
them in myriad ways. (There's also a free version, Torque Lite, that
has a fair deal of the functionality of the full version.) Grab either
one from the Google Play store.

Note that this solution is for read-only access to the OBD-II system in
the car. You can't modify the running parameters of the vehicle with this
adapter, unfortunately (or fortunately, perhaps, as it's very easy to
make a mess of things). Flashing your car's computer with a new fuel
curve or ignition timing map is a nontrivial exercise that requires
an adapter with different voltage levels and different software. So,
don't worry about breaking your car with this solution—you're just
"peeking under the hood".

Comment viewing options

Love the Spaceballs reference (although it's missing a digit) "The pairing code is 1234 if you can't find it in the instructions—coincidentally, it's the same combination that's on my luggage." pakar seo

One of the more frustrating things about making repairs to your car is when they don’t go quite correctly, and the car fails the first post-repair 30W LED working lamp For Buses test drive. Any time you replace parts, you need to put the new parts in so that they fit and function the way your car came from the factory.