Go Down

Topic: OBD II to set cruise speed (Read 2920 times) previous topic - next topic

Nemecsek69

Hi. I drive a Seat Altea (VW) in Germany. Here speed limits change continuously and I'm becoming obsessed checking tacho after getting a couple of fines (driving 39 and 41km/h with limit 30  :smiley-confuse: ) . This reduces greatly the attention I give to the road.
To ease things I use a lot the cruise control, but with it you just fix the speed when you reach it, and this means to watch the tacho instead of pedestrians. Annoying.

My dream: OBD, arduino and 4 accessible buttons. After activating the cruise speed in the standard way, pushing each button would SET a different cruise speed. I assume the cruise speed is normally written inside a register: I would only change this value.

The hack doesn't activate the cruise speed, but change it when already active.
As soon as I brake the cruise control switches off. From the point of view of security it doesn't change anything.

Is it possible to SET values with ODB or just reading them?
If yes, any idea about where to find "register " maps to know where to write the value?
I know my Seat Altea is Volkswagen compatible because my car is involved in the gas scandal... >:(

andrethomas

From what I've seen the VW vehicles uses CAN BUS on peripheral additions... is your vehicle made in recent years since CAN BUS was implemented?

Have a look at VAG-COM for example.

If so, it may be useful to sniff the CAN BUS pins on the OBD connector to see what communication is sent by the cruise control.

I don't think cruise control is implemented using OBDII though.

Nemecsek69

Yours is a good idea, but I believe it will not help me.

I imagine I will find commands like "Start cruise with the last saved speed", "Stop cruise", "Erase last saved speed and stop cruise". These are equivalent to some keys I can press while driving.

Alas what I need, "Set cruise speed to X km/h", is not issued by any peripheral in my car, so I cannot sniff it...

The only possibility would be to find a whole map of VW CAN BUS commands with the description of the protocol and the meaning of every register.

Thank you anyway
Alex



Trib

It seems like nobody has done that before.
Probably there could be a way, but not by official OBD II protocol. It is definitely not part of it!

Some (undocumented) features are individually included on that communication layer.
But especially VW has their very own protocol additionally to that:  VCDS and VAG-Com, which have a higher security layer.

As I read, it is possible to activate the cruise control, if it´s upgraded later on. Activating in the meaning of "making it available". Not setting it up.

Nemecsek69

Hi Trib.
I forgot to thank you for the previous answer.

I have another question.
According to your knowledge, is it possible to find VW canbus IDs tables somewhere?
Just for reading and decoding the values, without setting them...

I found tables for BMW X1 online, but nothing for VW.

Alex

Trib

Hi Alex,

I´vent searched for them, until yet.
As far as I know there is none. VW encrypts them in their software. I´m also reading in a german forum, where some people exchange their ID´s they found out. Another hint, that there is no offical documentation, I think.
3rd party companies try to hide this information, too. Because they put a lot of effort into finding out about that. I made the same experience with Kawasaki.

What I found was a Arduino Sniffer:
http://www.instructables.com/id/CAN-Bus-Sniffing-and-Broadcasting-with-Arduino/

And maybe some further documentation about the different modules, sensors and control units:
http://www.ross-tech.com/vag-com/cars/applications/index.html

Last but not least, how CAN works (But I think you already know about that):
http://www.volkspage.net/technik/ssp/ssp/SSP_238.pdf

Currently I´m not far into CAN bus. But I probably start, when I´m ready investigating my motorcycle (via OBD II similar protocol).

Best regards
Thomas

Nemecsek69

Sorry for the delay to thank you.
The search for a canbus id page will continue...
Have a nice day
Alex

dwightthinker

An alternative is to just hijack the speedometer signal.
When you want to set a particular speed, momentarily
inject a tone with the frequency for the desired speed.
Actuate the set switch. Release the speed signal back to
the normal sensor.
Dwight

pkuhar

Hi,

Did you have any luck with this?
I'm looking to do the same on a 2009 Audi A4

adamz

I have been searching for an answer to this question for the past 6 years and failed. It seems a lot of people are either afraid of getting into their car's brains or just not determined enough. I was even considering building a whole setup where I would read a gps nmea signal, then rather than obd - tap directly into the pedal. And for safety create a hard relay controlled from the brake pedal and also a manual cut-off switch just in case.

I don't have the skills to analize can-bus signals myself to build a register changer, and not determined enough to go with my crazy idea.

I was initially considering either buttons that have preprogrammed 59, 69, 79, etc values, or even better - a number pad so I can punch in anything I want.

This thread is so far the first I found anyone other than me even requesting such functionality :)


Delta_G

I imagine I will find commands like "Start cruise with the last saved speed", "Stop cruise", "Erase last saved speed and stop cruise". These are equivalent to some keys I can press while driving.

Alas what I need, "Set cruise speed to X km/h", is not issued by any peripheral in my car, so I cannot sniff it...


It's probably a lot worse than that.  I doubt any processing goes on in the steering column where the buttons are.  So the things that are being sent probably aren't commands like you write.  They're probably things like, "He pushed the CRUISE_ON button", "He pushed the ACCEL button", "he pushed the COAST button" etc.  The CPU in the car does the figuring and runs whatever code and most likely handles checking the speed and sends out commands like "set throttle to X"
If at first you don't succeed, up - home - sudo - enter.

Delta_G

#11
Jan 08, 2017, 05:33 am Last Edit: Jan 08, 2017, 05:34 am by Delta_G
Wait no, that makes it a lot easier not harder.  Instead of sending a command to set the cruise to a certain number, just use Arduino to set the cruise.  You can sniff the OBDII bus for the speed of the car.  And you can use arduino to simulate the button pushes on the steering wheel or control stick.  So it's just a matter of letting Arduino watch the speedo until just the right speed and hit the button just like you would.  You could let it beep at you or something so you know you can lift your foot from the pedal. 
If at first you don't succeed, up - home - sudo - enter.

meccip

I was thinking to this scenario....
Arduino read analog signal from throttle pedal potentiometer, when I activate cruise control (just by pressing a simple push button), arduino send last reading from pedal to pwm pin and hold it there until i press cancel button, brake or clutch pedal.

Someone tried this idea because I want to do it ?

exspartan36

Cruise control on most VAG cars can be retrofitted just by adding the switch and loom and enabling the function with VCDS. I've done it on a couple cars so far. It's pretty straight forward.

Go Up