Sometimes one just needs to take a break from endless projects and geekery and just go for a drive and listen to some music. It’s the American way to hit the road and then hit play. That phone you carry around is just waiting to play tons of high quality music from its gargantuan internal storage, or stream music from the net as if you’re living in the post-cloud era.
We Want Wireless1 The simple answer is to just buy a Bluetooth car audio receiver such as the Soundfly BT, which plugs right into your car’s cigarette lighter outlet or whatever they call that port these days2. The Soundfly BT will power up with your car, your paired phone will automatically redirect its audio output to it via the Bluetooth A2DP service, and music will play from the Soundfly BT’s line out port to your car stereo’s aux input or it’ll broadcast to your car stereo’s radio receiver using the device’s built-in FM transmitter.
Apart from the fact that bluetooth audio transmission uses lossy compression3 and theoretically could degrade the audio a bit, this thing sounds great and is a pretty ideal solution. Unless, that is, your car is like mine, and features an excellent built-in bluetooth speakerphone system that you’d like to continue to use.
Trouble in Paradise: The Bluetooth Speakerphone WarBecause the Soundfly BT also features a (horrible) mic and can be used as a speakerphone, it has registered itself with your paired phone as both a Hands-Free and an A2DP audio streaming device. The. Horror.
Your new bluetooth music receiver and your car speakerphone are now at war.
Here’s how this situation regularly played out for me: I’d be in my car in bumper to bumper traffic on the 101 and I’d get a call about a job. I’d hit the answer button on my steering wheel, and my car’s bluetooth speakerphone would answer the call. I’d hear the caller’s perfectly-clear voice on the car’s dedicated hands-free speaker for about 2 seconds, and then 6 times out of 10 everything would go eerily silent in the middle of a word. My phone had just switched from using the car’s hands free system to the Soundfly BT’s hands free system. If my car stereo was set to play from its aux input, there would be a second of silence as the connection switched and then I’d hear (coming from the stereo) the concerned caller repeating my name adorned with question marks. I’d talk back and they’d barely able to make out what I’m saying because of the aforementioned awful mic.
That was the best-case-scenario with the Soundfly BT in my car. It didn’t go so well if my stereo was not already set to the aux input, because this meant that in order to hear the caller at all I’d have to manage to switch the stereo to that input while driving, a mean feat since I don’t like to take my eyes from the road while the car is in motion to avoid running over babies or dying. Usually the end result was that people would call, I’d pick up, and they’d hear silence until they hung up.
It’s too bad the Soundfly BT doesn’t feature an option to have it not present itself to your phone as a hands-free system, because its A2DP streaming works a treat. For music streaming it’s almost perfect. It even comes with a remote that could conceivably control your connected device but will instead sit in the glove compartment unused, forever. It’s not that the Soundfly is a bad device, quite the opposite. I highly recommend it if your car doesn’t have a built in hands-free system that you like. Unfortunately I don’t think any similar device includes a feature to disable its hands-free system –this problem affects the entire product category. Maybe they’re all built around the same chipset and the chip is just incapable of advertising itself to the phone as anything but hands-free + A2DP, or maybe no manufacturer strays from using the reference design and bothers to let the user choose to disable one of its features?
A turnkey solution that I skipped due to cost and possibly-dumb philosophical reasonsAt this point a normal person might consider buying a bluetooth car audio device that lacks a hands-free system and is known to turn on with the car and stream just fine. The TuneLink Auto (iOS version , Android version 4 ) looks to have been designed to fit this niche. But I have simple needs, and the TuneLink Auto seems to be positioned as a premium device with features and price to match. I don’t need a device controlled via a custom iOS or Android app5, all I want is a cheap bluetooth device that turns on when power is supplied to it and supports the bluetooth A2DP profile and can stream music from my phone without issue, auto-reconnect would be a plus.
An unfortunately imperfect solutionEDUP EP-B3502 Wireless Car Bluetooth Music Receiver and bit the (very low-cost) bullet, for science. This device is almost great. Positives:
- It doesn’t only charge its internal battery via its micro-USB port, but can run while so connected. That was the deal breaker for the similar BCK-08, a device with which I experimented a few years ago.
- No hands-free profile – no more war with the car speakerphone!
- It sounds pretty good, good enough at least. I never did a comparative test, but it seemed like it was maybe a small step down in audio quality from the Soundfly BT. It only costs about $13, and all the bluetooth audio devices are using lossy compression, so my expectations were met.
ConclusionObviously this tale has to end with the abandonment of bluetooth streaming, a ton more research, the buying of parts, the setting up of development environments in a virtual machine, the compilation of custom firmwares, and a switch to the use of uncompressed7 audio transmission over wifi to a hacked USB-powered router connected to a decent USB DAC. But that deserves its own post.
- If you’re lucky-enough to have such an aux input. [↩]
- The “absurdly-deep friction-dependent smartphone and vaping device power outlet”? [↩]
- Bluetooth A2DP, used for audio transmission, “supports optionally: MPEG-1, MPEG-2, MPEG-4, AAC, and ATRAC (shudder), and is extensible to support manufacturer-defined codecs, such as apt-X.” Wikipedia: Bluetooth profile, Advanced Audio Distribution Profile [↩]
- A2DP is a cross-platform standard, and I can’t think of a good reason why whatever custom interface is used to communicate with the thing’s iOS and Android apps (bluetooth serial?) couldn’t be used for both iOS and Android. Why are there different versions of this device? [↩]
- In fact, I see such a device as less valuable than a simpler device –it’s not unlikely that the device’s custom iOS app will not work years from now when our phones are running iOS v15 on 256-core CPUs. I’d rather the device have a non-proprietary control method not tied to custom software, such as a web interface, or some hardware buttons and an LCD. Why unnecessarily tie the future of a spend piece of hardware to software that could quickly become obsolete? [↩]
- Honestly guys, it’s the 21st century, we shouldn’t have to decipher beeps or sequences of flashing LEDs any more than we should have to program computers with punch-cards. Instead of beeping, say what the problem is, in a language that is spoken in your target market. [↩]
- well, non-lossy compression [↩]