
On the highly-recommended Applied Science YouTube channel, the brilliant, ever-patient Ben Krasnow experiments with chemistry, physics, electronics, and electromechanical devices, always with real-world applications in mind. He has built a basement electron microscope, figured out how a backscatter x-ray works, made his own Aerogel, and played around with โbullet timeโ photography.
In this episode of Applied Science, Ben trains his o-scope on the CAN (Control Area Network) bus of a Tesla Model S to see what sorts of information he can glean from the data there. He shows you how to access the CAN bus connector, explains what some of the data in the data logs means, and shows real-time data returns while pressing the accelerator, etc. At the end of the video, he also shows you how he managed to get real-time CAN bus data to display on the carโs web browser. Tesla doesnโt really want you monkeying with and displaying this real-time data to the in-car monitor, so thereโs no easy, wired way in. Ben does a clever workaround involving a Raspberry Pi, a CAN bus shield, node.js, a tethered cell phone, and wirelessly feeding the data to the car computerโs web browser like it was any other web content.
I donโt really know that much about CAN bus hacking (and donโt even currently own a car), but I found this video really fascinating and I learned a lot. On the videoโs YouTube page, Ben also posts a number of useful resources for CAN bus hacking, for Teslas and for on any carโs CAN:
- Complete Raspberry Pi with CAN bus shield and 12V buck converter
- Diagnostic connector pinout (scroll through the images)
- Tesla diagnostic connector
- RPi CAN bus tutorial
- Get node.js installed on the RPi
- I used socket.io, which is a module that installs into node.js
- Tesla CAN bus reverse engineering
- I will post the node.js code on my blog
Hey, and how about that $14,000 Tektronix multi-domain oscilloscope he uses? In the immortal words of The Joker, โWhere does he get those wonderful toys?โ
ADVERTISEMENT