E90Post
 


Extreme Power House
 
BMW 3-Series (E90 E92) Forum > E90 / E92 / E93 3-series Technical Forums > AUDIO/VIDEO + BLUETOOTH + Electronics/Alarm/Software > Steering Wheel Bluetooth Control for External Bluetooth?



Reply
 
Thread Tools Search this Thread
      06-05-2013, 09:15 AM   #1
Fmstrat
New Member
 
Drives: 2007 335i Coupe
Join Date: May 2010
Location: Apex, NC

Posts: 17
iTrader: (0)

Arrow Steering Wheel Bluetooth Control for External Bluetooth?

Hi all,

I have a somewhat unique setup that I have a question on. I'm on the road a lot, and have built a wireless charging system into my car (pictured, I'll create a seperate HOWTO for this) that I can just place my phone on. When I get in the car, the phone connects to both the BT in the stereo for phone, and an external BT adapter for A2DP stereo (since my head unit does not support this).

Upon making these connections, it automatically starts up music and Waze for navigation as well as reading off text messages, etc, aloud. My goal is to now make the steering wheel controls that would usually control the car stereo send BT commands to the phone. Is there any type of replacement or wiring system that would allow me to control an external BT device (I.E. the phone)?

Thanks,
Ben
Attached Images
 
Fmstrat is offline  
0
Reply With Quote
      06-06-2013, 11:10 PM   #2
mastermayhm
Brigadier General
 
mastermayhm's Avatar
 
Drives: n54 e90 LCI 6MT
Join Date: Sep 2008
Location: INPLS, IN

Posts: 4,151
iTrader: (12)

bump cause this is cool. i like what you have done with your set up
__________________

N54 LCI xDrive 6MT MSport || P Mods: KW V1, JB4 G5, BMS flash, UUC SSK, VRSF DP...
Mayhm's Build Thread
mastermayhm is offline   United_States
0
Reply With Quote
      06-07-2013, 02:43 PM   #3
Fmstrat
New Member
 
Drives: 2007 335i Coupe
Join Date: May 2010
Location: Apex, NC

Posts: 17
iTrader: (0)

Quote:
Originally Posted by mastermayhm View Post
bump cause this is cool. i like what you have done with your set up
Hah! Thanks. I'll post a link here to the HOWTO when I get it up. I'll also include all the automation scripts for Tasker (Android). Now if only someone had an answer to my BT question..
Fmstrat is offline  
0
Reply With Quote
      06-07-2013, 02:53 PM   #4
corasdad
Lieutenant
 
corasdad's Avatar
 
Drives: m sport 320d
Join Date: Apr 2013
Location: Lancashire

Posts: 453
iTrader: (0)

Quote:
Originally Posted by mastermayhm View Post
bump cause this is cool. i like what you have done with your set up
+1
corasdad is offline   United Kingdom
0
Reply With Quote
      06-08-2013, 01:50 AM   #5
alexwhittemore
Major
 
Drives: 2009 Crimson 328i
Join Date: Oct 2012
Location: Los Angeles

Posts: 1,487
iTrader: (0)

Quote:
Originally Posted by Fmstrat View Post
Hi all,

I have a somewhat unique setup that I have a question on. I'm on the road a lot, and have built a wireless charging system into my car (pictured, I'll create a seperate HOWTO for this) that I can just place my phone on. When I get in the car, the phone connects to both the BT in the stereo for phone, and an external BT adapter for A2DP stereo (since my head unit does not support this).

Upon making these connections, it automatically starts up music and Waze for navigation as well as reading off text messages, etc, aloud. My goal is to now make the steering wheel controls that would usually control the car stereo send BT commands to the phone. Is there any type of replacement or wiring system that would allow me to control an external BT device (I.E. the phone)?

Thanks,
Ben
The short answer is no, but given that you've made a custom inductive charging setup, you might like the long answer.

For one, I assume based on inductive charging that you've got an android phone?

Not that it really matters. The control issue is twofold

1) I'm not 100% certain about this, but I don't think it's possible to have one A2DP device and a SEPARATE AVRCP device - I think the implication is that they are on the same pairing always. Perhaps that's just because most A2DP devices ALSO implement AVRCP, but I'm not sure. Anyway, AVRCP is what's required for control - it can do stuff like track listing, skip, play, pause, etc etc etc. If you could have a separate AVRCP device that you ALSO paired to, perhaps it could transmit control signals from the wheel as AVRCP commands to the phone. But that'd also require hardwiring into the wheel wiring (which is well within reason, but advanced).

