I love everything about my 2013 MINI Cooper except the stereo system which is pretty lame by most gadgeteer standards. When I ordered the car, I opted not to go full tech and buy the premium connected package because it was an expensive upgrade and the sales person at the dealership talked me out of it saying that it’s just tech that will quickly become out dated. He was right and I’m glad I didn’t spend extra for it. But what I did get wasn’t much… The stock stereo features Bluetooth, but only for calls. It does not allow audio streaming from a connected device. The stereo also lacks a nice display to show track info. While listening to SiriusXM satellite radio, it would take 2 or 3 button presses to show the artist and song title. One year of satellite service was included with the purchase of the car, but knowing that the free year was about to run out and that I wouldn’t be renewing, I went looking for alternatives to plain old FM radio or CDs.
I could have gone all out and modded my MINI like two of my co-workers who added Nexus 7 tablets to their cars, but I felt squeamish about tearing into the dash, so I decided to use what I had, my Samsung Galaxy Note 2, the iOmount iOauto Pro car mount, Kinivo BTC450 Bluetooth Car Kit and several apps.
What I want to do
The first thing I did was make a list of all the features I wanted and needed while driving:
1. Streaming music through my MINI’s existing stereo and speakers
2. Minimal wiring
3. Hands free calling
4. Hands free text message reading
5. Hands free audio track navigation
6. Automatically start playing music when the car is started and turn off music when the car is turned off
7. Backup camera
8. Wireless charging
Revising the list
At first I wanted to try to figure out a way to rig up Qi wireless charging and connect it via magnets to my existing iOmount and my phone. After some experimenting I gave up on that particular feature because the Powerbot wireless charging pad that I had purchased to hack didn’t provide enough juice to charge the phone while it was streaming music and the display was on. Since my normal trips are less than 30 minutes, I decided I didn’t really need to charge the phone. If I ever do find that the phone needs to be charged I can just connect a USB cable to USB connector built into the Kinivo BTC450 Bluetooth Care Kit.
I also dropped the backup camera feature from the project. I still want to do this, but I need to do more research.
Solving problems one at a time
How to mount the phone
The first thing I needed was a way to mount the phone in the MINI. This problem was solved by the iOmount car mount that I’ve been using for almost a year. I love it because it doesn’t use suction cups that can fall off, or special cases. It’s magnetic and so easy to use. I also love that I can flip the phone from portrait to landscape view with a simple twist.
How to make hands free calls
As I mentioned above, my 2013 MINI Cooper S stereo has Bluetooth call capability. I also use Google Voice to easily make calls just by saying “Ok Google call Jeanne at home”. It works great if you speak clear and don’t mumble.
How to stream music through my MINI’s existing stereo and speakers
Since I wanted to use my phone as the media serving device, I also needed a way to route the audio through the car’s stereo. I didn’t want to do any rewiring, so I did a lot of research and came up with the Kinivo BTC450 Bluetooth Car Kit. What I like about it is that it’s small and easy to use. It plugs into a 12V power socket and the AUX input of my stereo. Luckily for me those two connections are close together in the center console.
The small disc shaped device pairs with your phone and streams audio through the AUX input jack into your stereo. There are buttons on the edge that can be used to navigate music tracks. It can also operate as a handsfree speaker phone but the call quality wasn’t good at all and since my car already has that feature, I just disabled it.
Disabling calling through the Kinivo was just a matter of going into the Bluetooth settings for that connection and unchecking the Call audio box. So when I was finished, only the Media audio box was checked for the Kinivo connection and only the Call audio box was checked for the MINI Bluetooth connection.
Another reason I really like the Kinivo is that automatically pairs as soon as you power up the car and turns completely off when you turn the car off. I don’t have to press any buttons to turn it on. It just does its thing.
How to automatically start playing music when starting car
My favorite media player is Slacker Radio, so I wanted to figure out how to launch the app and start playing tunes as soon as the phone connected to the Kinivo after I started my car. There are a couple ways to automate tasks in Android, I chose Tasker. There’s a learning curve to using it, but that’s what makes it fun.
I created macros that trigger based on the phone being connected to the Kinivo. When it detects the connection it turns off WiFi, sets the display time out to 23 hours so that the display is on the entire time I’m driving. Next it launches an app called Wave Control Pro, waits 2 seconds, enables Wave Control Pro, launches an app called ReadItToMe, turns on the screen for 10 seconds so that I can unlock it with a swipe. Then it launches Slacker Radio, waits 3 seconds and using a media utilities plugin starts playing music.
When I’ve arrive to my destination and turn off the car, Tasker fires another set of commands when it detects that the Kinivo Bluetooth connection has ended. It pauses the music, kills the Slacker app, disables the Wave Control plugin and returns to the home screen.
How to change music tracks without physical interaction with the phone
I like Slacker Radio’s music selection, but I don’t love every song. Sometimes I want to go to the next track. Since I have my phone set to always have the screen turned on while I’m driving, I could just press the next track button, but that means I have my eyes off the road and on my phone – bad idea. The Kinivo has buttons that I could press to change tracks, but that would mean sticking it somewhere convenient where I could press the button. I didn’t like that idea either, so I did some searching and found Wave Control Pro.
This app allows you to hover or wave your hand over the front facing camera on the phone to change tracks. Since I usually just want to change tracks, I set both the hover and the 1 wave connect to go to the next track. As you can see from the screenshot, you can also assign actions to 2 and 3 waves. With this app enabled and Slacker Radio playing, I can just hold my hand over the front camera and it will switch to the next track. I can do this without taking my eyes off the road. It works great!
They have a free version too, but I liked it so much that I purchased the Pro version.
How to read texts that come in while driving without touching the phone
We’ve all done it, heard a beep while driving that means a text message has come in and we read it when we should be paying attention to the road. The temptation to read messages is so strong that I wanted a solution that would completely remove the desire to touch my phone when receiving an SMS.
I found the ReadItToMe app which will automatically read the text message and also who sent it as soon as it comes in to your phone. My Tasker macro starts this app when I’m in the car and turns off the Slacker Radio music and then reads the text message over the car’s stereo. When it’s done reading the message the music will start back up. You can configure each person in your contacts to either play through headset, Bluetooth or not at all. I don’t get a lot of text messages, but it seems to work well.
How it’s working after a few weeks
Everything was working really well and reliably with my Samsung Galaxy Note 2. But that has changed a bit since last week when I upgraded to a new LG G3 smartphone.
Everything is working except keeping the screen on while I’m in the car. The built in Display Timeout setting in Tasker and the Secure Settings plugin for Tasker don’t seem to be working on this phone. I may need to root the phone in order to do what I want. Even with this small set back, I’m still having fun with this setup. Tweaking things is the best part of any project.
Update 07/25/14: I solved the display timeout problem by setting the timeout in the Secure Settings plugin in Tasker. Yay!
Update 07/31/14: Problem with display time out wasn’t actually solved after all. The max length of time that I can keep it on before it times out is 20 minutes. I have an email in to the Secure Settings plugin people to see if they can update their plugin with longer time out settings.
Update 08/04/14: The display time out issue has been resolved (I think). I was using the timeout Secure Settings setting incorrectly. Now I set the screen to manual on when I connect via Bluetooth to the Kinivio and then set it to manual off when Bluetooth is disconnected.
Now that I have the main features working, I want to get a backup camera and I would also like to find a way to listen to FM radio through my phone without using data. I wonder if there’s such a thing as Bluetooth FM radio, because I don’t want to physically plugin a wire to the phone. If anyone has advice or would like to share any similar projects that you might be doing, please do so in the comments.
List of hardware and apps used
Samsung Galaxy Note 2
Kinivo BTC450 Bluetooth Car Kit
Wave Control Pro
Secure Settings plugin for Tasker
TaskKill plugin for Tasker
Media Control plugin for Tasker