ALH Cruise Control Switch

Tacoma_TDI

Well-known member
Joined
Aug 18, 2017
Location
Nova Scotia, Canada
TDI
2003 Tacoma ALH Swapped, 2014 SportWagen
I'm looking for information on the function of each cruise control switch position on the VW ALH cruise control stalk. I'm going to use an Arduino to act as an interface between the Toyota cruise control stalk (two wire, resistor based switch) and the VW stalk (6 wire with internal switches). So far all I've found is a thread that states each pin on the ECU pertains to a specific function (this cannot be the case because three internal switches are connected and move together, some of which are connected in multiple switch positions), and another thread (see post #5) that tells me what pins are active in positions 3, 2, 0, and 1. Does anyone know the function of each switch position? Any help would be greatly appreciated!

edit: for 121 pin ECU
 
Last edited:

oilhammer

Certified Volkswagen Nut & Vendor
Joined
Dec 11, 2001
Location
outside St Louis, MO
TDI
There are just too many to list....
I am not sure I understand your question. The switch just sends voltage back to the ECU via some combination of terminals, to which the ECU responds by using those signals to work the cruise control. Not all ALH cars use the exact same switches either. This data however can be observed via a scan tool monitoring the engine controller.

It is in the wiring diagram, too. I have never had to decipher when each circuit gets a power signal, though, as any issue with a cruise control switch ends up just getting a new stalk assembly anyway, so I never really got down to individual values. But it looks like power comes in terminal #6, and if the switch is in the ON position, the SET signal comes back out of the switch via terminal #3.
 

Tacoma_TDI

Well-known member
Joined
Aug 18, 2017
Location
Nova Scotia, Canada
TDI
2003 Tacoma ALH Swapped, 2014 SportWagen
I am not sure I understand your question. The switch just sends voltage back to the ECU via some combination of terminals, to which the ECU responds by using those signals to work the cruise control. Not all ALH cars use the exact same switches either. This data however can be observed via a scan tool monitoring the engine controller.
It is in the wiring diagram, too. I have never had to decipher when each circuit gets a power signal, though, as any issue with a cruise control switch ends up just getting a new stalk assembly anyway, so I never really got down to individual values. But it looks like power comes in terminal #6, and if the switch is in the ON position, the SET signal comes back out of the switch via terminal #3.
What I'd like to know is what combination of terminals applies to "ON"? "OFF"? "Accelerate?" etc. It's clear as day that saying "terminal 3 applies to "on", terminal 2 applies to "set" etc" is invalid due to the internal configuration of the VW switch. I can check this with a multimeter, but I'm in a different province for a month and was hoping to finish the Arduino programming while away.
 
Last edited:

jimbote

Certified Volkswagen Nut
Joined
Jul 10, 2006
Location
spiral arm, milky way (aka central NC)
TDI
Tacoma 4x4 converted to TDI
each momentary position puts 12v to it's assigned circuit, however there has to be internal ecm logic as the same momentary signals have a different function when held, such as constant accell, decell etc.. on/off is just that, 12v in and 12v out... any reason your not just using the stock vw controls ?
 

Tacoma_TDI

Well-known member
Joined
Aug 18, 2017
Location
Nova Scotia, Canada
TDI
2003 Tacoma ALH Swapped, 2014 SportWagen
each momentary position puts 12v to it's assigned circuit, however there has to be internal ecm logic as the same momentary signals have a different function when held, such as constant accell, decell etc.. on/off is just that, 12v in and 12v out... any reason your not just using the stock vw controls ?
And (if I understand your post correctly) this is what I'm trying to figure out. Looks like it'll have to wait until I'm home and can test using a multimeter.

Im trying to maintain the integrity of the factory Toyota controls and don't want to hack my steering column apart. The Arduino processes inputs and outputs at insanely fast speeds so I'm not too worried about it sending the improper signal.
 

Vince Waldon

