Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Work in progress: stalks on 2021 Model S. (and optional round-y wheel)

This site may earn commission on affiliate links.
@rhuber - could you please share the wiring on how to read out the analog signal from the stalk. Managed to get the turn signal voltage but not able to figure out the wiper/wash and high-beam one. All I need is to share how to send / receive the voltages from which pins, rest should be able to manage. Thanks.
It depends on the voltage you supply. My design sends 5v from the microcontroller and the returned voltages are actually 'learned' by the code I wrote, so I don't know them offhand. The variability of voltages for different wiring led me to just make it learn the ranges dynamically, instead of trying to hard code them.

The turn signal/washer/high beam side is just a series of resistors, so that's pretty easy. The gear selector is completely different and uses hall effect.
 
Ryan fitted model 3 stalks to his Plaid and there were never any further updates released probably in a year after all of the flurry about it.
I shopped the "make this into a thing you own and sell/support" around to many people but no one actually took me up on it. I tried, but it is probably too niche to catch on. (though with tesla deleting stalks on other vehicles, that may change. I simply don't have time to support this and do it "right", and there are significant downsides to just dumping all the info I have, unfortunately. There is still useful info on my youtube channel for folks who want to dig in.

Oh, and I also personally just lost motivation when my opinion on the company and CEO soured. I wish Tesla well as a company, but I'm no longer a fan.
 
  • Like
Reactions: KJD and Proppilot
Finally, if anyone wants a fully functional setup that has required no software changes since it was first installed, I will accept reasonable offers to buy the Plaid. I'm in no rush to sell, but if someone wants it, sure.
 
I shopped the "make this into a thing you own and sell/support" around to many people but no one actually took me up on it. I tried, but it is probably too niche to catch on. (though with tesla deleting stalks on other vehicles, that may change. I simply don't have time to support this and do it "right", and there are significant downsides to just dumping all the info I have, unfortunately. There is still useful info on my youtube channel for folks who want to dig in.

Oh, and I also personally just lost motivation when my opinion on the company and CEO soured. I wish Tesla well as a company, but I'm no longer a fan.
Well I'm one of the funders of AAWireless (see aawireless.io) and I'm 100% sure there is a market to it. I'm in talks with the guys from s3xy buttons to make this an off the shelf product as I'm sure there is a need to it. If you are looking for investor, do send me a PM and we can talk.

Now about the voltages...

Yes it's your YT channel which got me this far, so I will make it to the end now and have that bloody stalk work properly :)

I think we got to the bottom of it... :) working on the gear selector... however that is a bit more tricky especially to convert it to useful messages. However the left stalk is pretty important.

As for the Tesla... I don't care about the CEO, never did... but going from Model 3 to Model S, I'm with you, became a Tesla owner from a previous happy tesla owner... this side of the pound Lucid Air Sapphire is not available neither the R1T so currently Tesla is still the best option but that's due to be changed soon with Lotus entering the market. With all that being said even if I won't own a tesla I think this product has a potential, so as previously said, if interested send me a PM.
 
It depends on the voltage you supply. My design sends 5v from the microcontroller and the returned voltages are actually 'learned' by the code I wrote, so I don't know them offhand. The variability of voltages for different wiring led me to just make it learn the ranges dynamically, instead of trying to hard code them.

The turn signal/washer/high beam side is just a series of resistors, so that's pretty easy. The gear selector is completely different and uses hall effect.
I've ended up sending 3.3V + ADS1115 to read the returns and defining a from-too range for each action. learning approach is cleaner and nicer.... though :)
 
  • Like
Reactions: Atraf
@borconi , I am definitely in on this if you can make it happen. Hate, hate, hate the stalkless design.
Me2. Hate the fact that I've bought the car in December, asked about round wheel, told no, just to find out 2 weeks later is an option, to pay 900 to order one, to find out that by the time I've paid 900 to get a round one, people have to pay 200 extra to get the yoke... that made it all very sour indeed.

However all my work is based on Ryan's idea and it will only be fair to ask him if he want's to do this as a commercial product, but I'm surely pushing for this.

Especially if the model 3 will be also stalkless the demand will sky-rocket.
 
  • Like
Reactions: Atraf and 4SUPER9
Finally, if anyone wants a fully functional setup that has required no software changes since it was first installed, I will accept reasonable offers to buy the Plaid. I'm in no rush to sell, but if someone wants it, sure.
What if I bought a new 2023 Model S long range. How much would you charge me to add stalks to the round wheel option ?
 
I'm also embarking on this journey. I'll start with the turn-signal stalks with LIN MITM.

I'm going the Android route, inspired by the availability of this library:

It comes with a Lin2Lin example, which listens on one LIN bus and sends a copy of the messages on another LIN bus.

Now I have to figure out how to interface with the LIN bus. It looks like that library was built with the TJA1021 in mind.
 
  • Like
Reactions: tm1v2
Still work in progress....


But getting there....
nice work. if you are sending the turn signal messages over CAN, I highly recommend you reconsider. Tesla has changed the CAN messages for the indicators at least 6 times since the Plaid was introduced, and it will almost certainly break and be a support problem. The LIN messages have never changed, and are highly unlikely to.
 
nice work. if you are sending the turn signal messages over CAN, I highly recommend you reconsider. Tesla has changed the CAN messages for the indicators at least 6 times since the Plaid was introduced, and it will almost certainly break and be a support problem. The LIN messages have never changed, and are highly unlikely to.
I'm working together with the guys from S3xy buttons on this. I'm reading the stalks and converting into meaningful info, they do the injection. I think it is CAN at the moment but to the best of my knowledge it will be Lin at some point. Idea is to make an off the shelf aftermarket product with simple plug and play.
 
I was able to build a functional LIN man-in-the-middle.

Arduino source code:


Architecture:

1687383723613.png



Connecting to the front wires on the steering wheel with a LIN transceiver and receiving some data (without parsing LIN packets):

IMG_4427.jpg


Connecting the Model S steering wheel on the workbench, and querying the left side over LIN (ID: 0x4C) - fun fact, the entire panels on the steering wheel where the scroll wheels are located (on the left and right side of the airbag) are 2 large touch pads, which send the touch information over LIN. Tesla could implement additional touch gestures in the future, or potentially improve false detections.

1687384162545.png



While the steering wheels were out, side-by-side comparison of the Thrustmaster T300, Model 3, Model S steering wheels (next project is to put the Model S steering wheel on the simulator rig, and trigger the airbag when I crash the car in Assetto Corsa):

IMG_4447.jpg



Prototyping the voltage divider to measure the stalk resistances (ended up doing pull-down to the ground despite the diagram showing pull-up to Vcc). I broke some of the smaller test points after soldering to them and doing some tests. Your resistance values will be different, update the code accordingly.

IMG_4462.jpg


Final test package (without Arduino box or insulation):

IMG_4469.jpg


Testing in the car:
IMG_4471.jpg



Installed
1687385039177.png



1687385182296.png
 
I was able to build a functional LIN man-in-the-middle.

Arduino source code:


Architecture:

View attachment 949614


Connecting to the front wires on the steering wheel with a LIN transceiver and receiving some data (without parsing LIN packets):

View attachment 949616

Connecting the Model S steering wheel on the workbench, and querying the left side over LIN (ID: 0x4C) - fun fact, the entire panels on the steering wheel where the scroll wheels are located (on the left and right side of the airbag) are 2 large touch pads, which send the touch information over LIN. Tesla could implement additional touch gestures in the future, or potentially improve false detections.

View attachment 949617


While the steering wheels were out, side-by-side comparison of the Thrustmaster T300, Model 3, Model S steering wheels (next project is to put the Model S steering wheel on the simulator rig, and trigger the airbag when I crash the car in Assetto Corsa):

View attachment 949618


Prototyping the voltage divider to measure the stalk resistances (ended up doing pull-down to the ground despite the diagram showing pull-up to Vcc). I broke some of the smaller test points after soldering to them and doing some tests. Your resistance values will be different, update the code accordingly.

View attachment 949619

Final test package (without Arduino box or insulation):

View attachment 949622

Testing in the car:
View attachment 949624


Installed
View attachment 949626


View attachment 949633
Very nice!