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.
'05 E320CDI, 1987 300E, Vanagon Syncro, Turbo Arrow III
If any of you folks are planning to be at Black Hat/DEF CON Car Hacking Village/BSides LV this year, I'd love to find an opportunity to get together for a drink or cigar or something. This thread has warmed my heart.
Thank you for your reply. I change the speed but it doesn't work. Canbus shild is 120 ohm. and is there an arduino code for can B that you are sure is working?
CANB is 83.3kbps. Often times at the lower speeds, the 120ohm resistor actually causes problems. Take it out, and try it again. As for code, there are dozens of examples out there, and most are specific to the hardware you are using. If you bought a shield, I guarantee there is code out there to run it properly. Just set your code up to listen, and print out all data to the terminal window to start with.
i have a set of seats from 2017 cla, they bolt in. However obviously the seat controls aren’t working.
i had previously installed them In another car (non can bus) and using the seat controler(Lin) to the door controller (can) I was able to wire directly to can on the seat.
Question is, where too from here. I could have it closed circuit like I had previously but I think ideally I’d like to intercept the w211 seat controller can messages and then trigger can messages to control the newer seats via arduino or similar.
Your W211 CAN Bus speaks MBus protocol. The 2017 speaks a much newer protocol (STAR?), and I would expect the speed to be much higher than the W211, also. Your best bet is going to be to use a W211 seat controller, and use a modified W211 seat wiring harness to suit.
I do not have listings of the messaging of cars beyond PTCAN for protocol, but if you do, I can probably assist in a translation matrix.
Your W211 CAN Bus speaks MBus protocol. The 2017 speaks a much newer protocol (STAR?), and I would expect the speed to be much higher than the W211, also. Your best bet is going to be to use a W211 seat controller, and use a modified W211 seat wiring harness to suit.
I do not have listings of the messaging of cars beyond PTCAN for protocol, but if you do, I can probably assist in a translation matrix.
Ahh I see. As in, re pin the harness from the new seats to suit the older W211 seat controller box? I'd need to try and get a wiring pinout/diagram for the seats.
Hypothetically, could two protocols exist in the same bus if the timing is different?
Last edited by bawbanksy; Aug 11, 2024 at 11:18 PM.
Yes, exactly. It may be easiest to use a wiring harness for a W211 seat and then adapt that to the seat. You may find that it is straightforward enough to do. I have done similar things on my own projects, and found it to not be too hard at all. When you have both seats flipped over, you'll likely see the same.
I’ve recently completed a manual swap on my W211 648 using a BMW gearbox. However, I encountered an issue involving the automatic shifter and its integration with the CAN Bus system. I’m hoping to get some guidance on replicating the CAN messages for reverse, drive, and park using an Arduino setup.
I'm using an Arduino Uno with a CAN Bus shield.
I started by trying Alex’s sketch but encountered an error:
I’ve since switched to using Adam’s CANDrive library: CANDrive GitHub link, which has allowed me to successfully sniff CAN-C using the access block in the passenger door sill.
I'm able to capture the following filtered CAN messages from the automatic shifter:
I’ve attempted to replay the captured messages with the Arduino. When I broadcast the message before turning the ignition on, the dashboard correctly displays "P" when switched on. However, when I try switching to the reverse message, the dashboard does not update to reflect the change. It only updates if I cycle the ignition, although the Android radio will exit reverse mode after a few seconds even though the message is still being broadcasted.
My goal is to install an Arduino in the car that:
Sends a reverse message when the reverse switch on the gearbox is triggered.
Sends a drive message when the handbrake is off and the car isn’t in park or reverse.
Sends a park message when the handbrake is engaged.
I’m new to CAN Bus hacking and would appreciate any pointers on why my messages aren't working as expected
Thanks in advance for your help!
Last edited by gareth8585485; Sep 14, 2024 at 12:53 PM.
This message would come down the CAN C side of things. You would have to emulate the can signals from both the shifter and the transmission. It is a straightforward thing, but that is how you would approach it. You would want it to indicate that it was in drive at all other times. If not you will hit rev limiters that are very low, in all likelihood. The other approach would be to recode the ECU for a manual gearbox. However it depends very much on what chassis you have to determine how the reverse light signal comes across.
This message would come down the CAN C side of things. You would have to emulate the can signals from both the shifter and the transmission. It is a straightforward thing, but that is how you would approach it. You would want it to indicate that it was in drive at all other times. If not you will hit rev limiters that are very low, in all likelihood. The other approach would be to recode the ECU for a manual gearbox. However it depends very much on what chassis you have to determine how the reverse light signal comes across.
I managed to get this project finished after switching to a better tool. I used the peakcan tool to analize the messages and used a longan labs canbed v1 with a custom sketch to emulate the original gear shifter.