datvichrox2 BHPian



Join Date: Dec 2009 Location: Bangalore Posts: 110 Thanked: 292 Times

Using an Android Smartphone as a Head-Unit









What I have in my car currently, this came with the car when I bought it used in 2008:

Blaupunkt LongBeach c31 - cassette player , with aux input at the rear

, with aux input at the rear Blaupunkt 542 speakers (4)

What I will have after this mod:

Android Phone which serves as audio head unit and navigator

(The Blaupunkt components will remain as it is)



If this works, it will make my 10 year old car-cassette player useful in 2016 as well.



Android phones can pretty much provide all the major functionality that is needed in a car - Audio Playback and Navigation. Even a cheap Android phone can replace a car head unit. It can also be made to respond to voice commands.



Installing a phone/tablet in a car has been done before - lookup Android Nexus7 in-car installations and many examples on t-bhp itself.



How this project differs is in the way inputs are handled. I hate interacting with touch screens in car entertainment systems - it takes a while to get things done because of the small buttons and menus and this can be distracting during driving.



The major features should be easily accessed and controlled with as few interactions as possible and with dedicated hardware controls.



This is where the Arduino Uno comes in. I will be adding hardware buttons, rotary encoders and program the Arduino Uno to respond to them. The Arduino Uno will communicate with the Android phone using bluetooth. The Arduino Uno tells the phone which button was pressed or which knob was turned and in which direction. The Phone can respond accordingly - this requires some custom programming to listen to specific commands over bluetooth, mentioned below.



A custom Android service in the phone will be listening solely to the Arduino Uno via bluetooth and based on the code that the Arduino sends, will perform actions on the Android phone.



Some of the actions that the custom Android app will trigger are as follows:



Launch Maps

Launch Music Player

Reduce / Increase Volume (this will be sent to the head unit)

Play Next Song

Play Prev Song

Pause/Play



The car cassette player which is currently installed will be put into AUX mode permanently and will take its audio input from the Android phone. It will continue to provide amplification and controlling of the car speakers. That will be its sole purpose.



Advantages of this system:



Can be updated easily by using custom apps on the Android and custom code on the Arduino.

Any car headunit can be used as long as it has AUX-input.

The car's ECU system can be read and displayed on the Android phone. If there's a problem with the car, you would know immediately.

Access to google maps and apps.

It can have its own sim card and data connection. I could send a remote message to the car and it could be programmed to respond with its current location.

Can be extended to support steering wheel controls as well.

Disadvantages of this system:



It is a complete D-I-Y (do-it-yourself) project and will take a long time to complete. I started this around 6 months ago and spend whatever time I get in the weekends.

It needs hardware customization as well, if you want it to be a plush-fit. This is needed to make it look professional.

Need to learn Android programming

Need to learn Arduino programming

Need to acquire Soldering skills and basic electronics design

The reason I chose a phone over a tablet, is because of the space available in the car. It is a single DIN space and I cannot put in a tablet as that would require a double DIN space.



Here is a picture depicting the components involved and how the communication happens between the devices:



This was going to be a proof of concept of an idea that has been gnawing at me for a while. Its a hobby project that I did on my 2004 Palio 1.2 and I am happy with the way it has turned out.What I have in my car currently, this came with the car when I bought it used in 2008:What I will have after this mod:Android Phone which serves as audio head unit and navigator(The Blaupunkt components will remain as it is)If this works, it will make my 10 year old car-cassette player useful in 2016 as well.Android phones can pretty much provide all the major functionality that is needed in a car - Audio Playback and Navigation. Even a cheap Android phone can replace a car head unit. It can also be made to respond to voice commands.Installing a phone/tablet in a car has been done before - lookup Android Nexus7 in-car installations and many examples on t-bhp itself.How this project differs is in the way inputs are handled. I hate interacting with touch screens in car entertainment systems - it takes a while to get things done because of the small buttons and menus and this can be distracting during driving.The major features should be easily accessed and controlled with as few interactions as possible and with dedicated hardware controls.This is where the Arduino Uno comes in. I will be adding hardware buttons, rotary encoders and program the Arduino Uno to respond to them. The Arduino Uno will communicate with the Android phone using bluetooth. The Arduino Uno tells the phone which button was pressed or which knob was turned and in which direction. The Phone can respond accordingly - this requires some custom programming to listen to specific commands over bluetooth, mentioned below.A custom Android service in the phone will be listening solely to the Arduino Uno via bluetooth and based on the code that the Arduino sends, will perform actions on the Android phone.Some of the actions that the custom Android app will trigger are as follows:Launch MapsLaunch Music PlayerReduce / Increase Volume (this will be sent to the head unit)Play Next SongPlay Prev SongPause/PlayThe car cassette player which is currently installed will be put into AUX mode permanently and will take its audio input from the Android phone. It will continue to provide amplification and controlling of the car speakers. That will be its sole purpose.Advantages of this system:Can be updated easily by using custom apps on the Android and custom code on the Arduino.Any car headunit can be used as long as it has AUX-input.The car's ECU system can be read and displayed on the Android phone. If there's a problem with the car, you would know immediately.Access to google maps and apps.It can have its own sim card and data connection. I could send a remote message to the car and it could be programmed to respond with its current location.Can be extended to support steering wheel controls as well.Disadvantages of this system:It is a complete D-I-Y (do-it-yourself) project and will take a long time to complete. I started this around 6 months ago and spend whatever time I get in the weekends.It needs hardware customization as well, if you want it to be a plush-fit. This is needed to make it look professional.Need to learn Android programmingNeed to learn Arduino programmingNeed to acquire Soldering skills and basic electronics designThe reason I chose a phone over a tablet, is because of the space available in the car. It is a single DIN space and I cannot put in a tablet as that would require a double DIN space.Here is a picture depicting the components involved and how the communication happens between the devices: