Using your Bluetooth stereo - opencardev/crankshaft GitHub Wiki

Working on Bluetooth with native audio paths

TL;DR: Pair your phone directly with your Bluetooth stereo. In Crankshaft, tap Settings (the cog); tap the Audio tab; uncheck both Music and Speech channels. Press Save. Connect phone. If it works, congrats. If your phone doesn't like it, nothing we can do, sorry.

The long version: From image 0.2.0 you are able to use your Bluetooth-enabled stereo with Crankshaft (perk: all steering wheel enabled controls as well!). This is a workaround, but seems to work quite well. However, to which degree can you use it depends on your phone.

What is native audio paths: Normally when you connect your phone to the Pi (or to any Android Auto head unit), the head unit will take over the phone's audio output. This is a good assumption because traditional Android Auto head units are always also amplifiers in the car. In the Pi case though, it actually has a worse DAC than what you'll be able to achieve by just plugging in your phone to your stereo or connecting to it via Bluetooth. I call it "native audio path" (vs "Android Auto path"). In other words, you have the ability to ask the Raspberry Pi to be just a dumb projector for video, but it will (mostly) not interfere with the audio.

There are four audio channels that your phone talks to an Android Auto:

  1. Microphone input (after "OK Google" beep)
  2. Music output
  3. Speech output (navigation, messages readouts)
  4. Notification output

From my experiment, it is not possible for the Pi to avoid taking the 1 & 4 channel, but it is possible for it to avoid taking the 2 & 3 channel.

To do it, just pair with your Bluetooth stereo as usual. Deregister the Pi from taking over 2 & 3 Path. Go to Settings (the cog) --> Audio, and uncheck both choices. Press save. There you have it.

If your Android Auto app gives you error #2, then your phone doesn't like it. There is nothing we could do at this point -- sorry! However, it seems like Pixel and Nexus phones have better luck than Xiaomi phones.

Anyone working for Google, if you are reading this, can you lift the limitation of the head unit not taking over audio channels? Thanks a lot!