Reading data from car's ECU ABS wheel speed sensors









up vote
1
down vote

favorite












I'm currently working on a project that requires gathering data from a car's wheel speed sensors(4 hall efect speed sensors). Those sensors are connected to the car's ECU responsible for ABS/ESP/Stability control etc.



In order to extract the data from the ECU i need to make a request with a specific PID(parameter ID) AND know how to decode/compute the answer in order to extract any meaningful data. Unfortunately vehicle manufacturers don't seem to make such information public.
So far i've ordered an arduino CAN BUS shield and a OBD2 to RS232 cable in order to make the physical connection.
I have tried using a specialized hardware/software(that costs more than 1500euro) capable of extracting those parameters, but unfortunately it lacks logging functions. I tried using Wireshark to sniff the PIDs called, but had no luck there either.
If you guys have any ideas, questions or suggestions, please write them down.
I'm open to criticism and know that i might be missing something important.
Thanks.
P.S. This is a university project im working on. I need data samples from the wheel speed sensors and further computing of the data sample is done with the purpose of researching car safety and behavior in dynamic road scenarios.










share|improve this question























  • Are you asking how to sniff packets on a proprietary CAN bus in a car? That information is carefully copyrighted by the car manufacturers and even if someone had a way to decode this, they would not post it on a public forum, sorry. :) I'm going to recommend this question be deleted.
    – dmcgrandle
    Nov 10 at 21:43










  • We can help you with reading the CAN payload, or help you with the generic UDS requests to obtain PID/DID info. Even if you reverse engineer the PIDs (they are DIDs, not PIDs) from the OBD2 tool, you will need the computation method to transform the DIDs content into physical values. That is the "company secret".
    – VioletVynil
    Nov 11 at 19:17










  • I wanted to know if it is actually possible to find the PIDs and the computation method to transform the DIDs. Since many PIDs are public(for example i found more than 100 PIDs for more generic stuff-example :engine RPM,vehicle speed etc.) i thought other PIDs might be public as well, but i had no luck finding them. If they are copyrighted by car manufacturers, then i'll seek other methods of gathering data. Maybe link the speed sensors directly to an MCU via a filtering circuit or something similar. Anyway. Thank you for commenting. At this point any information is helpful. :)
    – Nedelchev
    Nov 12 at 13:45










  • Well the PIDs you can guess with the help of the OBD tool, you catch the messages with the service 22 in them (DID read), after you triggered the request from OBD. Then the 2 bytes after 22 are the DID. The content they ought to report, and their computation method is just guesswork.
    – VioletVynil
    Nov 13 at 12:10














up vote
1
down vote

favorite












I'm currently working on a project that requires gathering data from a car's wheel speed sensors(4 hall efect speed sensors). Those sensors are connected to the car's ECU responsible for ABS/ESP/Stability control etc.



In order to extract the data from the ECU i need to make a request with a specific PID(parameter ID) AND know how to decode/compute the answer in order to extract any meaningful data. Unfortunately vehicle manufacturers don't seem to make such information public.
So far i've ordered an arduino CAN BUS shield and a OBD2 to RS232 cable in order to make the physical connection.
I have tried using a specialized hardware/software(that costs more than 1500euro) capable of extracting those parameters, but unfortunately it lacks logging functions. I tried using Wireshark to sniff the PIDs called, but had no luck there either.
If you guys have any ideas, questions or suggestions, please write them down.
I'm open to criticism and know that i might be missing something important.
Thanks.
P.S. This is a university project im working on. I need data samples from the wheel speed sensors and further computing of the data sample is done with the purpose of researching car safety and behavior in dynamic road scenarios.










share|improve this question























  • Are you asking how to sniff packets on a proprietary CAN bus in a car? That information is carefully copyrighted by the car manufacturers and even if someone had a way to decode this, they would not post it on a public forum, sorry. :) I'm going to recommend this question be deleted.
    – dmcgrandle
    Nov 10 at 21:43










  • We can help you with reading the CAN payload, or help you with the generic UDS requests to obtain PID/DID info. Even if you reverse engineer the PIDs (they are DIDs, not PIDs) from the OBD2 tool, you will need the computation method to transform the DIDs content into physical values. That is the "company secret".
    – VioletVynil
    Nov 11 at 19:17










  • I wanted to know if it is actually possible to find the PIDs and the computation method to transform the DIDs. Since many PIDs are public(for example i found more than 100 PIDs for more generic stuff-example :engine RPM,vehicle speed etc.) i thought other PIDs might be public as well, but i had no luck finding them. If they are copyrighted by car manufacturers, then i'll seek other methods of gathering data. Maybe link the speed sensors directly to an MCU via a filtering circuit or something similar. Anyway. Thank you for commenting. At this point any information is helpful. :)
    – Nedelchev
    Nov 12 at 13:45










  • Well the PIDs you can guess with the help of the OBD tool, you catch the messages with the service 22 in them (DID read), after you triggered the request from OBD. Then the 2 bytes after 22 are the DID. The content they ought to report, and their computation method is just guesswork.
    – VioletVynil
    Nov 13 at 12:10












up vote
1
down vote

favorite









up vote
1
down vote

favorite











I'm currently working on a project that requires gathering data from a car's wheel speed sensors(4 hall efect speed sensors). Those sensors are connected to the car's ECU responsible for ABS/ESP/Stability control etc.



In order to extract the data from the ECU i need to make a request with a specific PID(parameter ID) AND know how to decode/compute the answer in order to extract any meaningful data. Unfortunately vehicle manufacturers don't seem to make such information public.
So far i've ordered an arduino CAN BUS shield and a OBD2 to RS232 cable in order to make the physical connection.
I have tried using a specialized hardware/software(that costs more than 1500euro) capable of extracting those parameters, but unfortunately it lacks logging functions. I tried using Wireshark to sniff the PIDs called, but had no luck there either.
If you guys have any ideas, questions or suggestions, please write them down.
I'm open to criticism and know that i might be missing something important.
Thanks.
P.S. This is a university project im working on. I need data samples from the wheel speed sensors and further computing of the data sample is done with the purpose of researching car safety and behavior in dynamic road scenarios.










share|improve this question















I'm currently working on a project that requires gathering data from a car's wheel speed sensors(4 hall efect speed sensors). Those sensors are connected to the car's ECU responsible for ABS/ESP/Stability control etc.



In order to extract the data from the ECU i need to make a request with a specific PID(parameter ID) AND know how to decode/compute the answer in order to extract any meaningful data. Unfortunately vehicle manufacturers don't seem to make such information public.
So far i've ordered an arduino CAN BUS shield and a OBD2 to RS232 cable in order to make the physical connection.
I have tried using a specialized hardware/software(that costs more than 1500euro) capable of extracting those parameters, but unfortunately it lacks logging functions. I tried using Wireshark to sniff the PIDs called, but had no luck there either.
If you guys have any ideas, questions or suggestions, please write them down.
I'm open to criticism and know that i might be missing something important.
Thanks.
P.S. This is a university project im working on. I need data samples from the wheel speed sensors and further computing of the data sample is done with the purpose of researching car safety and behavior in dynamic road scenarios.







arduino obd-ii can-bus






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 12 at 10:09

























asked Nov 10 at 15:50









Nedelchev

62




62











  • Are you asking how to sniff packets on a proprietary CAN bus in a car? That information is carefully copyrighted by the car manufacturers and even if someone had a way to decode this, they would not post it on a public forum, sorry. :) I'm going to recommend this question be deleted.
    – dmcgrandle
    Nov 10 at 21:43










  • We can help you with reading the CAN payload, or help you with the generic UDS requests to obtain PID/DID info. Even if you reverse engineer the PIDs (they are DIDs, not PIDs) from the OBD2 tool, you will need the computation method to transform the DIDs content into physical values. That is the "company secret".
    – VioletVynil
    Nov 11 at 19:17










  • I wanted to know if it is actually possible to find the PIDs and the computation method to transform the DIDs. Since many PIDs are public(for example i found more than 100 PIDs for more generic stuff-example :engine RPM,vehicle speed etc.) i thought other PIDs might be public as well, but i had no luck finding them. If they are copyrighted by car manufacturers, then i'll seek other methods of gathering data. Maybe link the speed sensors directly to an MCU via a filtering circuit or something similar. Anyway. Thank you for commenting. At this point any information is helpful. :)
    – Nedelchev
    Nov 12 at 13:45










  • Well the PIDs you can guess with the help of the OBD tool, you catch the messages with the service 22 in them (DID read), after you triggered the request from OBD. Then the 2 bytes after 22 are the DID. The content they ought to report, and their computation method is just guesswork.
    – VioletVynil
    Nov 13 at 12:10
















  • Are you asking how to sniff packets on a proprietary CAN bus in a car? That information is carefully copyrighted by the car manufacturers and even if someone had a way to decode this, they would not post it on a public forum, sorry. :) I'm going to recommend this question be deleted.
    – dmcgrandle
    Nov 10 at 21:43










  • We can help you with reading the CAN payload, or help you with the generic UDS requests to obtain PID/DID info. Even if you reverse engineer the PIDs (they are DIDs, not PIDs) from the OBD2 tool, you will need the computation method to transform the DIDs content into physical values. That is the "company secret".
    – VioletVynil
    Nov 11 at 19:17










  • I wanted to know if it is actually possible to find the PIDs and the computation method to transform the DIDs. Since many PIDs are public(for example i found more than 100 PIDs for more generic stuff-example :engine RPM,vehicle speed etc.) i thought other PIDs might be public as well, but i had no luck finding them. If they are copyrighted by car manufacturers, then i'll seek other methods of gathering data. Maybe link the speed sensors directly to an MCU via a filtering circuit or something similar. Anyway. Thank you for commenting. At this point any information is helpful. :)
    – Nedelchev
    Nov 12 at 13:45










  • Well the PIDs you can guess with the help of the OBD tool, you catch the messages with the service 22 in them (DID read), after you triggered the request from OBD. Then the 2 bytes after 22 are the DID. The content they ought to report, and their computation method is just guesswork.
    – VioletVynil
    Nov 13 at 12:10















