ELM327 & Class 2 Serial Data

AmpOverload

Member
Jul 10, 2023
126
USA
I believe there is a message running on the network since the instrument cluster has the coolant temperature gauge.
Then you should see a "49 10 10" somewhere in your scans, assuming they cover a long-enough time period. (Things like ECT and transmission fluid temperature will not be seen very often since they obviously don't change as fast as something like engine speed.)

Where can I find the detailed info on all of the bytes of the serial commands? I found this website but it is not so detailed (or I don't understand this info enough).
That website you linked to is a good starting place, but your question is too vague to answer. There are way too many cases of "serial commands" to give you a sensible, succinct reply. Are you interested in sending commands to make queries of well-documented, non-manufacturer-specific vehicle parameters (e.g. engine coolant temperature, mass air flow, etc)? If so, then you want Mode/Service $01 and should probably start by reading SAE J1979. If you mean something else, please clarify.

OK, an update -I finally found the messages 68 49 10 10 XX CS. Thanks!
Excellent! (I had already composed the above reply before I saw this post of yours, so I went ahead and included that reply anyway.)
 

santon

Member
Jun 3, 2020
106
Israel
Are you interested in sending commands to make queries of well-documented, non-manufacturer-specific vehicle parameters (e.g. engine coolant temperature, mass air flow, etc)? If so, then you want Mode/Service $01 and should probably start by reading SAE J1979. If you mean something else, please clarify.
Yes, I meant the document that I could use as a "dictionary" to interpret the commands that I get from the vehicle network and create my own commands to the car. It seems that SAE J1979 is such a document. Thanks a lot.
 

azswiss

Member
May 23, 2021
940
Tempe, AZ
Some additional reading material - J2178: Class B Data Communication Network Messages
Part 1: Detailed Header Formats and Physical Address Assignments
Part 2: Data Parameter Definitions
Part 3: Frame IDs for Single-Byte Forms of Headers
Part 4: Message Definitions for Three Byte Headers
 

Attachments

  • SAE-J2178-1-1999.pdf
    237.2 KB · Views: 7
  • SAE-J2178-2-1999.pdf
    379.4 KB · Views: 5
  • SAE-J2178-3-1999.pdf
    806.2 KB · Views: 3
  • SAE-J2178-4-1999.pdf
    198.6 KB · Views: 5

TJBaker57

Original poster
Member
Aug 16, 2015
2,954
Colorado
OK, an update -I finally found the messages 68 49 10 10 XX CS. Thanks!

I was getting ready to post up a reply and I see @AmpOverload and @azswiss took up the reins and jumped in and you have it already solved! I am not really surprised at that. Anyway, Here is a screenshot from that same data file I used just recently showing Engine Coolant Temperature messages...


Screenshot_20240429-141920_aGrep.jpg
 

TJBaker57

Original poster
Member
Aug 16, 2015
2,954
Colorado
Where can I find the detailed info on all of the bytes of the serial commands? I found this website but it is not so detailed (or I don't understand this info enough).


I think my journey into this arena began with that website / document many years ago.


I am building a small setup with an OLED display - a gear position indicator. Attached is the picture of the setup. Here is the video of the gear indicator in action. The final version will be smaller, and I am going to put a display in some visible place on the dash.

I for one would be very interested in details of your project. Particularly with the circuitry and Arduino code. I cobbled together both circuitry and code snippets from many sources for my J1850 project. Not having any formal training in programming or electronics resulted in me spending a lot of time getting something that works! Perhaps if you have the time you could post over in the Arduino Chat thread??

https://gmtnation.com/forums/threads/arduino-chat.22775/
 

bryanbc

Member
May 20, 2024
2
California
Hi all,

I am new here, I have a 2005 GMC Sierra and a 2004 GMC Yukon Xl. With the heat starting to move in I wanted to be able to control my AC remotely, as I’m installing remote start in the future. While I could hardwire the HVAC to turn on I want a bit of a more elegant solution. I found this thread and I think tapping into the serial data and sending a command through there will be the perfect solution. I could wire in with an Arduino and have my alarm fob send commands through the auxillary outputs. Or through my phone Hopefully I can program the heated seats as well in the winter, as well as the folding mirrors. Basically I want to give it the functions that the newer 2007 and up have. I think the member iddqd had a similar goal.

I bought an OBD adapter from QUALLY on Amazon, unfortunately I get an Unknown Driver message and my dash and radio turn off, so I’m guessing the serial port gets shorted out on the adapter. It worked fine the first time with but I couldn’t establish a connection with the Serial Bluetooth Terminal.

Backstory aside, any recommendations on an ODB bluetooth scanner that can send commands and receive data? And any recommendations on communicating with it on windows or Mac?
 

TJBaker57

Original poster
Member
Aug 16, 2015
2,954
Colorado
any recommendations on an ODB bluetooth scanner that can send commands and receive data?


I have good luck with devices from Veepeak which I usually buy on Amazon.

The device you bought 'should' be capable of doing the same things.

What app(s) have you tried with your device?

unfortunately I get an Unknown Driver message

This much sounds like your device is interfering with the serial data network. Perhaps it is defective. I assume you only get the "Unknown Driver" message while the device is plugged into the DLC?

I think tapping into the serial data and sending a command through there will be the perfect solution.

Easier said than done I'm afraid. Any module you wish to command via serial data needs to have been designed and programmed to respond to such message/commands. In the case of the HVAC control module pretty much all the operational switches/buttons are integral to the module itself and thus have no need to monitor and react/respond to serial messages.

An exception is my 2002 Trailblazer. It has steering wheel switches for the HVAC fan speed and drivers temperature settings. These steering wheel switches wire to the BCM and thus the BCM must send messages to the HVAC module to adjust these two parameters.

Even so, there is no ON/OFF or Mode switching available on the steering wheel so the best I could do is adjust the fan speed or drivers temperature settings.

Then also is the range of a bluetooth connection. Just about 30' is all I could expect.

Now I suppose I could use a WiFi OBD adapter that could give me better range. And I could build an Arduino project to recieve serial data messages and code that to provide switch outputs that I might then be able (possibly) to tie-in in parallel to the HVAC modules switches.

But all that is getting pretty extreme.
 
  • Like
Reactions: bryanbc

bryanbc

Member
May 20, 2024
2
California
I have good luck with devices from Veepeak which I usually buy on Amazon.

The device you bought 'should' be capable of doing the same things.

What app(s) have you tried with your device?
Will try that brand, thank you. I tried Car Scanner ELM OBD2, DashOBD, and Torque. It worked well the first time on most apps when I tried it, except for the transmission temperature which was stuck at -40F, at least on my Yukon. I didn’t get to test it on my Sierra as the scanner stopped working by the time I got to it. All the apps seemed to work fine, DashOBD needed PID’s so I was going to research them. I do want to get the transmission temperature on my radio screen with DashOBD.
This much sounds like your device is interfering with the serial data network. Perhaps it is defective. I assume you only get the "Unknown Driver" message while the device is plugged into the DLC?
Yeah I believe it is defective, it would return back to normal when I turned it off or took it out of the OBD port. Except that the PASSlock light was stuck on until I restarted the truck, this happened on both my Yukon and Sierra. May upload a video if interested. Did verify it wasn’t my port being broken with another wired OBD scanner I’ve had for years.
An exception is my 2002 Trailblazer. It has steering wheel switches for the HVAC fan speed and drivers temperature settings. These steering wheel switches wire to the BCM and thus the BCM must send messages to the HVAC module to adjust these two parameters.
I believe that was the only year too haha, I think 2003 and on the buttons were the same on the trailblazers and the full size trucks.

Now I suppose I could use a WiFi OBD adapter that could give me better range. And I could build an Arduino project to recieve serial data messages and code that to provide switch outputs that I might then be able (possibly) to tie-in in parallel to the HVAC modules switches.
Interesting wifi could be an option. Yeah my original plan was to have an alarm system with auxiliary outputs and wire one to an Arduino, so I wouldn’t have to mess with attaching a SIM card, yet, maybe in the future.

Easier said than done I'm afraid. Any module you wish to command via serial data needs to have been designed and programmed to respond to such message/commands. In the case of the HVAC control module pretty much all the operational switches/buttons are integral to the module itself and thus have no need to monitor and react/respond to serial messages.
I see, I do wonder if the temperature sensor above the drivers seat is connected through the serial data. And I know that there is at least one thing connected with the rest of the system.
Not sure if you have played with it but switching the odometer to metric also switches the HVAC to Celsius. It could be that that is the only things that it scans for.

Either way will play around with it once it comes in. I have been reading up on the documents and excel sheets you and others have posted on this thread.
Thank you!
 

TJBaker57

Original poster
Member
Aug 16, 2015
2,954
Colorado
It worked well the first time on most apps when I tried it


There is a quirk of many of these devices in the details of how the device determines which protocol to use when connected to a vehicle. Often the device will default to using the protocol it last used succesfully. This can lead to the device using an incorrect protocol.

I have had this happen where I had previously used the device on a CANBUS ISO 15765-4 vehicle and then tried to connect to a SAE J1850 VPW vehicle and experienced a failure to connect to an ECU. The device reports a connection but no communication is possible due to an incorrect protocol.

This is a good reason to setup vehicle specific profiles in your apps and select the specific OBD protocol for that vehicle.

transmission temperature which was stuck at -40F


At least in Torque Pro there are like 3 variations of transmission fluid temperature. These are found in the extended GM PID set which users must load in the app.

I do wonder if the temperature sensor above the drivers seat is connected through the serial data

As far as I know the temperature sensors are directly wired to the HVAC module. As such there is no need for serial data messages there.

Practically ALL sensors use SI units natively. So temperatures are reported in Celsius. Scantools and display systems can be set to convert to Fahrenheit.

have been reading up on the documents and excel sheets you and others have posted

The real key to getting traction in understanding the serial data messages is the SAE J2178 specification. That and a large amount of free time :wink:
 

Forum Statistics

Threads
23,447
Posts
639,503
Members
18,668
Latest member
Zee0719