Connecting To An Automotive Diagnostic Computer?
An Anonymous Coward writes: "I was wondering if anyone has tried to hook up a PC to the diagnostic computer on an automobile. Each time the little idiot light on my Blazer comes on I have to cough up $20 - $40 just to find out what the problem is. This seems to me like an amusing and only moderately difficult hack - I can't believe that I am the first person to think of it. However, I can't seem to find any information on the topic at all."
Here is a link to anECM scanner (a device that will read the diagnostic codes on modern cars) for only about $500. It looks like it can handle a wide variety of Chrysler, Ford and GM vehicles built between 1984 and 1995.
The company sells a few other interesting toys that could be of use to automotive/electronics geeks.
Otherwise, there are some links I found along the way:- Miata Engine Computer Self Diagnotics
- Chrysler, Plymouth, and Dodge Computer Fault Codes
- Datalogger a commercial hack from TechnMotive similar to the poster's requrest. There may be other good stuff on the TechnoMotive site.
- An overview of electronic engine control from Intel.
I got these links simply by doing a Google search on "engine computer diagnostic". There were many more (about 4000 pages worth) but I got tired of skimming through them (I was averaging about 2 usefull hits per page).Quite some time ago I was searching around the net for exactly the same thing, just out of curiosity. Unfortunately I didn't keep any of my bookmarks on this (and they've probably 404'd anyways), but many manufacturers encode the error "codes" as a series of pulses. Using a multi-meter or a simple 12V bulb, you can count them and get the error code. They're not even encoded in any way (BCD or whatever), but rather the number of pulses is directly equal to the code. Building a simple circuit to record the error codes and later dump them in a serial port (or parallel if that's your thing) shouldn't be too difficult.
A Google search turned up some examples of codes, so they're out there; you just have to look!
Ford Probe
Eagle Talon
Most of the better shop manuals you can buy also have most of these codes. Take a look through some of the aftermarket books like those from Haynes or Chiltons or whatever you can find.
It's only software!
Anyway, it may not be a trivial hack. I suggest that you think about asking your car mechanic (You are friendly with him, aren't you? If not, ask another shop.) if there are any specs in the repair manuals, or if he can share anything with you. He may get nervous (NDAs for diagnostic operators), or mislead you (he'll make less money if you succeed), so be careful about who you ask and how you ask.
And if you have any success, please share it. I can imagine a convergence of car guys and computer guys working on their cars, crossing social boundaries, living in harmony with each other and nature, learning from each other, ... uh, whoops. How did I have a flash-back to the 60's when I was born in the 70's?
Good luck with your car.
Louis Wu
"Where do you want to go ...
I have a friend who works on diesel trucks. He once showed me exactly what the diagnostic computer can do. This computer could change the idle level of the engine, it could even accelerate the engine as if someone was pushing down on the gas pedal. One thing that was a little scary is that computer kept a log of how the truck was driven (idle time, shifting habits, speeds, etc.)
So, you want to talk to your car's computer? OBD II is the standard protocol (On Board Diagnostics v2). As of about 1996, most all cars use this protocol, and also have the standard OBD II connector and hardware interface. Typically the connector will be inside the car, under the dash or behind the ashtray, someplace like that. The device your mechanic will plug into it is called a "Scantool". Some manufacturers of these include Actron and Snap-On.
The standards are documented in SAE (Society of Automotive Engineers, http://www.sae.org/) publications SAE J1978 (OBD II Scan Tool) and J2201 (OBD II Scan Tool Universal Interface) and a slew of supporting documents. I see on their website they are selling a book with a collection of these ("SAE On-Board Diagnostics for Light and Medium Duty Vehicles Standards Manual") They are not trivial to interface to.
Prior to OBD II, there was a multitude of "standards" and you had to get a different scantool, or a different interface module, to deal with each of them. Each vehicle manufacturer rolled his own. And of course, back in the dark ages, primitive on-board computers would blink dashboard lights and stuff like that to read out codes. ("Codes" in this context stands for "Engine fault codes" that describe specific failure conditions.)
It's amazing what data you can get with OBD II: current RPM, speed, status of various systems, temperatures, pressures, flow rates, and voltages in various parts of the engine and drivetrain. Have fun, I hope you're able to get something going.
-Th