Top Post Dawg
Joined
Apr 25, 2009
Location
Edmonton AB Canada
TDI
2001 ALH Jetta, 2003 ALH Wagon, 2005 BEW Wagon
I get what you're asking and yup, your best bet is to ring it with your meter. It may all be discrete contacts or they may multiplex... you'll figure it out. :)

Interesting that Toyota's stalk does it with varying resistance... wonder what behaviours happen when the contacts age?! :)
 

oilhammer

Certified Volkswagen Nut & Vendor
Joined
Dec 11, 2001
Location
outside St Louis, MO
TDI
There are just too many to list....
Toyota uses a bunch of resistors to change the voltage, actually the ground, and thus the signal, to the cruise control ECU. So their switch is entirely incompatible. However, you may find you can at least use one of the wires as a method to pass 12v through to the SET circuit of the TDI's engine controller. And that is really all you *need* for cruise control (that is all I ever use really). The resume, decel, accel, etc. functions are not absolutely necessary. You can always turn it off with clutch or brake pedal input, and the ECU needs those switches anyway, regardless of cruise control.

Otherwise you'll be having to open up and modify the Toyota's stalk.
 

jimbote

Certified Volkswagen Nut
Joined
Jul 10, 2006
Location
spiral arm, milky way (aka central NC)
TDI
Tacoma 4x4 converted to TDI
i looked into using my toyota cruise controls with the VW ecm, but i preferred a fully functional stalk so went with the VW unit ... i don't understand how to use an arduino (old dog new tricks), but i guess if you can program it to translate the added up resistance (differing voltage) on the one signal wire it'll work fine... iirc tacoma switch only uses three wires on the switch... and vw uses five or six .. and most if not all manufacturers use this added up resistor strategy when mounting the cruise or complex functions on the wheel itself, otherwise the ribbon cable, aka "clock spring" would be huge
 

oilhammer

Certified Volkswagen Nut & Vendor
Joined
Dec 11, 2001
Location
outside St Louis, MO
TDI
There are just too many to list....
On the older (ALH, BEW, BHW, etc.) VAG products with the multi-function steering wheel, the cruise control signals from the wheel are sent to the J453 Steering Wheel Control Module, which then passes the appropriate information on to the Engine Controller. So it kind of interprets the signal and changes it to the same type that non-multi-function steering wheel cars would have directly from the stalk. The Engine Controller, however, does not really "care" as it uses the inputs the same way. The horn is worked in a similar fashion.

I think to use something like that would make an extra layer of complexity in a swap, though.
 

Tacoma_TDI

Well-known member
Joined
Aug 18, 2017
Location
Nova Scotia, Canada
TDI
2003 Tacoma ALH Swapped, 2014 SportWagen
I get what you're asking and yup, your best bet is to ring it with your meter. It may all be discrete contacts or they may multiplex... you'll figure it out. :)

Interesting that Toyota's stalk does it with varying resistance... wonder what behaviours happen when the contacts age?! :)
Guess we'll find out! I have the factory service manual that gives me the resistances of each function from the Toyota stalk, all of which are roughly 100ohms apart. What I've done in the code is created if/else if statements that look for a range of resistance on the ohmmeter I created, so it shouldn't be an issue.

i looked into using my toyota cruise controls with the VW ecm, but i preferred a fully functional stalk so went with the VW unit ... i don't understand how to use an arduino (old dog new tricks), but i guess if you can program it to translate the added up resistance (differing voltage) on the one signal wire it'll work fine... iirc tacoma switch only uses three wires on the switch... and vw uses five or six .. and most if not all manufacturers use this added up resistor strategy when mounting the cruise or complex functions on the wheel itself, otherwise the ribbon cable, aka "clock spring" would be huge
You may not know how to use one, but you're half way to having it done! Now learn how to code and youre set :D.