2) Assuming (1) is correct, I can imagine a device (that I've looked into building) that would emulate iPod Accessory Protocol (the serial connection on the normal Y cable for iPhone connections) on the car side and would use AVRCP and A2DP to implement that over bluetooth on the other side. Perhaps it'd look something like the headunit reads a paired device, doesn't get a track listing or art or anything, but CAN display track info for the playing track and CAN control from the steering wheel, all over BT. This would work with android or iOS, as everything not under the BT capability list would have to be spoofed or emulated. I'm quite sure this is well within the realm of possibility

The problem with this custom device is this. Bluetooth A2DP transmits compressed audio, and it doesn't enforce any particular codec for compression. It does come with (fo free!) the SBC codec. Problem is, SBC totally sucks. When you hear roughness and distortion in the highs, or poor bass response, this is usually due to SBC (okay, the latter I think is usually do to shitty analog signal chain). That's why most cheap (<10, usually dealextreme) adapters sound crappy.

On the other hand, you can also use AAC (supported by most devices, apple for sure, most android) or AptX. These are good, but not free. Usually $1/device, and AAC charges a one-time fee of $15k for any product. Pretty prohibitive.

So basically, if I wanted to make a device that did all these things, it'd be <$50 even for a prototype. But if I wanted to make a single device that didn't sound crappy, it'd cost just under $15051. Bummer.

But suffice it to say, nothing on the market CURRENTLY can get the job done.


EDIT: BONUS ROUND

I hadn't thought of this just now, but if you've got android you DO have another possible option. Carputers have been a thing since computers got small and nerds got cars. This device exists, which is pretty neat. Basically, it listens directly to your wheel buttons and, based on your programming, emulates the media keys on a keyboard. Press skip and it sends the skip key to whatever device is attached to it via USB. Android devices of all flavors (some require a little love) can attach to USB keyboards. If you're willing to be wired, that's an easy option.

If you're not, you could conceivably make a version of the device above that pretends to be a USB keyboard and does the same thing. That'd work AWESOME for what you want. It might even exist, but I don't know.

EDIT 2:
So you COULD probably get the joycon EX, program it, and use this doohickey (http://handheldsci.com/kb) to convert the USB keyboard that that device presents into a bluetooth keyboard for your phone to pair to. Honestly this is probably your solution, but it's ~100 to try and no guarantees that it works right (though I think it should)

EDIT3:
oh snap! I can pair my BT keyboard to my iphone as well, and the media control keys work great. I may well try this joycon+BT keyboard adapter thing myself.
__________________

Last edited by alexwhittemore; 06-08-2013 at 02:15 AM.
alexwhittemore is offline  
0
Reply With Quote
      06-08-2013, 06:16 AM   #6
Fmstrat
New Member
 
Drives: 2007 335i Coupe
Join Date: May 2010
Location: Apex, NC

Posts: 17
iTrader: (0)

Quote:
Originally Posted by alexwhittemore View Post
The short answer is no, but given that you've made a custom inductive charging setup, you might like the long answer.

...

oh snap! I can pair my BT keyboard to my iphone as well, and the media control keys work great. I may well try this joycon+BT keyboard adapter thing myself.
This has got to be one of the most informative responses I've gotten here. Thanks!

I will look into those options you supplied, but it does bring up a potential simpler solution that I've been contemplating, which is getting a "mini" BT keyboard, and hardwiring the skip keys into the steering wheel controls directly. I just need to confirm that the BT keyboard media keys will function when connected to an A2DP device.

My end goal is to use Tasker to intercept the media keys based on application. So, for instance if my eBook reader is reading using TTS, I can pause it, or if the Nav app is up I can mute it, or music.. you get the idea.

Thanks again.
Fmstrat is offline  
0
Reply With Quote
      06-08-2013, 03:08 PM   #7
alexwhittemore
Major
 
Drives: 2009 Crimson 328i
Join Date: Oct 2012
Location: Los Angeles

Posts: 1,487
iTrader: (0)

Quote:
Originally Posted by Fmstrat View Post
This has got to be one of the most informative responses I've gotten here. Thanks!
no problem, I'm trying to work through the same stuff myself!

Quote:
I will look into those options you supplied, but it does bring up a potential simpler solution that I've been contemplating, which is getting a "mini" BT keyboard, and hardwiring the skip keys into the steering wheel controls directly. I just need to confirm that the BT keyboard media keys will function when connected to an A2DP device.
That's basically what the two devices I mentioned do. The first goes from the analog output of the wheel buttons, converts them to USB keyboard keypresses based on some preprogramming, then the second takes the 'usb keyboard' and makes it a bluetooth keyboard. That said, if you have any electronics experience, and it sounds like you do, you can probably do the same thing with an arduino + BT shield, one that supports HID. Maybe a little trickier, but probably a little cheaper.

As for the latter point, they almost certainly will, my keyboard works fine while also paired to an A2DP device. I don't see any reason this should be different.

Quote:
My end goal is to use Tasker to intercept the media keys based on application. So, for instance if my eBook reader is reading using TTS, I can pause it, or if the Nav app is up I can mute it, or music.. you get the idea.
Any particular reason you need to bring tasker into it? If the apps you use support android's system controls (which you can usually get to by dragging down the menu bar on the left), the media buttons should work out of the box. Using the system player, rdio, and pandora, the media controls on my keyboard work great. Actually, even the application buttons do, which is kind of cool.
__________________
alexwhittemore is offline  
0
Reply With Quote
      06-09-2013, 10:53 AM   #8
Fmstrat
New Member
 
Drives: 2007 335i Coupe
Join Date: May 2010
Location: Apex, NC

Posts: 17
iTrader: (0)

Quote:
That's basically what the two devices I mentioned do. The first goes from the analog output of the wheel buttons, converts them to USB keyboard keypresses based on some preprogramming, then the second takes the 'usb keyboard' and makes it a bluetooth keyboard. That said, if you have any electronics experience, and it sounds like you do, you can probably do the same thing with an arduino + BT shield, one that supports HID. Maybe a little trickier, but probably a little cheaper.
Why would I need an arduino? As long as I grab a BT keyboard that has analog media buttons, I can hide the keyboard under the dash and direct solder the analog steering wheel buttons to quick connects that run right to the solder points for the keyboard. I've also been looking at BT Remote controls, as they usually emulate the media keys of a keyboard. This would just make things easier as they're smaller. Am I missing something?

Quote:
As for the latter point, they almost certainly will, my keyboard works fine while also paired to an A2DP device. I don't see any reason this should be different.
Perfect, good to know.

Quote:
Any particular reason you need to bring tasker into it? If the apps you use support android's system controls (which you can usually get to by dragging down the menu bar on the left), the media buttons should work out of the box. Using the system player, rdio, and pandora, the media controls on my keyboard work great. Actually, even the application buttons do, which is kind of cool.
Play/Pause don't work for TTS (Text To Speech). On long car rides, I have an application that reads a book back to me. I need tasker to intercept the Play/Pause command when that app is active to control TTS.

Thanks again,
Ben
Fmstrat is offline  
0
Reply With Quote
      06-09-2013, 03:50 PM   #9
alexwhittemore
Major
 
Drives: 2009 Crimson 328i
Join Date: Oct 2012
Location: Los Angeles

Posts: 1,487
iTrader: (0)

Quote:
Originally Posted by Fmstrat View Post
Why would I need an arduino? As long as I grab a BT keyboard that has analog media buttons, I can hide the keyboard under the dash and direct solder the analog steering wheel buttons to quick connects that run right to the solder points for the keyboard. I've also been looking at BT Remote controls, as they usually emulate the media keys of a keyboard. This would just make things easier as they're smaller. Am I missing something?
Not necessarily. That may work. The problem is the way the buttons are wired stock. The buttons themselves are wired to a resistor ladder such that each combination outputs a unique voltage on a single wire leading out. For one, that means you're trying to feed a bunch of extra wires up the steering column and solder them into a button module which may or may not be sealed or accessible.

But the bigger problem is the circuit that monitors the buttons for the car will almost certainly not behave desirably in the presence of the circuit that reads keypresses for the keyboard. You'll almost certainly run into the issue where adding in the keyboard actively breaks the normal functionality.

Using an arduino+bluetooth just means you can cut to the chase, so to speak, and make one device that accomplishes the goal of the other two combined - reads the analog voltage off the stock button module to decode button presses, then

Quote:
Play/Pause don't work for TTS (Text To Speech). On long car rides, I have an application that reads a book back to me. I need tasker to intercept the Play/Pause command when that app is active to control TTS.
That's a bummer, but fair enough solution.
__________________
alexwhittemore is offline  
0
Reply With Quote
      06-09-2013, 04:07 PM   #10
Fmstrat
New Member
 
Drives: 2007 335i Coupe
Join Date: May 2010
Location: Apex, NC

Posts: 17
iTrader: (0)

Quote:
Originally Posted by alexwhittemore View Post
But the bigger problem is the circuit that monitors the buttons for the car will almost certainly not behave desirably in the presence of the circuit that reads keypresses for the keyboard. You'll almost certainly run into the issue where adding in the keyboard actively breaks the normal functionality.
Ahh, that's where our needs differ. I could care less about stock functionality

Thanks,
Ben
Fmstrat is offline  
0
Reply With Quote
      06-09-2013, 04:46 PM   #11
alexwhittemore
Major
 
Drives: 2009 Crimson 328i
Join Date: Oct 2012
Location: Los Angeles

Posts: 1,487
iTrader: (0)

Quote:
Originally Posted by Fmstrat View Post
Ahh, that's where our needs differ. I could care less about stock functionality

Thanks,
Ben
That doesn't necessarily matter. You still can't just splice one circuit into the next and hope it works, although if you remove power to the button module, it's more likely to.
__________________
alexwhittemore is offline  
0
Reply With Quote
Reply

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 10:01 PM.




e90post
Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
1Addicts.com, BIMMERPOST.com, E90Post.com, F30Post.com, M3Post.com, ZPost.com, 5Post.com, 6Post.com, 7Post.com, XBimmers.com logo and trademark are properties of BIMMERPOST