How a Savvy Coder Hacked His Tesla

Illustration for article titled How a Savvy Coder Hacked His Tesla

A software engineer asked by a Tesla Roadster owner to see what information the car was collecting on its performance managed to crack Tesla's data format. He found it records every second of its use.


Many vehicles record some brief bursts of data in their onboard computer systems, which can easily be accessed by owners with some auto store tools. But the all-electric Tesla Roadster keeps far more extensive track of itself, taking a snapshot of the vehicle's driving and brake regeneration every second, minute and hour its driven, along with details of its charging cycles dating back to when it left the factory. Tesla service technicians can download the data off a USB port from under the dash to analyze performance and get an early warning for any potential problems, a key for a car powered by 6,831 lithium-ion batteries. They can also know exactly what you've done to the car and how you've done it — so it'll be close to impossible to pull a fast one on their techs. Say goodbye to your warranty if you've done anything the technicians don't like.

In May, a Tesla owner coded his own software to parse some of the data, but following a firmware upgrade, Tesla switched the vehicle's data collection into a proprietary format that couldn't be easily accessed.

Last month, after getting the request from another Tesla owner, the software engineer went to work, finding a 12Mb data file stored in the vehicle:

The binary file contains two sections, the first is a long term data logging section with 1 entry per day since the vehicle was made along with firmware update information and other vehicle data. The second section is an 8M wrapped block for data on driving and charging of the vehicle. Data while driving is saved once per second, minute and 10 minutes. Data from charging is once per minute as well as other unknown entries.

The previous parses found that in addition to basic data like speed and charging times, the Tesla also collects GPS data about where the vehicle was charged. The software engineer not only opened some more of the data formats, but released his work as an open-source code for other programmers to build on, which can be found here.

So far, none of the efforts allow a Tesla Roadster owner to see everything the vehicle records. Given how much progress has been made in a few months, a complete crack appears just around the corner.


Photo Credit: Gareth Cattermole/Getty Images



I'm surprised the car uses USB and not an OBDII connection. I guess a new type of car requires a totally new format for retrieving vehicle codes/data.