How-to build a Raspberry Pi touch screen car computer
Tesla-like dashboard for your car
Integrated car computers (or carputers) are not only for expensive cars like the Tesla Model X nor is it only for complex car DIY projects that require you to have a degree in engineering. Not many people know how easy it is; by combining a few components it is possible to make it for any car. With Raspberry Pi, we can make your car Tesla-like and integrate it into a real carputer. With a Raspberry Pi car touch screen, your ordinary car is opened up with vast possibilities and opportunities.
In Tesla’s everything is controlled from the large touch screen in the center console. From climate control, maps overview, cabin overheat protection and many more features.
This functionality is no longer only for Tesla drivers. This guide will show you how similar functionality can be built. Here are some of the cool features you get:
- Touch screen interface
- Fast 4G/LTE Internet connectivity
- GPS tracking
- Car diagnostics and integration through OBD-II port
- Speaker or audio playback through Bluetooth device
- Accelerometer readings
- In car WiFi hotspot
- Dashcam for evidence recording and surveillance etc.
You do not need to have great knowledge about the Raspberry Pi and do not require any special tools as no modifications are made to your car.
Here is all you need:
- Raspberry Pi 3 Model B (get it here)
- Raspberry Pi 7" Touchscreen Display (get it here)
- SmartiPi Touch Case (get it here)
- AutoPi Dongle with OBD-II Extension Cable (get it here)
- AutoPi Raspberry Pi 3 Adapter Board (get it here)
- 2x GoPro Adhesive Mounts (get it here)
- Optional: Raspberry Pi Camera Module (get it here)
- Optional: SmartiPi Touch Back Cover (get it here)
Goal of this guide
The goal of this step by step guide is to show you how a powerful car computer with a touch screen interface and a lot of functionality, can easily be built into your car. This guide will not go into details about the actual mounting in your specific car, as it may be slightly different from car to car.
The AutoPi platform gives us a lot of functionality out-of-the-box which makes the job much easier. Here are some of the highlights, which we can use in this project:
- Power supply, car diagnostics and telemetry from the OBD-II port
- 4G/LTE connection, GPS, accelerometer data and voice speaker
- GPS for directions
- An advanced dashboard with widgets (will be used in our car computer). See more here.
We want to add the following functionality to our dashboard:
- Gauges to show Speed/RPM/Fuel
- Current position on Map
- Buttons to control AC temperature
- Buttons to control radio volume
- Cabin overheat protection
This should be the final result after assembly of our hardware:
Here are the steps
Continue by mounting the AutoPi Raspberry Pi 3 adapter board on top of the Raspberry Pi 3. Next go ahead and mount the AutoPi Dongle board on top of the adapter board.
Tip: The screen could also be located on the steering column and used as a replacement or addition to the standard instrument gauges.
That’s it, you have now installed a touch screen computer to your car. All you need to do now is configure which widgets you want displayed on your dashboard.
Configuring new widgets is easy, and also adding new functionality is just as easy.
Here is an example of implementing: Cabin Overheating Protection
Other blog posts for further reading
What is AutoPi and What Does It Do?
Get a short introduction to how AutoPi works and what it does for you. We will cover some of the technical details but also give a brief overview of the use case scenarios for this IoT device, like theft detection and remote safety monitoring. Get a felling of the AutoPi IoT platform and hardware dongle.
Discover hidden functions in your car (using CAN bus sniffing)
All modern vehicles today is controlled by multiple Electronic Control Units (ECU), which you can think of as small computers controlling all electrical components in your car. Using the OBD-II port and an AutoPi it is possible to communicate with the ECUs. One of the ECU’s is called the Engine Control Module (ECM). This is responsible for communication with a lot of subsystems, like transmission, power steering, windows and doors. These subsystems communicates on a network bus called Controller Area Network (CAN), by broadcasting messages on the bus.
Switching from Raspberry Compute to Raspberry Zero
During the design phase of the AutoPi, it was decided to use the Raspberry Compute Module. The Raspberry Compute Module is small, versatile and expandable in a lot of ways, which suited the AutoPi project perfect. All the pinouts from the Broadcom BCM2835 processor is available through the SODIMM DDR2 interface on the Compute Module. This gave us a lot of possibilities during the design phase of the AutoPi and therefore the Compute module was an obvious choice for us as a main processor.