Car Hacking: Reverse Engineering CAN Bus Data [Headlights]
Case Studies / Surya Prihadi
Surya Prihadi uses the CL2000 for reverse engineering projects in his car - incl. this headlight beam command use case.
What problem did you solve?
I wanted to add auxillary driving lights for when I do long distance runs (Jakarta-Bali and return). To achieve this I needed a way to reverse engineer the CAN bus signals related to the 'High Beam Command' of my car (Mercedes E-Class, E400, Year 2014).
In this process, I contacted 3 manufacturers that sell 'ready-to-use' solutions my car, but none were compatible because of my car being a 'facelift model' variant with changes to the CAN bus encoding. Following this I tried CAN bus sniffing the data with an Arduino + CAN shield, but due to the high frame rate (1600 frames/sec), that solution quickly got too laggy to use. Hence I needed a more professional CAN bus sniffer solution.
How did you solve it?
I used the CL2000 and SavvyCAN to stream the full CAN bus traffic via USB in real-time. Within SavvyCAN I would then use the 'Sniffer View' and 'Flow View' to identify bytes/bits changing in response to triggering the High Beam Command.
Within 10 minutes of this analysis, I found the High Beam Momentary and High Beam Toggle commands (on/off), as well as the Low Beam Command,.
"The CL2000 is an awesome CAN bus sniffer tool - and a powerful CAN logger too!"
What benefit has this led to?
I managed to successfully reverse engineer the CAN signals I needed to achieve my use case. On top, I am a DIY person who enjoys learning and thus I am very happy with CL2000 and the support from CSS Electronics. In the hand of a professional, I am sure the CL2000 can be a more powerful tool than I can imagine.
Why did you choose the CL2000?
I was familiar with CSS Electronics due to their YouTube channel and decided to try out the CL2000 CAN bus logger/interface with SavvyCAN.
— Surya Prihadi, Indonesia
Ready to hack your car?
Get your CL2000 today!