DIY : Automotive Infotainment System Responds to Aggressive Driving
Stan Lejay enjoys cars, even taking his to the track to race. After getting involved in computer science five years ago, the idea to integrate the two pursuits naturally followed. What he came up with is a novel infotainment system that actually changes the music depending on how he’s driving.
It uses an Asus Tinker Board as its computing heart, along with a 7” Raspberry Pi touchscreen for display and interface. For communication with the car — for info such as RPM and speed — Lejay first employed a PiCAN2 CAN bus board meant to interface with the OBDII diagnostic port. Before the project was finished, he purchased a Subaru Impreza that used a non-CAN communication system (SSM1), so he also had the small task of reverse-engineering this protocol to be interpreted via a Teensy 3.2.
Once the basic functionality of the system figured out, he experimented with several music switching modes. Music and video playing were first dependent on driver speed. After some work, he then settled on not displaying video (besides a blinking “co-pilot”), and changing music based on how aggressively the car is being driven, not the actual momentary speed.
While the project write-up doesn’t go into the specifics of the code, if you’d like more details, you might also want to check out his “A tour of automotive systems from 20 years ago” where he discusses the decoding the SSM1 protocol, or his “Playing with CAN” GitHub repository. An early demo of the system, as well as it being used on the Fuji Speedway, can be seen in the videos below.
It’s a novel idea that car manufactures might consider implementing in some fashion. After all, according to his article, he’s only been pulled over for speeding once because of the system.