Are you asking how to sniff packets on a proprietary CAN bus in a car? That information is carefully copyrighted by the car manufacturers and even if someone had a way to decode this, they would not post it on a public forum, sorry. :) I'm going to recommend this question be deleted.
– dmcgrandle
Nov 10 at 21:43




Are you asking how to sniff packets on a proprietary CAN bus in a car? That information is carefully copyrighted by the car manufacturers and even if someone had a way to decode this, they would not post it on a public forum, sorry. :) I'm going to recommend this question be deleted.
– dmcgrandle
Nov 10 at 21:43












We can help you with reading the CAN payload, or help you with the generic UDS requests to obtain PID/DID info. Even if you reverse engineer the PIDs (they are DIDs, not PIDs) from the OBD2 tool, you will need the computation method to transform the DIDs content into physical values. That is the "company secret".
– VioletVynil
Nov 11 at 19:17




We can help you with reading the CAN payload, or help you with the generic UDS requests to obtain PID/DID info. Even if you reverse engineer the PIDs (they are DIDs, not PIDs) from the OBD2 tool, you will need the computation method to transform the DIDs content into physical values. That is the "company secret".
– VioletVynil
Nov 11 at 19:17












I wanted to know if it is actually possible to find the PIDs and the computation method to transform the DIDs. Since many PIDs are public(for example i found more than 100 PIDs for more generic stuff-example :engine RPM,vehicle speed etc.) i thought other PIDs might be public as well, but i had no luck finding them. If they are copyrighted by car manufacturers, then i'll seek other methods of gathering data. Maybe link the speed sensors directly to an MCU via a filtering circuit or something similar. Anyway. Thank you for commenting. At this point any information is helpful. :)
– Nedelchev
Nov 12 at 13:45




I wanted to know if it is actually possible to find the PIDs and the computation method to transform the DIDs. Since many PIDs are public(for example i found more than 100 PIDs for more generic stuff-example :engine RPM,vehicle speed etc.) i thought other PIDs might be public as well, but i had no luck finding them. If they are copyrighted by car manufacturers, then i'll seek other methods of gathering data. Maybe link the speed sensors directly to an MCU via a filtering circuit or something similar. Anyway. Thank you for commenting. At this point any information is helpful. :)
– Nedelchev
Nov 12 at 13:45












Well the PIDs you can guess with the help of the OBD tool, you catch the messages with the service 22 in them (DID read), after you triggered the request from OBD. Then the 2 bytes after 22 are the DID. The content they ought to report, and their computation method is just guesswork.
– VioletVynil
Nov 13 at 12:10




Well the PIDs you can guess with the help of the OBD tool, you catch the messages with the service 22 in them (DID read), after you triggered the request from OBD. Then the 2 bytes after 22 are the DID. The content they ought to report, and their computation method is just guesswork.
– VioletVynil
Nov 13 at 12:10












1 Answer
1






active

oldest

votes

















up vote
1
down vote













You can only read the OBD data from the OBD-port. The OBD PIDs are generalized in ISO/CD 15765-5. You probably find non reliable descriptions also in Wikipedia. But in order to get the other PIDs, firstly you should know that those data are heavily under control by the car manufacturers and you have to hack them. One way to find them (but very unlikely to find one!) is the try and error method.



You should access the main CAN-BUS wires and the buy a connector device so you can sniff the packets. then monitor all the packets and make a small change. Monitor it again and compare these two. Maybe maybe maybe you have a chance to find some non-safety features with this method but finding security functionalities like ABS is heavily in doubt.



