Forgot your password?

typodupeerror
Hardware Hacking Transportation

Any Open Source Solutions For DIY Auto Diagnostics? 270

Posted by kdawson
from the data-more-data dept.
slaxx writes "As an avid tinkerer, I really want to collect as much data about my car as possible. Using On-Board Diagnostics (OBDII) sounded great to me, but the pricetags of systems like AutoTap Scanner are a bit much for my college budget to handle. Are there any free, open source solutions available? What do Slashdotters do to tinker and record the inner workings of their own vehicles?"
This discussion has been archived. No new comments can be posted.

Any Open Source Solutions For DIY Auto Diagnostics?

Comments Filter:
  • by Anonymous Coward on Sunday May 16 2010, @08:15AM (#32226682)

    It's the underlying protocol of OBD II.

  • OBD (Score:2, Informative)

    by capebretonsux (758684) on Sunday May 16 2010, @08:15AM (#32226684)
    Just do a quick search on hackaday, there's been several projects in the past which may be helpful to you.
  • by Anonymous Coward on Sunday May 16 2010, @08:26AM (#32226736)

    go to autozone and have them read it for free. Some of the stores may not and would require you to rent it. But either way it is cheaper than buying one outright.

  • by Anonymous Coward on Sunday May 16 2010, @08:38AM (#32226796)

    If you're electronically inclined, there are a few resources for rolling your own OBD circuits:

    Software for controlling can be run through a serial port

    Project design for a stand-alone unit:
    http://www.elektor.com/magazines/2007/june/stand-alone-obd-2-analyser.91904.lynkx

    Chips for making your own OBD II. Datasheets have schematics.

    http://www.elmelectronics.com/obdic.html

  • scantool (Score:5, Informative)

    by cptdondo (59460) on Sunday May 16 2010, @08:38AM (#32226800) Journal

    Look at http://www.scantool.net/ [scantool.net] . I use a Scangauge II. I went through this same thing; in the end I decided that buying a scangauge gave me 90% of what I wanted, out of the box, without having a computer clutter up the driving area, and without spending weeks hacking up something that might work but then again might not.

  • obdii hw, sw (Score:3, Informative)

    by Thng (457255) on Sunday May 16 2010, @08:42AM (#32226818)
    First, get the hardware interface: http://www.scantool.net/scan-tools/pc-based/elmscan5-compact.html [scantool.net] with some OK software, $60 http://www.dealextreme.com/details.dx/sku.28528 [dealextreme.com] $29 shipped from hong kong. Hardware isn't free unless you really do want to build your own. ELM327 is a common OBDII interface chip, and they're probably nearly identical internally Then go to scantool.net, software downloads, and find the source. Hack away. Or, go to sourceforge and look at some of the linux based obdii software.
  • Re:To Expensive? (Score:3, Informative)

    by rob13572468 (788682) on Sunday May 16 2010, @08:56AM (#32226880)

    Thats true: you can always get something cheap like this:

    http://www.gridconnect.com/canusblight.html [gridconnect.com]

    Which is like $99 and it will work fine but you lose out on getting stuff like CAN monitors, API's and programming examples with the better adapters... Your best bet is to go with something like this:

    http://www.gridconnect.com/usbcanin.html [gridconnect.com]

    which is a full featured adapter that you can actually do development and project work with.

  • Re:bad idea (Score:5, Informative)

    by nhtshot (198470) on Sunday May 16 2010, @08:56AM (#32226882)

    http://diyefi.org/ [diyefi.org]

    Get rid of the proprietary crap and tinkering can be just as much fun!

  • Re:bad idea (Score:3, Informative)

    by rwa2 (4391) * on Sunday May 16 2010, @09:03AM (#32226902) Homepage Journal

    Who cares about the proprietary chipsets when there are ISO standards for gathering data from them?
    http://en.wikipedia.org/wiki/On-board_diagnostics#Standard_interfaces [wikipedia.org]

    There have been mandatory standards for over 10 years, if only to make emissions testing faster by allowing the VEIP to plug directly into the OBD-II / CAN port under your dash to get emissions readings right from your engine instead of having to hook up that chemical analyzer to your exhaust.

  • Re:As an engineer... (Score:3, Informative)

    by Yetihehe (971185) on Sunday May 16 2010, @09:29AM (#32227018)
    Not really. It's the cost of licences. All auto manufacturers have their proprietary commands in cars. Only most common things are specified by OBDII spec and you have to pay about $2k per year for licence of one manufacturer to get their proprietary specifications and implement them in your OBD tool.
  • Re:bad idea (Score:4, Informative)

    by rwa2 (4391) * on Sunday May 16 2010, @09:31AM (#32227032) Homepage Journal

    I guess the unimaginative trolls are out in force on a Sunday morning. Here's some inspiration:

    http://www.mbworld.org/forums/off-topic/260385-awesome-mr2-carputer.html [mbworld.org]

    http://www.carobd.com/ [carobd.com]

    But yeah, agreed, the future is a dangerous place. Not everyone should dare tread there ;-)

  • Re:As an engineer... (Score:5, Informative)

    by twistedsymphony (956982) on Sunday May 16 2010, @09:41AM (#32227096) Homepage
    As an Engineer who owns and "tinkers" [solid-orange.com] with many of my own cars I'd hardly consider OBDII a "safety critical system". in general it's designed to just be an output, it does accept inputs as well but unless you know what you're doing it's next to impossible to make detrimental changes to the programming.

    If you're really all that concerned about making really STUPID mistakes it why not only tap into the outbound serial pin and then throw an opto-isolator on it. then you can do whatever the hell you want and not worry about damaging your engine computer.

    to the OP... there are DOZENS of OBDII to Serial port adapters on eBay that sell for ~$30, I own several. You'd be hard pressed to build your own for cheaper, the hardware alone will likely cost you that much. There are dozens of free and or cheap (freediag. If you'd rather write your own SAE and ISO control the OBDII standard [wikipedia.org].

    Any engineer who is too frightened to even perform some basic research on the workings of something as simple as OBDII should be ashamed of themselves.
  • Right to Repair (Score:2, Informative)

    by Tokolosh (1256448) on Sunday May 16 2010, @09:47AM (#32227112)

    Support your right to repair: http://www.eff.org/deeplinks/2009/05/right-repair-law-pro [eff.org]

  • Re:As an engineer... (Score:5, Informative)

    by twistedsymphony (956982) on Sunday May 16 2010, @09:51AM (#32227134) Homepage
    forgot the links:
    freediag [sourceforge.net] - Open Source for Linux
    OBD-Diag [obd-diag.de] - Not open source but free
    Easy OBDII [easyobdii.com] - Not open source but free (I use this most often for basic diagnostics)

    You might also want to check out the MP3Car forums [mp3car.com] as they're very knowledgeable on this subject over there, and there are also several source available projects being developed there as well.
  • by rrossman2 (844318) on Sunday May 16 2010, @10:00AM (#32227174)
    WRONG. OBD-II can do a lot more than that. For example in GM's, pin 2 at the ODB-II connetor will allow you to read tach signals, turn on heated accessories, control the OEM alarm and door locks, bypass the Passkey 3, etc. That's where remote start/alarm interface modules for GM cars tap into the CANbus (j1850).

    The radio in GM's (2001+) also don't have an accessory wire, it uses data as well which appears to also be tagged into the same CANbus. You must use a module to keep the factory chimes and create an accessory for you (you could just run your own ACC line but you lose all the features controlled via the radio over the data link). I've heard numerous times from other installers where an idatalink rem start/alarm module wouldn't program to a GM correctly with the aftermarket radio/adaptor installed. Unplug the adaptor, plug the factory radio in, and everything programs fine. So on some makes/models there's a lot more running over that CAN interface than you have any idea about.
  • Re:As an engineer... (Score:5, Informative)

    by twistedsymphony (956982) on Sunday May 16 2010, @10:04AM (#32227194) Homepage
    That's all well and dandy except that the scan equipment isn't actually expensive, the OP is simply looking in the wrong places. You can order a self-contained, portable hand scanner from Jegs or Summit (without question the de-facto shade-tree-mechanic parts and tools catalogs) for about $40, you don't even need a "fancy computer" to interface with it, just the multi-meter sized device in your hand.

    And the real reason the Mechanics hate doing warranty work is because the dealership screws them over too. They get paid by the job based on the complexity, and the dealership considers the same job covered under warranty to be worth about half as much. I've got several friends who make their living as auto mechanics.

    It's not different to the sales department who make their money only on commission as a percentage of the profits over invoice, so to screw over the sales people the dealership sell at barely above invoice and make their money on the financing/extended warranty/accessories/etc. I've got several relatives who make their living as auto salesmen.

    Dealerships will stop being scummy when they stop treating their employees like starving dogs.
  • Re:To Expensive? (Score:3, Informative)

    by divisionbyzero (300681) on Sunday May 16 2010, @10:05AM (#32227200)

    If $199 is to expensive for the hardware and software onyour Budget what do you expect to be able to fix on the car for cheaper?

    Something that would be $199 cheaper having not had to pay for software and hardware.

  • Go to Autozone (Score:3, Informative)

    by Sycraft-fu (314770) on Sunday May 16 2010, @10:05AM (#32227202)

    They'll read your ODB unit at no charge. Reason is, of course, they hope that you will then elect to buy the part(s) you need from them to fix it. Just go in and ask, they'll bring out a portable unit that reads the diag codes. They'll take that back to a computer, upload the results, and give you a printout.

  • Re:As an engineer... (Score:2, Informative)

    by MarksManB (521932) on Sunday May 16 2010, @10:18AM (#32227248)
    A place to look?? Let me tell you, when I had a throttle body issue that wouldn't let the engine idle less that 1000rpm (where 800 is spec) causing the O2 sensor to go crazy and throw a code. ODBII shows O2 sensor code, mechanic replaces it and viola!! Except when I get it home and it stalls out with the same symptom. Mechanic says bring it in, ODBII says O2, mechanic replaces it, wipes his hands of it and repeat. It wasn't until the throttle linkage comes apart at highway speeds that the problem was found and fixed. No stinkin' O2 sensor, it was a throttle body issue that a old timer mechanic discovered while reattaching the linkage and didn't even bother with the diagnostics computer. So Excelcia is spot on, most mechanics aren't even mechanics anymore, they like foreign tech support that reads solutions from a symptom/code flow chart and follows it religiously.
  • Why don't you get rid of your current car and buy a vehicle which is old enough to be (mostly) free of microelectronics?

    Easier said than done, sir. Even my '79 aircooled VW bus had a computer in it. Cars that old were much more prone to rust than current ones. The government was recently paying cash for those clunkers. They're getting rare. Not impossible, but not as easy as you make it sound to buy an old car in any kind of good shape. And not cheap if you find one in seriously good condition.

  • Re:As an engineer... (Score:3, Informative)

    by ScrewMaster (602015) on Sunday May 16 2010, @10:37AM (#32227364)

    That's all well and dandy except that the scan equipment isn't actually expensive, the OP is simply looking in the wrong places.

    Well, I'm not a mechanic but I do like to have some idea what's going on under the hood. I have an Android phone with a bluetooth multiprotocol OBD2 interface, and I use a program (it's in the Market) called "Torque". Works very well, and does more than those handheld scanners you buy at Sears. Even allows you to log OBD info with GPS tagging, and export it. If it finds a trouble code, it will link you to a Web site that lists the possible causes for that code for many different vehicles.

    It only cost two bucks.

  • Re:As an engineer... (Score:2, Informative)

    by minou666 (1812714) on Sunday May 16 2010, @10:38AM (#32227370)
    The reason for that is not what you seem to imply. It is a question of know how. You pay for what you don't know. The security issue is something else. If you are stupid enough to change setup in the car the company is not liable for it since it can be easily proven that you are the guilty one. Most well designed cars will not allow you to do any change without proper security. You need the right codes and passwords. We have to keep coming up with cleaver ways to keep morons from screwing things up.

    The reason for the high price of devices like those of Intrepid, Actia, Dearborn or Vector are that those device allow you to similate engines, ABS or transmission messages easily. If you can't do certain things common sense is that you need to pay someone who knows. Knowledge is money. If that was a larger market the prices would be much lower.
    I use some of those expensive devices to test our cluster software or other devices that hooks up to the CAN (J1939, GMLAN or Ford) as well as J1850 or J1587. The price varies between $800 and $4000. When you pay $4000, about half of it is for the software.

    If all you want to do is monitor things and perhaps add your own gauges or gadgets you should not attempt to go into diagnostic too often and have no need for such expensive devices. A $200 or $100 device would be sufficient, you could even create your own for cheap. Look at some STM32 with CAN or the AT32UC3C, they are quite cheap, the Atmel processor has 2 CAN.

    J1850 is a pain but with most CAN protocol you can monitor faults and most information thru CAN if you know the messages. Ford, GM and Chrysler information is easily available if you know someone, it is not hidden but they don't like that data to go to Joe Blow, you have to have a legitimate reason to want the data. If you are building a device like the ones on the market you will have no problem getting them as long as you pay for them. We had to pay close to $100 for GM and it took a while while we got it free from Ford thru one of our customers. You can get the SAE specs for J1939 and J1850, it must be well over $1000 a year for a subscription.

    Don't bother asking people who have those data since we are not allowed to pass those on. You want this you must pay for it.

    For those who cannot afford the price of the documentation or hardware for these you have to rely on information that is published on the net and hope that it is correct or monitor the CAN for yourself and do some reverse engineering. GM, Ford and Chrysler have their own protocol in standard CAN at 500k. You must make sure that you do not create bus off conditions and that if you do, you recover quickly. Do not attempt to hook up anything on a moving vehicle unless you know for sure that the hardware is designed correctly. J1850 is still available on some vehicle but both Ford and GM have phased them out. J1850 is very tricky as it is very easy to crash the engine or transmission if you broadcast physical message when someone is broadcasting physical messages. With J1850 you must request all messages. This is not true for GMLAN or Ford which have messages that are sent on a regular basis. The GM transmission has a bug that if you try to communicate with a message that is not supported the transmission communication will crash. Do not mess with J1850 on GM engines unless you know exactly what you are doing.

    For non Ford or GM trucks or RV there is J1939 (CAN 250k) and J1587 (RS485 9600 baud). J1587 is still available on all recent Allison Transmission and Wabco or Bendix ABS. It is available on most engines even though it is meant to be obsoleted. It will be around for many years because the military still use it for diagnostic. Normally when J1939 is available we use that. Allison has now J2012 for diagnostic on J1939, this is rather new, it has codes similar to OBD. Cummins and CAT are likely to follow the trend with their engine in a few years, I think that Cummins will have them in 2013 or 2014. All data is in metric on J1939 and english in J1587.
  • Re:As an engineer... (Score:1, Informative)

    by Anonymous Coward on Sunday May 16 2010, @11:46AM (#32227780)

    You can order a self-contained, portable hand scanner from Jegs or Summit (without question the de-facto shade-tree-mechanic parts and tools catalogs) for about $40, you don't even need a "fancy computer" to interface with it, just the multi-meter sized device in your hand.

    The problem is that the cheap scanners will only read OBDII codes, not the really cool and useful vendor-specific codes. OBDII codes are legally prescribed and provide a nice starting point for your own diagnostics. Vendor codes will tell you, for example, "Left rear wheel ABS sensor fault." They'll give you real time readouts of raw sensor data, real time engine &c events, and worlds more information than a $40 scanner. $40 scanner won't tell you ABS, or SRS, or A/C: it will only tell you basic engine and drivetrain events.

  • Re:As an engineer... (Score:5, Informative)

    by qqtortqq (521284) <tort@kconli[ ]com ['ne.' in gap]> on Sunday May 16 2010, @11:54AM (#32227810)
    I just found and bought torque the other day. Great piece of software. I've had an OBDkey [obdkey.com] for a while, and had an old palm PDA mounted in the car to run the OBD reading software. Now with Torque, I was able to ditch the palm and just use my android phone. I eventually want to play with the OBD protocol and see just what I can get my car to do or not do.
  • Re: Too Expensive? (Score:3, Informative)

    by Svartalf (2997) on Sunday May 16 2010, @12:19PM (#32227952) Homepage

    It depends on what you're resetting. If it's the MIL you're wanting to reset, that may be accomplished with a simple OBDII reader that places like Wal-Mart and most reputable auto parts places will sell you for about $60-90. You're going to find that it'll cost more to read CAN or the other protocols than it's worth if all you're looking for is reset capability.

    However, if you're into tinkering and are looking for understanding the OBDII or a base platform for getting it into your laptop, you'll spend $200 on the gear however you do it. If you want to DIY an autotap, you'll have fun making one as there are four differing electrical signalling protocols in play on that connector (If you're being specific, you can find out which you're using and provide the interface to that. Now having said this, you can get schematics that will work against all four protocols, firmware that will work with said hardware to drive the ISO specific one, and if you don't want to muck with fully DIY, you can buy the completed device from Stern Technologies [sterntech.com] for $149 right at the moment (Regular price is $199, but the current design's firmware only supports ISO right now so they're discounting it $50...).

    You will find that you're going to have a difficult time finding cheaper or the special connector (and it's a pita- because I'd had a lark of trying to make a CarChip a' la Davis Instruments and found out just how "fun" it could be getting that connector...) that you'll need for the design. It's a pretty nifty deal at $149.

  • Re: Too Expensive? (Score:3, Informative)

    by blincoln (592401) on Sunday May 16 2010, @12:23PM (#32227978) Homepage Journal

    I don't want to tinker, but if I fix something simple like an air filter, I want to be able to reset the console warning lights.

    If you just want to be able to read diagnostic codes and reset the warning light(s), at most you need a standalone OBDII device, not a laptop, special hardware and software. Harbor Freight has them for US$50 right now [harborfreight.com], and I got one on sale there for about $30.

    The only reason I know of to go the laptop route is to get detailed engine data like an emissions-testing station or performance tuning shop would want.

  • True DIY (Score:3, Informative)

    by dissy (172727) on Sunday May 16 2010, @12:40PM (#32228078)

    http://www.elmelectronics.com/obdic.html [elmelectronics.com]

    Check out the ELM327 chip on that page.

    $33, rs-232 control of the chip and the chip speaks to ODBII: ISO 15765-4 CAN, SAE J1850 PWM, SAE J1850 VPW, ISO 9141-2, ISO 14230-4 and SAE J1939 protocols

    You set the chip up with what to monitor and/or control (Similar in style to sending AT commands to a modem) and then it does the work of giving you the data stream.

    Build your own standalone test gear, with or without a PC interface.

    Googling for "ODB-II Connectors" was how I found the jack ends with pins to solder to. They varied in price a bit so where I purchased from 2 years ago no doubt isn't the cheapest now.

    Have fun

  • Re:To Expensive? (Score:4, Informative)

    by Grog6 (85859) on Sunday May 16 2010, @12:40PM (#32228080)

    I have an older version of this:

    http://www.sctflash.com/X3.php [sctflash.com]

    It reads codes, but also allows me to Upload new profiles to my cars' EEC.

    A warning: You can really fuck up your car with one of these, as the learning curve is pretty steep.

    But being able to vary tuning setups is almost a requirement on older (late 90's) cars with obdii.

    An example: The 03 PI engine going into my car has completely different tuning specs than the old engine; it will run, but will run MUCH better with a new tune.

    The DOHC version has even more different tuning curves...

    The only part of it I hate is the fucking encryption the government insisted on, to keep us out of the eec. That always works, lol.

  • Re: Too Expensive? (Score:3, Informative)

    by 0100010001010011 (652467) on Sunday May 16 2010, @12:53PM (#32228146)

    If that is all you want AutoZone/AdvanceAuto will usually reset the lights and read the codes for free. They'll try and sell you the part to fix it, but they don't force you to buy it.

    I use VCDS [ross-tech.com] on my VW because when I'm diagnosing a problem on my car, I don't want to simultaneously diagnosing my tools.

    It takes time and money to reverse stuff. There have been a few open source projects, but all stalled or weren't kept up to date. I see there's a new VW project on SF.

    And as far as development goes, don't ask what a CANape [vector.com]license and hard ware cost.

  • Re:To Expensive? (Score:4, Informative)

    by dwillden (521345) on Sunday May 16 2010, @01:08PM (#32228266) Homepage
    For OBDII http://www.thinkgeek.com/gadgets/car/aa31/ [thinkgeek.com] has reader, that comes with it's own software for just $99.
  • Re:To Expensive? (Score:5, Informative)

    by xs650 (741277) on Sunday May 16 2010, @01:32PM (#32228444)
    "If $199 is to expensive for the hardware and software on your Budget what do you expect to be able to fix on the car for cheaper?"

    More that you might expect.

    Last three items that my PC based and inexpensive OBD-II diagnostics helped me diagnose on my cars were:

    1. Poor connection at O2 sensor, cleaned connector cost $0.00

    2. Bad water temp sensor, $15.00

    3. Loose hose on air intake. Found because MAF readings were out of range. $0.00

    I could have eventually fixed any of those without the OBD-II reader but it would have taken a lot more time to find the problem, or I could have bent over in front of some dealer service adviser and grabbed my ankles like a typical consumer and paid some big dollars.

    The OBD-II codes didn't tell me exactly what to fix/replace on any of those but it greatly reduced trouble shooting time.

    Also Google the codes the OBD-II spits out, odds are your car isn't the first with the problem. On item 2, Google told me that the water temp sensor had a high failure rate so I started there. A simple ohmeter check told me my sensor was dead.

    Info for nervous Nellies, simple OBD-II readers are read only, so don't get your knickers in a knot.
  • Re:As an engineer... (Score:3, Informative)

    by Pojut (1027544) on Sunday May 16 2010, @05:49PM (#32230360) Homepage

    We used to get a commission based on total parts and labor for the work ticket. One would think this would encourage us to be parts swappers and not actual mechanics, since parts make up more of the cost of a total ticket...and normally, I would agree with them. However, the culture of the shop I worked at was such that people who had a higher labor-to-parts ratio generally earned more, because they were granted higher commissions on labor, thus raising their base pay. The owners understood that not only was diagnosing and fixing the problem a better solution than just parts swapping, it was also more profitable for them because labor has no inherent upfront cost, unlike parts.

    Because of this upfront cost, we were also encouraged to tell people to buy parts themselves when possible, especially on high-ticket items like BMW exhaust parts, engines, or anything else that we would charge for their first-born after markup. This made customers happy due to a reduced bill, it made the owners happy due to less money spent on their part, and it made mechanics happy because it raised their labor-to-parts ratios.

    It really was a well balanced system. If you could find a way to fix a car using the same parts it came into the shop with, you were thought of very highly. If you exhausted that possibility to its fullest extent before changing parts out, but still fixed the problem, you were equally well regarded. Granted, because of this, it took us a little longer than most places to fix your car due to the extra diagnosis time...but we made damn sure it was fixed right the first time.

  • by minou666 (1812714) on Sunday May 16 2010, @07:31PM (#32231192)
    A lot of people chatting on the OBDII subject today do not appear for to know what the hell they are talking about.
    There is a diagnostic protocol called OBDII
    OBDII Connector is the connector where you find all the communication lines used.
    Not all lines are used for every vehicle.
    Here are the connections for one of my tools for use with GM Engines and J1939/J1587 trucks with OBDII connector. For the bigger truck I use a connector convertor since the connector is different and round.

    1 GMLAN Single Wire CAN
    2 + J1850 line
    3 GMLAN MS CAN H
    4 Chassis Ground
    5 Signal Ground
    6 GMLAN HS CAN H
    7 K Line
    8 J1708 (J1587 software)
    9 GMALDL
    10 - J1850
    11 GMLAN MS L
    12 LSFT H
    13 LSFT L
    14 GMLAN HS L
    15 L Line
    16 un-switched VBatt

    Pins 1,3,6,8,9,11,12,13 and 14 are called Discretionary, meaning that they will differ from manufacturer to manufacturer. If you look in your car you will see some pins missing, those are simply not supported.

Love is a grave mental disease. -- Plato

Working...