I think to use something like that would make an extra layer of complexity in a swap, though.
Yes and no... Yes because I'm adding in another piece to the puzzle, but no because it's the same amount of work (for me) as hacking apart my column to integrate the VW stalk. The circuit is incredibly simple and once done, it will be a simple "plug and play" on both ends. It took me 30 minutes to design the circuit and an hour to refresh myself on the code, and the truck isn't hacked to bits lol.
 

oilhammer

Certified Volkswagen Nut & Vendor
Joined
Dec 11, 2001
Location
outside St Louis, MO
TDI
There are just too many to list....
The other downside is that over the years I have had to replace a LOT of the older style Toyota stalks due to the resistors getting flaky. Not to say the Volkswagen ones don't have their problems, though.

Interesting to see if you can make the Bosch ECU accept inputs that it was not originally programmed to do.
 

Tacoma_TDI

Well-known member
Joined
Aug 18, 2017
Location
Nova Scotia, Canada
TDI
2003 Tacoma ALH Swapped, 2014 SportWagen
The other downside is that over the years I have had to replace a LOT of the older style Toyota stalks due to the resistors getting flaky. Not to say the Volkswagen ones don't have their problems, though.
Interesting to see if you can make the Bosch ECU accept inputs that it was not originally programmed to do.
Worst case Ontario I buy a new Toyota stalk, but I've never had or heard of an issue with them (we've had three first gens in my family over 15 years). I cant see there being an issue with replicating what the VW stalk does but I don't want to speak too soon. I have a good feeling it's simply a combination of +12V signals to the ECU for each function and no signal sorcery like PWMs or weird voltages like 3.2V instead of the 12V... the electrical diagrams I've seen of the VW cruise stalks simply show switches inside and no other hardware (resistors, capacitors, etc). But the multimeter is king!!
 

jimbote

Certified Volkswagen Nut
Joined
Jul 10, 2006
Location
spiral arm, milky way (aka central NC)
TDI
Tacoma 4x4 converted to TDI
Worst case Ontario I buy a new Toyota stalk, but I've never had or heard of an issue with them (we've had three first gens in my family over 15 years). I cant see there being an issue with replicating what the VW stalk does but I don't want to speak too soon. I have a good feeling it's simply a combination of +12V signals to the ECU for each function and no signal sorcery like PWMs or weird voltages like 3.2V instead of the 12V... the electrical diagrams I've seen of the VW cruise stalks simply show switches inside and no other hardware (resistors, capacitors, etc). But the multimeter is king!!
you are correct... there is no magic inside a vw cruise switch, on/off simple
 

Tacoma_TDI

Well-known member
Joined
Aug 18, 2017
Location
Nova Scotia, Canada
TDI
2003 Tacoma ALH Swapped, 2014 SportWagen
you are correct... there is no magic inside a vw cruise switch, on/off simple
As per usual, you rock. I'll try and find a VW switch and multimeter this week and report back. Somewhat difficult to do much more than buy things online when you're 5800km from home and are not familiar with local junkyards etc. Always up for a challenge though.
 

Hasenwerk

Vendor , w/Business number
Joined
Nov 28, 2003
Location
Quesnel, BC
TDI
1982 Cabriolet (BEW|VNT17|Stage4), 1989 VW TriStar Syncro soon-to-be CR TDI (CBEA), 2001 Ford Ranger Edge 4x4 (ALH|VNT17|R520|Stage4)
The Ford Ranger and other vehicles have the same resistor based cruise control system for cruise control.

I have looked into this for the Ranger using a microcontroller as well. There are many issues at stake:

First off, microcontrollers are 0 to 5V for the analog inputs, but your Toyota's logic is 0 to 12V, so you have to make a voltage ladder to make it so it always falls between 0 and 5V to make the µC happy. This also comes down to what voltage the alternator is making which is anywhere from 13.8 to 14.4V which does scale down but creates some interesting math as at least for the Ranger there is potential for overlap.

