I have always wanted a computer in my car. I don’t know why, its a bit of overkill to simply play mp3s’, but I think my own geekiness is the driving force behind this. I have wanted to do this for years now, but using a traditional pc, although possible, has several problems to overcome. From piecing together hard to find components, cost, space, and most importantly, a user input method that can be used while driving without the risk of killing anyone. Although, it was mostly the cost stopping me from doing this. This all changed with the advent of the tablet. Readily available, relatively cheap, all-in-one unit with a simple, low power input, and made for touch input. Problems solved, now time to implement. I’m not the first person to do this, but this is how I did it.
I started out with my ’97 Oldsmobile Aurora. The audio part was pretty straightforward, typical car stereo installation. After a few garage sales, I picked up most of the components: A four channel amp, a 2 channel bridgeable amp, and a 12″ subwoofer in a box. None of which is of particularly high quality, but does the job. I was also given a 7 channel eq / crossover unit, which came in pretty handy. Once everything was installed and the system was up and running, I also realized needed to put in a ground loop isolator because there was quite a bit of noise. For the tablet, I used an elocity a7+ that I got off kijiji, but that might change. Although it’s a good tablet, It doesn’t have GPS (kind of important in a car).
Although many people have put a tablet in a car, what makes my install rather unique is utilizing the steering wheel controls. I used an arduino microcontroller to receive the button presses from the steering wheel and control the tablet via a usb interface. Although I used an arduino UNO and reprogrammed it to act like a USB keyboard (via this site), I’ll probably switch to an arduino leonardo sometime and I would recommend doing that from the start as the leonardo has that feature built in. So, I’ll try to explain in not too much detail how I did this. The steering wheel controls work by connecting a different resistor to the battery voltage when a button is pressed. This way the stereo can tell what button is pressed depending on what the voltage is on the steering wheel control wire. To interpret this on the arduino, first I needed a resistor to ground on the arduino to create a divider. Then I read the digital result of each button pressed. Then I broke each value into a range so that any a to d result in that range will cause the arduino to simulate a keyboard button press to control the tablet and below a certain value, it will do nothing. The buttons I configured are volume up and down, play/pause, next track, home, back, and a power button to turn off the screen. I also used the cars switched power and created an interrupt to turn the screen on or off with the car. I jammed the arduino and associated circuitry into a project box and stashed it behind the dash. Not pretty, but it works.