CAN Bus Hacking a Volvo for Viewing All the Data

Alexander Elder owns a 2011 Volvo and wanted access to all the data, so he hacked his CAN bus and added a new display to his gauge cluster.

Cameron Coward
3 years ago3D Printing / Automotive

On a modern car, the CAN (controller area network) bus carries vast amounts of data. On some models, almost every data point monitored by the car's computers and every control command transmits through the CAN bus. That includes data that isn't accessible to the driver through the gauge cluster or infotainment system. Sometimes the CAN bus even contains data that isn't available through the OBD-II port. Alexander Elder owns a 2011 Volvo C30 T5 and wanted to see that information, so he hacked his CAN bus and added a new display to his gauge cluster to view it.

While the OBD-II protocol is standard across all automakers, to facilitate emissions inspections and diagnostics, that isn't true for the CAN bus. Each automaker has their own proprietary CAN bus protocol and they don't publish information on how to interface with them. This forces enterprising hackers to reverse engineer the CAN bus protocol for the automaker—and sometimes the specific model — that they want to work with. In this case, Elder had to reverse engineer Volvo's VIDA protocol.

The nitty-gritty details of the VIDA protocol are available on Elder's GitHub page for this project if you want to take advantage of them yourself. But suffice it to say that Elder figured it out and can read everything on the CAN bus using a Macchina M2 UTH (Under-the-Hood) development board for CAN interfacing. With access to all of his car's data, Elder set out to make it readable.

Elder connected his Macchina M2 UTH to a nifty round 1.38" 220x220 pixel LCD display from 4D systems. He placed the LCD inside of a custom 3D-printed enclosure that mounts in front of his C30's gauge cluster. He can hold down his steering wheel cruise control cancel button (which send commands over the CAN bus) for two seconds to switch between different gauges. Those include intake temperature, turbo boost pressure, coolant temperature, and current ignition timing.

This project may only be useful for owners of Volvo cars that use the VIDA protocol, but it is still an inspiration for the rest of us.

Cameron Coward
Writer for Hackster News. Proud husband and dog dad. Maker and serial hobbyist. Check out my YouTube channel: Serial Hobbyism
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles