Skip to content

Using your Bluetooth stereo

Huan Truong edited this page Mar 12, 2018 · 10 revisions

Working on Bluetooth with native audio paths

From image 0.1.8 (not released) you will be 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 stereo to the Pi (or 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").

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 to avoid taking 1 & 4, but it is possible for an Android Auto head unit to avoid taking 2 & 3.

From image 0.1.8 on, you can expect to be able to deregister the Pi from taking over 2 & 3 Path. Go to settings and uncheck both choices. 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. 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!

Clone this wiki locally