The other issue is, at least with Ford is that there are THREE buttons: Resume, Set/Accel and Coast - this doesn't line up with Volkswagens TWO buttons of SET/- and RESUME/+, in fact the SET button is backwards - so how do you manage that without feedback from the ECU to what mode it is in? The last thing I would want to see is a cruise control system that doesn't work as the operator wants it, they crash and sue the **** out of someone for making it "wrong". This is why I have basically given up on selling something like this. Perhaps there is a CAN message on the ALH/BEW ECUs to what CC mode it is in, but more work than I care to put into it right now.
 

Tacoma_TDI

Well-known member
Joined
Aug 18, 2017
Location
Nova Scotia, Canada
TDI
2003 Tacoma ALH Swapped, 2014 SportWagen
The Ford Ranger and other vehicles have the same resistor based cruise control system for cruise control.

I have looked into this for the Ranger using a microcontroller as well. There are many issues at stake:

First off, microcontrollers are 0 to 5V for the analog inputs, but your Toyota's logic is 0 to 12V, so you have to make a voltage ladder to make it so it always falls between 0 and 5V to make the µC happy. This also comes down to what voltage the alternator is making which is anywhere from 13.8 to 14.4V which does scale down but creates some interesting math as at least for the Ranger there is potential for overlap.
I'm using the microcontroller as a bridge between the Toyota stalk and the VW ECU. The ECU will never see 5V from the Arduino.

The other issue is, at least with Ford is that there are THREE buttons: Resume, Set/Accel and Coast - this doesn't line up with Volkswagens TWO buttons of SET/- and RESUME/+, in fact the SET button is backwards - so how do you manage that without feedback from the ECU to what mode it is in? The last thing I would want to see is a cruise control system that doesn't work as the operator wants it, they crash and sue the **** out of someone for making it "wrong". This is why I have basically given up on selling something like this. Perhaps there is a CAN message on the ALH/BEW ECUs to what CC mode it is in, but more work than I care to put into it right now.
This is the lovely thing about code. I can set the conditions such that it can look for a given set of parameters to mimic the functionality of the VW stalk a the Toyota stalk. If/Else if statements are your best friend in this case.
 
Last edited:

Tacoma_TDI

Well-known member
Joined
Aug 18, 2017
Location
Nova Scotia, Canada
TDI
2003 Tacoma ALH Swapped, 2014 SportWagen
Yup, on both fronts. A/D and if/then FTW, as kids these days say. :)
And clamping diodes, as a backup. :)
Forgive my lack of electrical circuit application knowledge (being a mechanical engineer), but what purpose would the clamping diode circuit serve in a purely DC system? My brief research shows they're used in converting AC signals to strictly positive or negative bias.
 

Vince Waldon

Top Post Dawg
Joined
Apr 25, 2009
Location
Edmonton AB Canada
TDI
2001 ALH Jetta, 2003 ALH Wagon, 2005 BEW Wagon
Yup, in the way you're describing them electronics geeks would probably call that "rectification" as opposed to clamping, but that certainly is one function of a diode.

"Clamping" generally gets used when you use diodes to ensure an input line is "clamped" to a voltage that's safe for that input.
In this case, you have a 12-14V system that you want to measure using a device that will go boom if it sees a signal greater than 3.3V or 5V (depending on your Arduino).

So... a safe practice is to use a couple diodes to "clamp" the input line so that even if the voltage goes above 5V (or below ground, say with some electrical noise in the system) the input stays safely somewhere between 0 and 5V.
Just checked and the Wikipedia article on this is pretty poor.. IMHO... will see if I can track down a quick demo schematic to show you how it all works. :)

EDIT: here's one possibility:



As previously posted by Hasenwerk above, you still need to ensure that the signal from the stalk eventually ranges between 0-5 volts (simple voltage divider resistors would work fine)... the above circuit just adds protection so that you don't pop your Arduino if something goes amiss. An automobile is a very noisy electrical environment... things go amiss lots. :)

Holler if any of this is still foggy... a bit hard to explain without a whiteboard. :) :)
 
Last edited:

Tacoma_TDI

