Page 1 of 2 12 LastLast
Results 1 to 10 of 16

Thread: OBD2 / Elm327 Developers - Please Aid

  1. #1
    Newbie
    Join Date
    Apr 2008
    Posts
    20

    OBD2 / Elm327 Developers - Please Aid

    Okay here's the thing. I'm programming my own car PC software and I'm almost done with every feature except for the OBD2 protocol.

    I will be using the ELM327 for my program, and what I'm searching for is either a library (compatible with C#) for my program, which will manage the connection to the ELM and data retrieving, or someone who can provide me a small explanation of how the ELM327 works (mainly how it is initialized, and how data is sent / received through the COM stream).

    So if anyone can help, please feel free to do so on this thread or add me on MSN:

    thunderfox5<at>hotmail<dot>com

    Cheers!

  2. #2
    Newbie
    Join Date
    Jun 2008
    Posts
    38
    ill try to explain, say your car is KWP2000 ( thats the protocol for engine management ) as said before and works in ASCII or OBDII/EOBD now CAN bus its a protocol on its own so basicly ELM327 has 2 interfaces built into it and works best with USB2 because its a faster network but you can use the serial side but as said by another member it has to be buffered because serial is too slow thats why is has the XON/XOFF and has to be turned on in your device manager if your going to use serial connection,
    hopefully this will shed a little light on the subject as this is where people tend to go wrong

  3. #3
    Newbie
    Join Date
    Apr 2008
    Posts
    20
    Quote Originally Posted by techbod View Post
    ill try to explain, say your car is KWP2000 ( thats the protocol for engine management ) as said before and works in ASCII or OBDII/EOBD now CAN bus its a protocol on its own so basicly ELM327 has 2 interfaces built into it and works best with USB2 because its a faster network but you can use the serial side but as said by another member it has to be buffered because serial is too slow thats why is has the XON/XOFF and has to be turned on in your device manager if your going to use serial connection,
    hopefully this will shed a little light on the subject as this is where people tend to go wrong
    That, I already know. What I need to know is how to initialize the ELM, in this case, for both interfaces. Basically a brief description of the ELM327 communication protocol.

  4. #4
    Constant Bitrate
    Join Date
    Mar 2007
    Location
    Rutherford, Australia
    Posts
    151
    The ELM327 datasheet lists all the commands necessary to select the protocol, issue commands and receive data. The ELM can only operate using one protocol at a time, unlike a lot of other tools.

    As for a library, the only thing that comes close is the source the Scantool software at scantool.net.

    Cardix is an SDK that was adding support for ELM at some point. At the moment I think it's primarily J2534.


    Lukeyson

  5. #5
    Newbie
    Join Date
    Apr 2008
    Posts
    20
    That I know too. The problem is that the command table on the ELM327 ref sheet does not tell how they are to be used (i.e. order for initialization, how data is retrieved, etc), it only lists the commands.

  6. #6
    Vendor - Qube colin's Avatar
    Join Date
    Dec 2006
    Posts
    798
    This is in perfect timing for me, I'd like to know how to use the ELM327 as well.

    Apparently Scantool.net is open source so you can check out how they do it, however it's much much simpler to just follow some instructions and send the commands rather than decode someones source in a different language.

  7. #7
    glm
    glm is offline
    Banned
    Join Date
    Apr 2008
    Posts
    20
    If you haven't already got it, as Lukeyson pointed out the datasheet from Elm Electronics is a good place to start for the Elm AT commands, but to know what to send and how to interpret the responses you'll need a copy of SAE J1939 or ISO 150310-5 to proceed further.

    Graham McKechnie
    GLM Software
    www.glmsoftware.com

  8. #8
    North of the land of Hey Huns
    Auto Apps:loading...

    Join Date
    Jun 2004
    Location
    Westminster, MD
    Posts
    2,144
    I'm working on a c++ OBD2 (ISO) interface library, however its based off of the ELM from here: http://www.obdpros.com/ Not sure if that is compatable with what you are working with, but I can port it to c# when I'm finished if it is.

  9. #9
    Newbie
    Join Date
    Jun 2008
    Posts
    38
    im an old tech and these new systems intrigue me because the dealers are screwing us in costs for very basic none fault codes thinking we are dumb now im starting to learn more since I retired and using it to help those who cant afford dealer prices,
    im no programmer so just got basic knowledge in this area but when it comes to diagnosing and fixing cars that's my area of expertise so its a need to know thing with me in fact I think I'm getting obsessed with it lol ( your never too old to learn ) my father told me that many years ago and its taken over my life "not much else to do at my age" but it keeps my mind busy so I don't turn into an old fossil, I glad to see so much enthusiasm on this subject it really helps

  10. #10
    Constant Bitrate
    Join Date
    Mar 2007
    Location
    Rutherford, Australia
    Posts
    151
    Actually, if you're at the point of issuing commands to get data out of modules, you might be beyond the mere scope of the tools and into the realms of the standards.

    J1979 - is the first standard - it's across all cars but only gets basic stuff out of the PCM.
    J2190 - is very bloody useful, and outlines the standards by which modules can be manipulated.

    14229-1 would be useful - Universal Diagnostics. ie diagnostics on your protocol
    15765-3 is also useful - diagnostics on CAN.

    These are a bit of a re-hash on J2190, but are still useful as well.

    As for the rest - well, you have to get through the big black door. All of the data in these modules is considered prioritary and confidential, so is not released to the public. But you can subscribe to ETI if you're rich and can access vendor data that way. If you want to write commerical software you have to licence the proprietary data from a manufacturer - and that ain't cheap either. Just ask Brian from PalmerPerformance!


    Lukeyson

Page 1 of 2 12 LastLast

Similar Threads

  1. Linux Ice and Nghost looking for developers
    By wirelessdreamer in forum LinuxICE
    Replies: 5
    Last Post: 08-16-2009, 06:05 AM
  2. Can someone confirm that i can use the Bluetooth ELM327 Scan Tool Scanner OBD2 OBD-II
    By lucegunz in forum Engine Management, OBD-II, Engine Diagnostics, etc.
    Replies: 2
    Last Post: 05-05-2008, 05:25 AM
  3. VB6 Source and Elm327 for OBD2
    By planethax in forum Engine Management, OBD-II, Engine Diagnostics, etc.
    Replies: 16
    Last Post: 04-05-2008, 04:47 PM
  4. "Revolutionary" Product
    By CaffeineAddict in forum Off Topic
    Replies: 5
    Last Post: 06-16-2002, 03:06 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •