When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
I am in the process of doing some research to build a data logger using an Arduino microcontroller. I want the data logger to be able to collect data from the following sources:
OBDII connector
GPS module
3-axis accelerometer
fast-responding oil pressure sensor
I expect to be able to read at least the following parameters from the OBDII connector:
engine RPM
vehicle speed
throttle position
wheel position
selected gear
oil temperature
I'm doing this because I think data loggers are way too expensive for what they do. I can buy all of the parts mentioned here for about $300. Of course, there will be a lot of work in developing the code, but that's fun for me. I will be storing the acquired data on a memory card, and plan to have the capability to build the data into a video along with a GoPro video, showing track position, etc.
My question is related to the format of the OBDII port data. I have a 2006 ZO6. I haven't been able to find specific information to tell me if the data port only uses the CAN bus, or if the SAE J1850 VPW protocol is used, or if it is a combination of the two. If anyone knows, and further if anyone has any detailed documentation on the data format for my model year, I would be most grateful if I could obtain this info.
I am in the process of doing some research to build a data logger using an Arduino microcontroller. I want the data logger to be able to collect data from the following sources:
OBDII connector
GPS module
3-axis accelerometer
fast-responding oil pressure sensor
I expect to be able to read at least the following parameters from the OBDII connector:
engine RPM
vehicle speed
throttle position
wheel position
selected gear
oil temperature
I'm doing this because I think data loggers are way too expensive for what they do. I can buy all of the parts mentioned here for about $300. Of course, there will be a lot of work in developing the code, but that's fun for me. I will be storing the acquired data on a memory card, and plan to have the capability to build the data into a video along with a GoPro video, showing track position, etc.
My question is related to the format of the OBDII port data. I have a 2006 ZO6. I haven't been able to find specific information to tell me if the data port only uses the CAN bus, or if the SAE J1850 VPW protocol is used, or if it is a combination of the two. If anyone knows, and further if anyone has any detailed documentation on the data format for my model year, I would be most grateful if I could obtain this info.
Thanks for any help!
Very cool project, I thought about doing this a while ago. Are you going to open source the design / source code?
Very cool project, I thought about doing this a while ago. Are you going to open source the design / source code?
Well, the first step will be to get something working. I would probably make the design and code available to others, but I may also want to sell the product to people who don't want to fool with stuff like this. After all, I have to consider what I'll do in retirement
Here is a thread where some guys were sniffing a holden monaro which is essentially a GTO. Might be a good start. They even have some data of reading and writing to the bus.
Here is a thread where some guys were sniffing a holden monaro which is essentially a GTO. Might be a good start. They even have some data of reading and writing to the bus.
Since my original post, I've discovered that the 2006 cars use both high speed GMLAN, which is on the correct CAN-bus pins, and a slower speed Class 2 bus. Fortunately, the class 2 bus only talks to devices that I don't really care about, like door, radio, HUD, etc. The GMLAN talks to the units I mostly care about (engine, transmission, etc). I have ordered the CAN-bus shield which only uses CAN, so I'll be testing this soon.
I've got some hardware and software now that reads CAN-bus codes for vehicle speed, RPM, and throttle position. I've added a GPS module and a 3-axis accelerometer. I just need to get an oil pressure transducer now, and package everything inside a neat little box. All data gets written to a micro SD card as a CSV. If anyone is interested in getting a low-cost (around $300) data logger, let me know. I'll post pics when I get it looking more track ready.
Last edited by Memphomaniac; Apr 6, 2013 at 12:14 PM.
You mentioned that the class 2 communicates with the door, radio, HUD, etc... have you looked into the class 2 bus any further?
It would be particularly interesting if you could do climate control from an embedded device... the concept being you could replace the Climate Controls (HVAC) and Head Unit with a large portrait touchscreen device and integrate the climate control into software.
Tesla Setup - note the integrated climate controls at the bottom of the screen.
You mentioned that the class 2 communicates with the door, radio, HUD, etc... have you looked into the class 2 bus any further?
Unfortunately, I cannot find any data on the GMLAN nor the Class 2 interface regarding the proprietary PID's. Apparently, to get this data, you have to give GM a big bag of gold, and sign a non-disclosure agreement. So, I've decided to just use the standard CAN PID's for my purposes (RPM, Speed, Throttle position, and oil temperature). I would like to get steering wheel angle, but I haven't found it yet.