PART-1: I Reverse Engineer the OEM CAN BUS on my R8/Huracan Powertrain!
Vložit
- čas přidán 26. 01. 2024
- I searched high and low for a video that shows the process, from start to finish, on how to get telemetry data from an OEM CAN BUS into a data logger and/or dash display (specifically for MoTeC). After a lot of research and a steep learning curve, this is THE video that will cover this process A-to-Z. Given the depth of detail of the process, I split this into three parts; this is PART-1. Once you watch this video, here's PART-2: • PART-2: More CAN BUS R... . Also, this video is much different than my typical build videos as it's more like a step-by-step tutorial...and pretty geeky!
Here are the links to all the software and equipment I use in this video:
CL1000 CAN BUS Data Logger: www.csselectronics.com/produc...
SavvyCAN (Free): www.csselectronics.com/pages/...
VCDS (for VW-Audi Group cars): www.ross-tech.com/vag-com/VCD... (But any generic OBD2 scanner will work too)
Kvaser DBC Editor for Windows: www.kvaser.com/download/
DBC File References on GitHub:
1. github.com/commaai/opendbc
2. github.com/SBieger/opendbc/bl...
3. github.com/iDoka/awesome-auto... - Auta a dopravní prostředky
My brain hurts Dan. To say you’re way past my ‘pay grade’ is the understatement of the century. No wonder there is nothing on CZcams!!!
Me from 20 years ago feels you. In the intervening years I went down the rabbit hole of digital car stuff. One day you wake up and watch a video by a guy named Dan Dulac and just go "uh huh. Mmm Hmm. Yep.". And you wonder, how the hell did I get here?!
it takes a bit before CAN traffic makes sense. If you look at networking books it can help because this is considered a mesh network, understand how they work first. Thankfully to mod you dont need to understand the handshakes or other more advanced aspects of the protocol, just how they talk to each other.
Then there’s all the sketchy sites….
And sadly for me, it could really become part of my paygrade in Mech E in the future
Man, I’m exhausted….
This is very interesting work! I have reverse engineered much of the two CAN busses on my Infiniti Q50, and one thing you learn very quickly is you're pretty alone as far as documentation and support goes - even on fairly common cars like mine. Taking on CAN bus reverse engineering in a car like the Lamborghini is a new level. However newer tools like SavvyCAN with the Frame Data Analysis & Sniffer are a lifesaver.
Great work!
Im sure glad im not the only guy who nerds out on this kind of stuff! Nice work brother..
I don't usually write comments, but thanks a lot man!
I just saw this in my recommendation, and definitly the best recommended video!
Thank you very much for taking the time to make this. Your presentation is straight to the point and greatly appreciated. I see way too many videos that are twice as long as needed because no editing was done. Excellent work!
Hello Dan, well done with your explanation, I’m sure there was a lot of head scratching before you sussed that lot out. Good to see your on top of it, she will be a lovely machine when it’s finished.
i had to go through this painful learning curve of CAN sniffing and M1Build, i know how hard it is ! thank you for sharing, this series is a gold mine! i hope i can help if needed.
This was enlightening in the extreme. Fascinating. I think I understood, I guess, when something really complicated needs mapping with multi probe/sensors active all at once, it will be so easy to misinterpret. Well done - great to get a handle on this technology ..always a black hole to me..Thank you. I have a feeling no 'ordinary' person is doing this kind of thing, not even garages. Manufacturer's private data revealed, I bet they will not appreciate what you are able to do. Stunning explanation.
Great video. You kept to just the right level of detail for beginners and explained it incredibly clearly - not easy to do this well. SavvyCAN is an amazing tool, even for those of us who develop these control systems and networks for a living within the OEMs and have access to the professional tools. CSS products are also fantastic value for money and highly recommended. I love the combination of Ultima and VAG V10 - not quite as cool as the Ultima that was used as a powertrain development mule for the Gordon Murray T50 but much more interesting than the usual V8 builds. Will follow your project with interest.
Welcome to the madness. 🤪. Thanks for your great comments and info. I’m still learning so very much appreciated!
This is beautifully done! You have taken a complex topic and broke it down so perfectly that someone like myself can understand and follow along. Thankyou.
Best video i have seen on CAN sniffing. Makes me want to tackle a porsche turbo canbus!
This is awesome! Thanks so much for putting this together!
Amazing job Dan! Thank you!!! Cheers from Italy 🎉
I'm only 20min into this video and already learned so much.This is a great video!
I have been wanting to look at raw data on my 2002 Yukon to troubleshoot a rich problem and this is what I needed to explain can bus. Thank you, sir!
Your 2002 Yukon likely uses vpw not canbus.
CANBUS will do nothing to help troubleshoot your problem. All you need to do is analyze STFT data in relation to RPM and MAF info. Any good diagnostician can do this easily. Not hard checking for vacuum leaks or fuel supply issues.
@@skylerbowden8220 thank you for that time saving tip!
@@djosbun finding vacuum leaks can be a pain, so I thought of an armchair method since it's friggin winter in New Hampshire lol.
I did watch a video comparing the three bits of data, and it made sense so I'll give that a shot also. Thank you!
You have just blown my mind! 😳
Much appreciation for posting this online. Love learning this.
Book of knowledge. ❤ we need more videos like this
Awesome, its great to share and give back. This is a black art to most and this definitely demystifies this subjects.
Hugely interesting and tremendously well explained, thank you Dan. Already looking forward to the next episode
This is just great what you are doing here. Especially as well explaining the tools and interfaces. I love it
This is gold!!! Thank you a lot! Will use this for sure to be able to use OEM components that are controlled via CAN bus
Great info Dan! Saves me the rest of CZcams.
Very educational!
Thanks for your time and effort, Dan
Hello Dan, As a steady follower of Your Project Car; amazing what You have already achieved.
You must be a proper Tutor as well.
This was well explained to boost up my knowledge in CAN bus car tuning..
Kind regards, from the Netherlands.
Great video's and very usefull. These are the best videos i've found on reverse engineering can bus. Thanks a lot!!!
I've been trying to reverse engineer the CAN bus on my car for some time now, and this video was really useful. Thanks for sharing the info! I really like the way you show all of it
Excellent work mate!
I had the tool for over 3 years and I think its time to dust it off and get it to work after watching this video. THANKS
Very informative, you're giving me the itch to play with CANBUS on my car.
Nice. I've always had a bit of aversion for computer chit chat intricacies but now diving into auto diagnostics looking to start a business and since the topic of can bus often comes up, stepping into the rabbit hole has previously led me to getting some notions of binary and hexadecimal along with can bus decoding. The hole is much deeper of course and I randomly (not really random since yt algorithm led me this way) came across your video. I'm not sure how far into this sort of thing I'll ever get but curiosity gets the better of me for now and this gives me a good idea of what it involves. Thank you.
This is amazing! Thank you for the break down. Easy to follow.
insane,very helpful and straightforward,wish you great succes Dan
Great tutorial ! so helpfull to find the correct CANIDs and bytes specially for specific features when we could move the sensor. thanks for this video ! i will improuve my skills on my job thanks to you !
This is so awesome! Exactly what I needed! Thank you so much for making it dummy proof as well.
Randomly found you on my feed and clicked by chance. I’m really glad I did! You’re diving into the bit data. Heck yes! Subscribed!!
Glad you found my channel. Welcome to the madness!! 🤪
@@DanDulac I get to binge!
Awesome video. Lets wait for the next one
The next video (Part-2) is live!
Thank you for this video , I spent countless hours looking for something like this last year , and here we go found it now
I had the exact same experience and exactly why I made this vid. Glad it’s helping you!
This is so awesome! Thanks for taking the time to create these videos!
My pleasure! I’m happy to hear you find them useful and hopefully saves you a bunch of time. 👍
Great information love the channel keep the knowledge flowing !
Thank you for this! Like you said, I've been to the end of CZcams and there are tutorials but they gloss over everything. You are breaking it down in mostly laymans terms (except for hexadecimal 😂) Canbus is one thing,learning how SavvyCan works is a whole other thing.
I just want to do some inconsequential things like custom guages and roll all windows down etc.
I don't know how I found your channel, but Iam glad I did. Super cool!!!
Basically my job. We have a lot of legacy vehicles that our diagnostic program needs to support. Most historical data is gone or literally from '97 and unreliable. Also most stuff is a proprietary protocol, oh joy these! NOT!! And we still build new simulation environments with them to test diagnostic heads on.
Very nice episode Dan 👍
Hey Dan great video this 100% the best can video on CZcams!
Nicely done!
That's some awesome stuff. Glad I've found this.
Great video! Thanks for sharing the info 🖤
very cool, this is more insightful then half the garbage people charge for out there. almost like watching a uni lecture
That is the best Tutorial I ever watched. Thank you! Great job!
Thank you and you’re very welcome! Glad you found it helpful.
Great informative video Dan regards from Liverpool England
What a cool informative video. I've been looking for something like this for a while.
You and me both brother. Glad I was able to help fill the void!
As someone who is about to take on a similar challenge, this was an incredibly useful overview. Great work.
Exactly why I made this vid! Glad I could pay it forward and save you some time. 👍
Your single bit change on the throttle is probably a throttle pedal zero or home position. If I were you I would monitor it and have it override you throttle position reading and put the engine at idle. That way any fault that may occur in the throttle potentiometer / encoder reading causing potential engine RPM runaway can be cancelled out if you lift your foot. Belt and braces approach.
Great job Dan, GREEEEEAT JOOOOB!!!!!!!!!!!!!!!!!
just found your channel, randomly decided to watch as this is something I've had some interest in but haven't researched yet. Thanks for the starter vids and can't wait for the rest, new sub here!
Glad you stumbled upon my channel. Welcome to the party! 🎉
Great video Dan! I was working on a video on CAN hacking in my LT4/Aston Martin project and you saved me the effort of making a video, haha. Excellent content, and basically the same approach I use with good results. Thanks for sharing.
I love CSS...I bought some of their gadgets for a dive on a similar venture with the NMEA2000 protocol for marine applications.
Dan, this was superbly explained and kept to a level that explains something complex relatively simple. Well done. I am starting project to reverse engineer crash data on Airbag control modules and we see brake, acceleration and RPM in that data as well as vehicle speed and a few other inputs such as steering angle. It is helpful that some of these may be in the same CAN ID but also a reason that they may be in the same one too? Looking forward to the next instalment!
Great tutorial. I learnt something so hey good value!
Very educational!!
Hell yeah. This is awesome 👍
Thanks Dan. This was a helpful video!
I was looking for more advanced videos on Savvy CAN to sniff the CAN bus on my GM car, but there wasn't much to see on CZcams.
I’m with Mr. Myers this makes my head hurt. But very glad you know what you are doing.😂😂😂😂😂
I appreciate all the effort and hard work you have put into this project. But allow me to suggest replacing the motec equipment all together for a FuelTech ECU. I believe you would have better support on installation and tunning.
Well you and John Reed are the only two people to ever do it... I really doubt John was going to give it away since it powers all the Underground Motec builds. I've always wanted to see the magic 🪄
Thanks for the comment. I’m a fan of your channel!
This is just what I’ve been needing. I have an Arduino with a CanBus add on board and need help. Many thanks
Great info!
Excellent video!! People charge hundreds of dollars an hour for this work. Thanks so much.
Request: After you have RE the canbus, can you show how to set up the c127 dash, especially the custom display tutorial? 😊
That’s exactly my plan! Part-2 is coming shortly but Part-3 will include all the MoTeC dash programming, including creating a custom display. I’ve got you covered. 👍
So even though I'm doing something completely different with the canbus, this video was very helpful to me. I wrote my own software because I was completely unaware of savvycan. I think I'm just going to change my Arduino output to match what savvy can is expecting, and then use their tool to help me narrow down the messages I'm looking for.
Cool! Yeah, I was amazed when I found SavvyCAN and learned what it can do. Very powerful tool!!
Dude; this is amazing! I recently purchased an r8 and I wasn’t too happy with the rev limiter, it may just be on European models, anyways I was looking at ways to remove it and the only way would be to pay someone to come out and do it. As someone who is very hands on and diy orientated I was more looking for a tutorial, this ticks all the boxes however!
Interesting stuff. You've earned my subscription. Looking forward to more similar content!
More to come!
Awesome!
Subscribed in the first minute of this video :)
Welcome to the madness! 🤪
I really hope you are doing some serious racing with this build. From my understanding, which is a very small understanding of this. It is to simplify wiring with better communication, smaller amount of sensors needed, etc. But this does not seem that much simpler. whatever fancy your time, man. Clean ride hope to see it running sometime soon.
Excellent video!! I've been looking for an explainer like this for a while now. I tried some Arduino CAN BUS sniffer attachments but could never get them working like I wanted. I'm definitely picking up a CL1000!
It’s a great tool! Glad I could help. 👍
Haldec maybe plan B. Love the effort to make stuff work. A no is one step closer to a yes
This looks like a lot of fun, along with many frustrations and a ton of time spent! I wonder if bench testing the pcm would be helpful. For instance, you can limit a lot of the can bus traffic by having the pcm removed from the car, and manually altering the coolant temp signal with a variable resistor. A signal waveform generator may also be extremely helpful here.
That would absolutely work - I've a John Deere ATU200 here that chats in complete isolation once powered up
New favorite channel. I might even slip that savyCAN into my day job as backup TS tool.
What is your background? Most channels can’t speak CAN Bus let alone reverse engineer it.
Welcome to the madness! 🤪. My day job is network engineering so I’m pretty comfortable with this kind of thing. The world is bits and bytes. 😁
Nice motec system exhaust 😂
god tier video
🙏
5:18 That connector is called DE-9. There is no such thing as a DB-9 connector :)
SavvyCAN would’ve been useful when I was still in shop
Hello! Nice video! You found pedal position or throttle plate position? Some times they're not the same
Pity that you label the Volkswagen Group as the Škoda group. VW is the parent and owns many automotive brands: Audi, Lamborghini, Bentley, and Škoda among them. Other than thak informative content. hope to see the rest of this series soon.
V10 ultima ? noiice :) but I would still go for an LS ultima
Thank you so much for this. Did you order the CL1000 directly from Denmark? Pretty expensive shipping to Canada for me
Oh I'm liking this! As someone who will be adding a digital dash to an R8 V10, I'm very keen to see how this goes.
Will you be willing to share your findings?
Yes sir! I’m working on Part-3 of this short video series where I will go deep on how to setup a MoTeC display using this OEM canbus data. I think you’ll be pleased with the result. 👍
@@DanDulac awesome.. As you explained, this data just isn't readily available and I really appreciate the effort you put in to this video.
@@DanDulacDan, would you be willing to share the finished dbc file please?
Great video - I now understand how notch works :)
Couple things.. I'd be careful assuming throttle position is always a percentage, as the sensors that measure these are usually replying with a varying voltage which an ADC might scale on a higher range, like 10, 12 or even 16 bit. Wheel angle sensors on tractors, for agOpenGPS, we measure a range of minus 4096 to positive 4096 for example.
Check my videos, I made a tutorial for how to find the button IDs in a tractor in the joystick, and also how to control them from an SBC.
Also, for finding a linear value offline, consider "gaming" the data so it stands out, eg, push the throttle down a little, hold it, bit more, hold it, bit more, hold it.. the graphing window will show an obvious step pattern
Great tip. Thanks for your comments!! 🙏
Can you share any details on an initial device configuration? As I've got cl2000 and it shows nothing. I updated a config file to the sample from their website and it shows few things, but is not even close to anything useful
I’m not able to get to my config file at the moment but the one thing I had to change in the config file was to change the auto-sense (or auto detect, can’t remember the exact parameter name) of the BUS speed from ‘auto’ to 500000 (500K) for the live streaming to work. You would set this to whatever CAN BUS speed running on your car. Also, most cars have a ‘CAN gateway’ that the OBD2 port is connected to; in which case you need to find your powertrain CAN BUS twisted pair behind the gateway to tap into.
makes sense , not a lot different than reverse engineering or rebuilding a wiring harness .
25:40 If you’re reading only one bit, checking Endian on or off shouldn’t make a difference.
That’s right. However, every CAN ID and signal defined in the DBC must be defined the same; either all LSB or all Big Endian. You can’t have some signals Big Endian and others LSB in a single DBC file-this will cause an error. I found this out the hard way.
just like packet level tracing on a network switch, feels kinda the same
Bingo. And that’s what I do for a living. 😛
@@DanDulac Spent plenty of time in Wireshark and Pcap drivers so I feel you. This is what I tell young folks is that being a good engineer is like being a good mechanic, identify the problem, divide it by two and keep going down till you find root cause. Works with cars and computers
Not sure how you drive, but throttle is definitely binary. On or off!
True statement! 😛
Hmm I’m wondering if the range was suppose to be 0 to 255 and no 0 to 250. 8 bit numbers are in that range and so the rescaling should have been 100/255, or ~0.392, and not 100/250, or 0.4. Small change which isn’t really noticeable but it might matter to someone. At least it’s good to know why it is that way to begin with.
I think it’s the software on the ECU that is set to use the max hex value for the throttle pedal of 0xFA = 250 decimal. I’ve noticed other signals too that don’t max out at 0xFF (255 decimal). 🤷
@@DanDulac Oh. Good to know. Maybe it is to keep the scaling simple then since you don’t gain much more resolution by including those values. Thanks
@@ryanmccawley6301 yeah, I bet you’re right. Scaling is much simpler when done this way.
So the Accelerator is a Can Device ? AKA a Potentiometer resistive device most likely an Optical / Hall effect device ?
Was that from the Audi donor ? Where there is a will there is a Way ! I ASSUME that's why you are reverse engineering the Audi CAN BUS ? I only watched a few episodes .. I like V10's but I also like LS 5 's cheers Dan
I used the same accelerator pedal from the R8/Huracan. It’s not a CAN device, rather a potentiometer as you mentioned. But the ECU reads these values and broadcasts the data on the powertrain CAN BUS.
@@DanDulac Yes you have to start some where ... to get the overall "Turn the key and it all Works"
Do you have any problems that are stumping you ? or presumably the next episodes will cover that and the Fixes you Discovered ..
cheers
And I'm commenting BEFORE the end of the Video ! I will listen .. Make it go to 11 - Quiet in the Cheap Seats
@@shocka007 oh yes, I have more to figure out. Namely getting gear position off the CAN BUS. But I need to get the transmission 100% operational before I go too deep down the rabbit hole.
@@DanDulac So you will use the Audi gear changer ? and then R Engineer that ? Obviously another low frequency Byte .. Then the Throttle position / Revs / Gear selection / Torque sensing ? / ABS Breaking V's Wheel rotation / options ??
I can imagine how interdependent all of these things are .. + the Delete Options already done ?
You could just reproduce what the Audi gear selector does and the Trans will look after itself as Audi designed it ? cheers
Why isn't the kit car company working with you on this? I'm sure there are customers that want more than an old school manual gear shift. I'd prefer the latest automatic with paddle shifters.
The factory has never done a build using this powertrain nor offers this setup as part of their kit, so I’m on my own. I knew this going into this project. In fact, I planned on having to forge new ground with this powertrain on this project since it’s never been done before on this chassis. Older Audi v10s have been done but not with DCT trans. I’ve enjoyed the engineering challenge thus far!
@@DanDulac Love the prototype, and I hope this leads to future profits working with that company. Cheers!
Not sure what you realize what you are achieving. With each "hack" you can do the same as your motech piggy back efi override does with an atmega.
Sure like to repeat yourself... Must be a cultural thing.
Say what you’re about to say. Say it. Say what you just said. This is the foundation of teaching anyone something new. 👍