CAN BUS sniffing (to start with)

I have an Arduino Mega and a Seeed CAN BUS Shield, along with all the relevant libraries, as far as I can tell. Using the sample sketch for OBD-II PIDs, I can pull standard PIDs with no trouble, so I believe all my hardware is working.

I need to first be able to listen to extended CAN BUS messages (on a late model Ford), so that I can try to find the PIDs I need for my project, since they aren't published anywhere. Then, once I start to identify those needles in a very large and complicated haystack, I need to be able to query them individually.

None of the sample sketches I have available seem to work, essentially returning nothing. I generally know how to write the code to run the queries and retrieve the data, once I have the desired PIDs, but need something that will do the data collection part first. I also know the pin, clock speed, baud rate, etc. need to be set to match the vehicle. Has anyone had any success with a project like this?

To clarify, are you talking about Arduino communication exclusively via the OBD2 interface, or do you also need to monitor other CAN busses to gather information?

Via the OBD interface. There are three different modules I need info from, and I can get all of them in a typical OBD app with a scan tool. I just can't see the PIDs.

Is your goal to monitor the data sent from the scan tool so you can see what PIDs it is using?

Initially, yes. The final goal is to monitor the values or ranges for specific PIDs, and alert if the value or range is exceeded.

You realize not all CAN messages are available on the OBDII. Many of those messages are protected behind a gateway that filters the messages. There are three classes If my memory is correct, User Scan Tool, Dealer, and OEM. Those messages are not published for many reasons. Putting additional messages on that bus may damage your vehicle. There is no standard for non OBD messages, each OEM (Original Equipment Manufacturer) does there own.

They also mix 11 and 29 bit CAN with variable Baud Rate.

The receive demo sketch that ships with the library shows all traffic on the bus.
07DF / 07E8 are the usual request / response addresses for an 11 bit system.
I have no idea what addresses they use for a 29 bit system.

11 bit is what I need. I'll give that one a shot again; I may have missed one of the settings for communication.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.