For this project I got inspired by a forum member on the biggest German T4 forum. The idea was to use a Raspberry Pi as CarPC and use an OEM head unit to take care of the audio amplification and in my case the control of the application. I do not want a touch screen inside my 1999 VW.

By a fluke i got a working VW MFD Radio Navigation System from a friend as a base for this project. This head unit consits of three parts. The display unit, the radio unit and the navigation unit. The MFD also has a TV input, so it is easy o get the video signal of the Pi into it. So I designed an interface board which reads the buttons of the MFD and cares about starting and stopping the Pi. The interface board is based on a Atmega16 and a simple buck converter to power the Pi. The Buttons of the MFD are realized as resistor matrix so i needed to solder some wires to them and read the voltage values with the AVR. The AVR and the pi communicate via UART and some GPIO.
As I mostly want to listen to mp3 audio files and rather need bradcasted media I made a music player which used the music player deamon to play audio files and attached a simple Qt GUI.

In the very near future the integration of navit into the hardware will follow. With a lot of help from the navit team I am currently developing a MPD based audio plugin for NavIt.

The interface board, the Raspberry Pi and a 4-port USB hub fit into a small plastic box. I use a Raspberry Pi A+ for the Qt-mp3-player. That's why I need the USB hub. For Navit I will use a Raspberry Pi 2B, because NavIt will need a 'bit' more power.
Update: November 2015
I finished the MPD based player for NavIt and replaced the Pi A+ with a Pi 2B. Now the Raspbian boots into GUI within 30s and so saved me about 20s on startup. After connecting a USB-GPS-Device and setting it up with gpsd I have a working positioning and alsways correct system time.

The on screen displays are fully customizable and are just some alpha state in my setup. Maybe I lack some graphical abilities. ;)
The Hardware is accessed by one rotary encoder and the 'Back'-button right beside the NAVI-Button.
Update January 2016
By default the OEM Headunit switches its color when light comes on, to gurantee best readability. I wanted that too, and added it to my navit (fork). Here you can see it in testing and in real life.
Robert Pohlink
Leif Bloomquist
Dmitry
CircuitMonster
Craig Hissett
Really great work! I have started doing something similar on a RPi 3B+ using navit and have it working rather well. My desination vehicle is a Mini R53, so I dont need to worry about controls/aux input to the screen as I am using a 6.5" HDMI unit..
However I love the idea and what you have achieved with the GPIO controlled night/dark mode.
Do you have a link to your forked code so I could take a look.. I am looking to pull the night/day data either using the backlight illumination or the relevant messages over CAN.