Have you ever envied your friends' sweet touch screen systems in their car? Do you look at the dash of your old and decrepit 1992 Isuzu Rodeo and dream of having a slick computer system in your car? Well, your in luck. This Instructable will be your guide on building a system that is low cost and easy to build; it doesn't even require special tools.
The goal of this Instructable is to create a easy-to-build car computer based on the Raspberry Pi. It does not require special tools and very little knowledge of the Raspberry Pi. I chose not to use advanced tools like 3D printers or laser cutters because, while many do have access to these machines, I have been turned off of projects in the past for using such "out of reach" resources.
The CarPC runs off of a Raspberry Pi Model B running Xbian, a version of XBMC made for the Pi. The touch screen is resistive which, while not ideal, keeps cost down and is easily available through Amazon. It has the capacity to play music, watch videos, look at pictures, play games, and much more.
Raspberry Pi Model B
Tontec 7 inch LCD Touch Screen 720x480
Power supplies for both Pi and Screen
Car charger for Pi
Car stereo (can be stock)
30 feet of wiring fit for your stereo
Various odds and ends mentioned within the Instructable.
Step 1: Gather Your Materials for Assembly
No, this isn't real programming...
Here is what I used:
Raspberry Pi Model B (Not the model B+, I used it originally and could not get the touchscreen to function properly.)
USB Keyboard OR computer that can SSH into Pi
Both AC and DC Pi Power supply (5v 1amp)
LCD Power supply (12v 2 amps DC)
Step 2: Assemble the Screen
This is fairly simple but there is still room for error.
First, grab the LCD screen and the LCD control board. (They are both labeled in the previous step.)
Then, plug the ribbon cable from the screen into the control board with the same orientation as pictured. Make sure to unlock the black tabs first and to lock them after inserting the ribbon. (Screen and board should both lay flat facing up.)
Now, plug the button board for the screen into the control board. It uses the flat white cable to do so.
Now, connect the HDMI cable from the Pi into the the LCD control board.
Lastly, plug in the DC power into the power port when ready to power on.
Step 3: Installing and Attaching the Touch Panel to the Screen
So, here is a strangely simple bit of the process. Most people would use special adhesive strips made for touchscreens for this process, I decided that I didn't want to wait for shipping so I used scotch tape. It surprisingly worked very well.
To do so, lay the touch panel flat atop the LCD screen. Make sure the touch control ribbon is on topside and that the corners are square.
Next, administer tape along the edges of the touch screen in a manner that attaches it to the the LCD module. There should be no tape along the front side of the touch screen, only on the sides.
Flatten the tape to make it less noticeable, there should be no wrinkles.
Use more tape to reinforce the tape already supporting the touch panel.
Once the screen is solid and looks nice, you should be done.
Now, attach the ribbon cable from the touch panel to the red-white-green-black cable. Attach that cable to the appropriate port of the touch control board.
Finally, attach the white end of the supplied USB cable to the board. That USB will then go into the Pi.
Step 4: Set Up the Raspberry Pi
This one can be a tricky one as it is different depending on the type of computer one does it on, whether it be Windows 7, 8, Mac, or Linux. Rather than cluttering this Instructable with easily obtainable knowledge, here is a link to a tutorial from the Raspberry Pi team themselves.
The image needed is Xbian, which can be downloaded here.
On the hardware side of things, a Pi compatible power supply is needed (5v, 1 amp or more), an 8gb SD card or greater, and an HDMI cable.
Once the SD card is inserted, the screen plugged in through HDMI, and the power turned on, you should see progress appear on the LCD screen. It will take a bit too load the first time but a setup screen will eventually appear with XBMC in the background. You are now finished with this step.
Step 5: Configure the Touch Screen
The next step involves entering the terminal and typing things. This may seem daunting to some and others feel like the terminal is only for 1337 hackers. These are both false expectations as it is really quite simple as long as you follow instructions. I would highly recommend to SSH for this next step, as it saves a considerable amount of time, although it is not necessary. SSH'ing is the act of wirelessly tapping into your Pi through your home computer; therefore it must be connected to the same network as your computer.
You must have the Pi connected to internet for this, most easily through ethernet.
If you are going to SSH, follow this tutorial to get started.
If you aren't going to SSH, plug in a keyboard and access the terminal by selecting the "exit" option.
Sign into the Pi. Username is "xbian" and Password is "raspberry".
Anything in brackets you type into the console; do not include the brackets.
type [sudo stop xbmc]
and then [wget https://github.com/brantje/xbian-touch/raw/master...
after that crazy looking code goes by, type [sudo sh install.sh]
Now follow the on screen instructions, you will have to calibrate the touch screen.
Once done, type [sudo reboot]
If you have issues, refer to this, it may help to perform the manual version (I chose the easier automatic version at the bottom of the page). It is the source of this wonderful method. Thanks Markamc!
Step 6: Congrats, Your Touch Screen Works (Hopefully)! Time to Put It in the Car!
At this time, your touch panel should be operational. There may be issues as Xbian updates or just the finickiness of the Pi platform.
Now it is time to install it in the car.
This step is obviously different depending on the vehicle. I installed it in a 2009 Ford Ranger, which luckily has a large stock OEM stereo. Some cars have smaller stereos and will require different methods of mounting.
To continue, one must remove the radio. For mine, I removed two screws located above the climate control. I also made my own radio pullers with a coat hangar. Simply stick these bent clothes hangers into the "pull holes" and apply pressure outwards to bend the constraints, thus letting the radio to be freely pulled from the car.
Step 7: Moving the Radio to the Back.
Here is the hardest part as it is different for every car and I am also going to assume you have soldering experience.
You must place the stock stereo in another part of the vehicle. The glove box would be easiest and could possibly not require extending the harness; however my radio was too large for that option. I placed it behind a rear jump seat within my extended cab.
It is necessary to keep the stereo as the Pi still connects to it through auxiliary ports and it is used as an amplifier. I also didn't bother extending of AM/FM, as I never use it.
The radio harness must be cut, spliced and extended to allow the radio to be placed in another part of the vehicle.
I used a fair amount of wiring for this, so make sure you have enough. Measure twice, solder once.
With your newly extended wiring harness(es), route them to your secret hiding spot for the stereo. This can be through the carpet or through side panels or however your vehicle will allow it.
Step 8: Supply Power
So now is the second hardest part. (or it could be easy, depending on how you want to do it.)
To power the LCD screen, obtain a DC power cable that fits into the port of the LCD board by either use a spare DC power cable or cutting the cable from your LCD power supply cable. Thin you must use wire strippers and strip the cable down and splice it with the wires running through the back of the cigarette lighter. These do not need to be soldered connections, but it is recommended. I couldn't safely get a soldering iron back into the hole so I opted to use cable joiners. This will probably not be permanent.
For the Pi, I used a car DC power supply, as a I wanted to shut it off completely to prevent killing the battery. (The LCD automatically shuts down and turns on when no signal is present.)
Step 9: Mount the Screen, Shove It All In.
Screen mounting will obviously differ from car to car. For my Ford Ranger, the fit is so snug the majority of the support is to prevent it from falling forward, not back into the dash. Therefore, I used spare foam board I had laying around and super glued them behind the bezel. (The foam is extra strength stuff I use to build RC airplanes)
I also used a mixture of glue and duct tape to attach the screen to the foam and the bezel. This was a cheap and easy solution to keep it in there and it still holds up.
In order to remove the screen for maintenance, the bezel is completely removable.
While this may seem like a poor method of mounting, I wanted this to be a project anyone can make with the tools in their garage; however, in the future I would most likely order a 3D printed frame for the LCD.
Be sure to hook up the audio cable to the auxiliary port of the stereo. This is how the audio gets from the Pi to the speakers. (I forgot to do this, had to take off the bezel.)
Step 10: COMPLETION!
So, now you are done with the the Instructable. Congrats!
There are some things that are important with this Instructable:
I am not going to teach you how to use XBMC. That could be a whole new instructable in itself.
The Pi will go into sleep mode if it is left idle; this is fine for the most part. Shut it down safely when being left for long periods of time through the software, do not unplug the Pi while it is on. To turn it on, unplug and plug in.
A splitter can be used to add bluetooth, more usbs, and gamepads.
Games can be added as well.
Thanks for reading!
(Note: The video does not showcase music due to copyright infringment)
Second Prize in the
Glovebox Gadget Challenge