I have been repeatedly disappointed with the aftermarket car stereo systems that I have purchased and installed. So, I figured if you want something done right...do it yourself! I haven't fully finalized the design yet (somewhat figuring it out as I go), but my plan is to have a 7" touchscreen interface with a dedicated volume/mute knob. The system will be internet-connected through a Verizon LTE modem, and will allow me access to Pandora, YouTube, and local file playback (video podcasts & music library) via USB. Additionally, I'm building in a camera that will show me a rear view when I put the car into reverse, and a GPS radio so that I can use Google Navigation, or for whatever other reason I decide to use it for. I want high quality audio, so I'll be adding a DAC rather than using the built-in audio output from the Pi, and I want to retain some version of control from the steering wheel, so I'll be adapting that as well.
This is my first project using a Raspberry Pi. I have a B, a B+, and now a Pi 2 B. I started with the B+, but when the Pi 2 arrived I opted for that instead. Much faster! Here's the parts list I'm working with for now.
I got really frustrated with some seemingly minor items that had a pretty major effect on the development of this system. For example, I never could get the touchscreen working properly. I assume it has something to do with the fact that my screen is higher resolution than most, but it just never worked properly. I also had issues getting the DAC to be recognized in the various versions of Kodi/RaspBMC that I loaded. In the end, it got to the point where I have now neglected my pi car stereo system in favor of my good old microcontroller projects for long enough that I have to officially consider it...postponed. I still want to get it working at some point, but I don't know when that will be.
I've been using OpenELEC for my RPi system because it's quite fast and seems to have all of the options I want, mostly. However, today I hit a bit of a snag. In order to enable the rotary encoder I plan to use for my volume control and mute functions, I need to use the GPIO, which means installing the WiringPi library. I'll also need the GPIO for my ignition switch & power supply. But apparently OpenELEC won't allow apt-get at all so I can't install libraries that aren't listed in the Add-Ons. LAME.
So, I'm going to try switching to RaspBMC/OSMC and see if that will allow me to use the GPIO and also the DAC.
In other unfortunate news, I got the touch screen running, but the USB Touch Screen Controller (AR1100) that I got from Adafruit isn't working right at all. It is twitchy and puts the mouse cursor in the wrong place, then moves it in the opposite direction my finger is moving. And the configuration utility doesn't even recognize that it's plugged in. A quick google search reveals that I'm not alone. Super.
Ordered another one and will return this one if the new unit works correctly.
Thus far I've obtained the majority of my parts, and have begun experimenting with the various different distros of Linux for the Raspberry Pi. I've tried Raspbian, RaspBMC, and OpenELEC. RaspBMC and OpenELEC are very similar and both use Kodi underneath. Getting my DAC+ to work has been a challenge, but Gordon from IQaudIO has been very responsive and helpful. I now have it working with OpenELEC 5.0.6, though I am hoping to add some functionality like auto start, and volume/mute via the rotary encoder.
My next step is to get the LCD hooked up instead of using my TV, then add the touchscreen overlay to eliminate the need for a keyboard and mouse to navigate.