Well-known member
Joined
Aug 18, 2017
Location
Nova Scotia, Canada
TDI
2003 Tacoma ALH Swapped, 2014 SportWagen
Yup, in the way you're describing them electronics geeks would probably call that "rectification" as opposed to clamping, but that certainly is one function of a diode.

"Clamping" generally gets used when you use diodes to ensure an input line is "clamped" to a voltage that's safe for that input.
In this case, you have a 12-14V system that you want to measure using a device that will go boom if it sees a signal greater than 3.3V or 5V (depending on your Arduino).

So... a safe practice is to use a couple diodes to "clamp" the input line so that even if the voltage goes above 5V (or below ground, say with some electrical noise in the system) the input stays safely somewhere between 0 and 5V.
Just checked and the Wikipedia article on this is pretty poor.. IMHO... will see if I can track down a quick demo schematic to show you how it all works. :)

EDIT: here's one possibility:



As previously posted by Hasenwerk above, you still need to ensure that the signal from the stalk eventually ranges between 0-5 volts (simple voltage divider resistors would work fine)... the above circuit just adds protection so that you don't pop your Arduino if something goes amiss. An automobile is a very noisy electrical environment... things go amiss lots. :)

Holler if any of this is still foggy... a bit hard to explain without a whiteboard. :) :)
Ah, neat! Learn something new every day. Thanks for the info session :). I'm sure this will find it's way into a future project.

The Toyota stalk will be completely disconnected from the 12V supply all together and will be fed with the Arduino's built in 5V supply to "determine resistances" using math and a simple voltage divider. The corresponding signal will trigger an output to the VW ECU from the Arduino using the appropriate circuitry. Thank dog for NPN transistors ;).
 
Last edited:

Vince Waldon

Top Post Dawg
Joined
Apr 25, 2009
Location
Edmonton AB Canada
TDI
2001 ALH Jetta, 2003 ALH Wagon, 2005 BEW Wagon
Yup, will work as well... and the Arduino has some internal clamping protection as well... so all may be fine in an automotive environment. If you do find you're going thru Arduinos you can revisit spike protection.

I sometimes envy you mechanical engineers... when something busts you can generally see where. We electricals have to guess who let the electrons out. :) :)
 

Tacoma_TDI

Well-known member
Joined
Aug 18, 2017
Location
Nova Scotia, Canada
TDI
2003 Tacoma ALH Swapped, 2014 SportWagen
Yup, will work as well... and the Arduino has some internal clamping protection as well... so all may be fine in an automotive environment. If you do find you're going thru Arduinos you can revisit spike protection.

I sometimes envy you mechanical engineers... when something busts you can generally see where. We electricals have to guess who let the electrons out. :) :)
Choosing mechanical as my discipline was a no brainer for this very reason. We have broken parts, you have purple smoke :D
 

Hasenwerk

Vendor , w/Business number
Joined
Nov 28, 2003
Location
Quesnel, BC
TDI
1982 Cabriolet (BEW|VNT17|Stage4), 1989 VW TriStar Syncro soon-to-be CR TDI (CBEA), 2001 Ford Ranger Edge 4x4 (ALH|VNT17|R520|Stage4)
I have an un-answered question for the original poster. How are you going to get feedback from the ECU to what mode cruise control is in? I ask this as interfacing a microcontroller to the ECU to toggle the ON|OFF, Set and Resume buttons is easy.

However, the Volkswagen cruise control buttons, do different things depending on if you have CCS is engaged or not. VW's SET button is also "decrease speed" once engaged. The resume button is also "increase speed". This is opposite to other manufacturers out there and the end user (who may not always be you) well see, for example, Ford's "SET/+" button and expect it to do the same thing where the ECU would behave differently. So far as I know, there is no output on an ALH ECU that tells you "yes, cruise control is on", short of reading the CAN bus information on EDC15 and later ECUs. Otherwise, this presents you with a Schrodinger's Cruise Control situation in dealing with this unknown state.
 
Top