One of the ultimate mods for modern cars is to replace or upgrade the entertainment system. This can range from something as small as adding new speakers, to replacing the stock stereo, or – in our case – creating a custom car computer (also known as a 'carputer') purpose-built for your car.

The Raspberry Pi is fantastic for this task. It’s small enough that it’s easy to hide, and powerful enough to handle simple telemetry, dash-cam recording, GPS, and more. Thanks to AutoPi, you won’t need to be deep in the bowels of your car snipping wires, either, and you can control it using a cloud-based service. Let’s make your car futuristic with a carputer!

This feature first appeared in The MagPi 81.

Car Computer Warning!

For the safety of yourself and other motorists, you need to make sure your eyes are on the road while driving. This is also the law in many countries. Make sure your interactions with your new computer are minimal while driving, and do not under any circumstances play videos for yourself.

In-car entertainment: From radios to carputers

It may surprise you to learn that it was back in 1904 that the first in-car entertainment system – in the form of a car radio – was demonstrated at the Louisiana Purchase Exposition (an old-time world’s fair) by the father of radio himself, Lee de Forest. That must have been extraordinary – cars themselves a very new concept, and radio not too old either. It wasn’t commercially viable at all, but can you imagine?

By the 1920s, radios began to be installed in cars, with AM-radio-equipped cars numbering 9 million by the late forties.

FM, tape, and beyond

It’s in the fifties that in-car entertainment started to resemble what we see in cars today. First was FM radio. In the sixties, tape players in the form of cassette and 8-track started appearing. Now you could choose your music in your car. How fantastic is that?

From there, CD players exploded in the nineties, followed by the classic ‘back of the seat’ DVD players for the kids, satnav boxes you’d stick to the windscreen, dash-cams, auxiliary in, USB in, SD card slots, Bluetooth syncing, and even WiFi connectivity. It’s frankly incredible how quickly we’ve moved from a pouch of CDs in the glove compartment to your podcast picking up where you left it as you turn on your car.

Raspberry Pi: We can do better

The stock systems aren’t always amazing, though, are they? They have potential but the UI is lacking or it’s missing some key, seemingly obvious feature. Ours sometimes crashes during navigation, which can be fun. People have been replacing their in-car entertainment with custom computers for years; however, it’s now far easier than ever thanks to the Raspberry Pi.

Install the car computer: A step-by-step guide to installing a Pi-based ICE carputer

Shopping list

The SmartiPi Touch case is pretty easy to put together. If you want to make sure you’re doing it 100% correctly, you can always follow the YouTube assembly guide.

Add the AutoPi adapter

The AutoPi hardware comprises two parts: the adapter board that slots onto the Raspberry Pi like a HAT, and the OBD-II dongle. The adapter board’s spacers need to attached to both the Pi and the adapter before affixing it onto the GPIO pins and fastening the board to the Pi with some nuts.

Attach the dongle

With the adapter in place, you can now add the dongle on top and fasten it in place with some screws. You’ll need to take it apart first and remove the Pi Zero inside. There will be a little hanging cable to connect to the 4G modem, which attaches to a USB adapter that goes into the Raspberry Pi.

Set up the SD card

You can use the provided microSD card, but we always find it best to flash a new one. Grab the latest AutoPi image and then install it using Etcher to your microSD card. Not used Etcher before? Learn how in our handy video.

Finish and mount

Now you’ve got a working car computer with a touchscreen, you can mount it in your car. They are some fairly common sense rules on how to do this. The main takeaway is: don’t place it in a location that will obscure your field of vision and/or be distracting. The usual ‘bottom middle of the windscreen’ with GoPro mounts is quite a good spot, otherwise you can mount it to the dash if you’re confident in your abilities.

Connect to OBD

You can now connect to your car computer using the OBD-II port of your car – you may have to Google your car make and model to find out where it is, but a lot of the time it’s under the dashboard. Connect the OBD extender between it and your Raspberry Pi.

Initial startup

The OBD-II port powers your AutoPi system, and it should boot up once it’s connected. By default, there is no graphical user interface for AutoPi (you usually just read the data online on another computer); however, we can change that.

Create an AutoPi account

Head to my.autopi.io and log in to your AutoPi account – if you don’t have one, it’s free to register. If you’re using a brand new dongle, you can register it here so that you can then get data from it and make changes. If you’ve used the dongle before, you’ll need to generate a new ID by going to the Terminal and using the command:

grains.get id

Install a graphical interface

You’ll need to install a graphical inteface using Chromium in web kiosk mode. The full guide on how to install the interface and configure it can be found here. You can tweak the config file to your specific needs.

Configure your interface!

The basics are all done! From here you can start adding extra functionality using the other add-ons, and rearrange the in-car interface to your heart’s content. Enjoy your new car computer!

Upgrade your computer

Want to do more? Here are some top tips…

AutoPi is extremely smart – plugging in specific sensors and inputs allow you to quickly add extra functionality to your computer. Here are some classics.

Dash-cam

Dash-cams have risen in popularity in recent years for many reasons – mostly safety and insurance related, but if you’re taking a quick trip around the Nürburgring it’s nice to have a record of your fastest lap. With our specific setup, you can actually use the Raspberry Pi Camera Module; however, a USB webcam will also do the trick if you have a spare one.

Voice control

A lot of modern cars now also include voice control as standard. They’re usually not amazing, especially compared to your smartphone, but they’re installed nonetheless. By plugging in a USB microphone you can create custom voice commands for your AutoPi, which can be much safer than using the touchscreen while driving.

Parking sensor

External parking sensors are a great for helping you park while reversing, and it’s a popular addition on many cars. If your car doesn’t have one by standard, you can add external ones that connect to your AutoPi. Even if you do have rear sensors, it never hurts to have a front parking sensor for when you’re in a really tight spot.

Find a lot more AutoPi ideas here.

See also

ANPR: Car Spy Raspberry Pi

Self-driving RC Car using Tensorflow and OpenCV

Dride: Raspberry Pi Alexa car dashcam

McMaster Formula Hybrid EcoCAR project