UNLESS you are some sort of genius hacker who can do weird stuff! If you can do it, then call the manufacturer and show them what you have so you would likely get a nice job and salary by them!



ONCE I saw a youtube clip that a guy could control a TOYOTA (if I remember correctly) with a laptop! and also maybe you can buy such info on the dark web which I advise highly against it!






share|improve this answer




















    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53240629%2freading-data-from-cars-ecu-abs-wheel-speed-sensors%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    1
    down vote













    You can only read the OBD data from the OBD-port. The OBD PIDs are generalized in ISO/CD 15765-5. You probably find non reliable descriptions also in Wikipedia. But in order to get the other PIDs, firstly you should know that those data are heavily under control by the car manufacturers and you have to hack them. One way to find them (but very unlikely to find one!) is the try and error method.



    You should access the main CAN-BUS wires and the buy a connector device so you can sniff the packets. then monitor all the packets and make a small change. Monitor it again and compare these two. Maybe maybe maybe you have a chance to find some non-safety features with this method but finding security functionalities like ABS is heavily in doubt.



    UNLESS you are some sort of genius hacker who can do weird stuff! If you can do it, then call the manufacturer and show them what you have so you would likely get a nice job and salary by them!



    ONCE I saw a youtube clip that a guy could control a TOYOTA (if I remember correctly) with a laptop! and also maybe you can buy such info on the dark web which I advise highly against it!






    share|improve this answer
























      up vote
      1
      down vote













      You can only read the OBD data from the OBD-port. The OBD PIDs are generalized in ISO/CD 15765-5. You probably find non reliable descriptions also in Wikipedia. But in order to get the other PIDs, firstly you should know that those data are heavily under control by the car manufacturers and you have to hack them. One way to find them (but very unlikely to find one!) is the try and error method.



      You should access the main CAN-BUS wires and the buy a connector device so you can sniff the packets. then monitor all the packets and make a small change. Monitor it again and compare these two. Maybe maybe maybe you have a chance to find some non-safety features with this method but finding security functionalities like ABS is heavily in doubt.



      UNLESS you are some sort of genius hacker who can do weird stuff! If you can do it, then call the manufacturer and show them what you have so you would likely get a nice job and salary by them!



      ONCE I saw a youtube clip that a guy could control a TOYOTA (if I remember correctly) with a laptop! and also maybe you can buy such info on the dark web which I advise highly against it!






      share|improve this answer






















        up vote
        1
        down vote










        up vote
        1
        down vote









        You can only read the OBD data from the OBD-port. The OBD PIDs are generalized in ISO/CD 15765-5. You probably find non reliable descriptions also in Wikipedia. But in order to get the other PIDs, firstly you should know that those data are heavily under control by the car manufacturers and you have to hack them. One way to find them (but very unlikely to find one!) is the try and error method.



        You should access the main CAN-BUS wires and the buy a connector device so you can sniff the packets. then monitor all the packets and make a small change. Monitor it again and compare these two. Maybe maybe maybe you have a chance to find some non-safety features with this method but finding security functionalities like ABS is heavily in doubt.



        UNLESS you are some sort of genius hacker who can do weird stuff! If you can do it, then call the manufacturer and show them what you have so you would likely get a nice job and salary by them!



        ONCE I saw a youtube clip that a guy could control a TOYOTA (if I remember correctly) with a laptop! and also maybe you can buy such info on the dark web which I advise highly against it!






        share|improve this answer












        You can only read the OBD data from the OBD-port. The OBD PIDs are generalized in ISO/CD 15765-5. You probably find non reliable descriptions also in Wikipedia. But in order to get the other PIDs, firstly you should know that those data are heavily under control by the car manufacturers and you have to hack them. One way to find them (but very unlikely to find one!) is the try and error method.



        You should access the main CAN-BUS wires and the buy a connector device so you can sniff the packets. then monitor all the packets and make a small change. Monitor it again and compare these two. Maybe maybe maybe you have a chance to find some non-safety features with this method but finding security functionalities like ABS is heavily in doubt.



        UNLESS you are some sort of genius hacker who can do weird stuff! If you can do it, then call the manufacturer and show them what you have so you would likely get a nice job and salary by them!



        ONCE I saw a youtube clip that a guy could control a TOYOTA (if I remember correctly) with a laptop! and also maybe you can buy such info on the dark web which I advise highly against it!







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 13 at 12:55









        WonderfulMe

        351421




        351421



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53240629%2freading-data-from-cars-ecu-abs-wheel-speed-sensors%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Use pre created SQLite database for Android project in kotlin

            Darth Vader #20

            Ondo