PiCar entertainment system

By Rob Zwetsloot. Posted

Tinkering and modifying a car is a time-honoured tradition among mechanics and engineers. Upgrading the sound system has always been a part of that too. However, that usually means putting in a pre-made head unit and maybe replacing the speakers. Vincent Moscaritolo has gone a step further with the sound system, giving it a full Raspberry Pi makeover.

“I have made extensive modification to my Jeep, including replacing the motor with a Chevy LS 6.0 V8,” Vincent tells us. “This required some hacking into the Jeep’s CAN bus to fool the Jeep into thinking it still has a motor. There is so much useful information present on the network that is not presented to the driver, and it frustrated me that one of the main user interfaces on the vehicle, the car radio, does not present or allow the driver to access it.”

Vincent looked at various solutions, but they didn’t quite fit the Jeep’s aesthetic. He decided to make something a bit more custom using a VFD (vacuum fluorescent display) to fit the original look, and even fool folks into thinking it was the stock radio.

Farm to auto

After using Raspberry Pi to fix an automated chicken coop, Vincent started using it more in projects.

“I found that it was fairly easy to use Raspberry Pi to interface to the CAN bus as well as I2C,” Vincent explains. “Since it was a Linux-based platform, it was also easy to talk to the various software-defined radio (RTL-SDR) devices out there.”

Even with a familiarity with Raspberry Pi, and ease of access to the interfaces, the project hasn’t been without issues.

“It has been a learning experience,” Vincent says. “While there are a lot of folks building things for Raspberry Pi, not a lot of the software or hardware is rugged enough to put in an automotive application. A lot of tools, while pretty cool, were written at the hobbyist level. For instance, most of the software-defined radio (SDR) tools require a desktop display, and can’t be used in a car radio app.

“The other problem was that the automotive manufacturers are really proprietary and secretive about how their systems work. I had to mostly adjust the Jeep CAN network packet information by trial and error, such as monitor the packets, open a car door, and see what changes, etc.”

In the end, Vincent wrote a custom application in C++ that talks to the VFD over the serial port. It monitors the states of the knobs and the CAN bus, talks to a GPS board via serial, and the SDR via USB.

Finishing touches

“[It’s] just about ready to replace the existing radio,” Vincent tells us. “I am currently alternating between it sitting on my shop desk and my dashboard. I have a temporary harness cabled that allows me to plug it [in] and move it back and forth. I need to paint and engrave the faceplate.”

Apparently reactions have been varied – folks who know what he’s made are blown away while others are at least appreciative of the display. Count us in as one of the blown-away parties.

From The MagPi store

Subscribe

Subscribe to the newsletter

Get every issue delivered directly to your inbox and keep up to date with the latest news, offers, events, and more.