# Steering Wheel controls via an iPad as source



## captainobvious (Mar 11, 2006)

What ways can this be accomplished? If I have steering wheel controls and I want to be able to use them in conjunction with an iPad as the primary audio source...
I know you can get PAC units which will provide a conversion of some sort. Do they take Canbus and convert to something else? How do they interface with current basic headunits...through an aux or satellite radio interface? Is there any software that can provide an interface between a Pac and the iPad for controls like volume up/down, track up/down, etc...?



Thanks !


----------



## Timelessr1 (Feb 12, 2010)

I think it will come down to what will be the actuall device that will power your speakers. Take for instance if you own a Ford with a Sync radio system. in this case you can remove the front OEM radio section leaving the actual radio brain and Sync still connected to the car...then use your ipad as your new "radio screen" and audio source and have it plug into the USB input to Sync. Now you can use your steering wheel controls and the OEM radio is whats still powering the speakers...not the ipad.


----------



## south east customz (Jan 17, 2011)

Only way I have seen is with Sony radios that have app control and ASWC part from tsunami


----------



## Neil_J (Mar 2, 2011)

I'm doing just that in my car! My steering wheel controls to an Axxess ASWC, which goes to an Arduino microprocessor and custom shield, and finally, to a Bluetooth keyboard emulator module. This is DIY of course, but it works great, I've got play/pause, ff/rw, next/previous track, volume, mute, wake, and a few others as well. All wireless to the iPad, and also works with my CarPC depeding on which I pair it with.


----------



## Neil_J (Mar 2, 2011)

If there's interest in making my Arduino project into a commercial product, I could make a small batch of them.. Anyone interested, please let me know. Cost would hopefully be less than $75.


----------



## captainobvious (Mar 11, 2006)

That's awesome Neil. I'm going to tag Pseudo on this ac well as he is looking for the same.
What would be contained in the module- the Arduino processor/shield/KB emulator ?


----------



## Neil_J (Mar 2, 2011)

Yep, that's about it. The Arduino will run off of switched 12V, so that part is easy. I can either piece together off the shelf modules, in which case it's just plug and chug, no real development effort there. Or I could try and make a lower cost board that would lower the cost a bit, but would only be viable if two dozen or so people were interested. That would basically just be a custom board with a microprocessor and the bluetooth module and a terminal connector, would be considerably cheaper, and would run the Arduino bootloader (ie it would be Arduino compatible), and turnaround time would likely be 3-4 weeks. All of the code has been written, and it works quite well, with iPhone, iPad, android, notebooks, laptops, tablets, CarPCs, and anything else with a Bluetooth keyboard that senses multimedia playback keys.


----------



## metanium (Feb 2, 2007)

I am doing this also, but I got lucky. I stream music from iPad thru my my factory HU and the factory steering controls allow control of volume & track up/down on iTunes, Pandora, Track 8, & I*HeartRadio. Also, my factory HU connects with 2 Bluetooth devices at once, so if I'm streaming music from my iPad, I can recieve or place a call hands free from th steering wheel controls.

From the factory HU signal goes into Bit Ten -> Amp -> etc.


----------



## Pseudonym (Apr 17, 2006)

so this custom piece wouldnt actually hook up to the source? it'd be connected via bluetooth?


----------



## Neil_J (Mar 2, 2011)

Pseudonym said:


> so this custom piece wouldnt actually hook up to the source? it'd be connected via bluetooth?


It's basically making your steering wheel controls (and whatever other buttons/knobs you want to hook up to it) act like a bluetooth keyboard for your music device (assuming it supports Bluetooth keyboard pairing). This is just like throwing an actual bluetooth keyboard in your car and pairing it with your device, except it's more convenient because you can use your steering wheel controls.

The signal chain goes: 
Steering wheel -> CanBUS or whatever interface your car uses -> Axxess ASWC -> 1/8" "headphone-style" TRS connector -> Arduino -> Bluetooth modem module -> radio waves -> iPhone/iPad/laptop/whatever

The Axxess ASWC is programmed to accept the steering wheel commands and output unique pulse codes for each button (I chose the Alpine protocol as it was publicly documented). The Arduino reads the pulse codes, figures out which button it's supposed to be, and then sends a serial command to the bluetooth module, which tells it to simulate a keypress. Luckily, the bluetooth HID protocol contains definitions for multimedia keys like play/pause, volume, eject, etc. These work with iPod touch, iPhone, iPad, and others like I mention above.

Per your question, it doesn't really "hook up to the source", it's a wireless bluetooth connection to the music device. You can sit it down in the passenger seat, or put it in the little pocket behind the seat, and it will start playing when the car starts, and stop playing when the car shuts off. Pretty cool if you ask me 

The full list of commands I have at the moment:

Volume up
Volume down
Mute
Play/Pause
Next Track
Prev Track
Next Album
Prev Album
Stop
Fast Forward
Rewind
Eject (laptops w/CD drives only)
Screen brightness up/down (Only tested w/Apple products)
Wake screen up (iOS devices only afiak)
Virtual keyboard toggle (iOS devices only afiak)
Eject (on iOS devices, this disconnects the bluetooth device. On a PC/laptop, it ejects the CD)
Goto the "home" menu (iOS devices only)
Switch to next/previous app (iOS devices only)

Now, the cool part is, you can map any of those to when you hold down a button for a certain amount of time, or do combinations of buttons... And obviously, start/pause playback when the car starts/stops, all automatically. You don't need to use all of the commands above, but you could if you got ambitious.it's all configurable in the arduino sketch that I wrote.


Hope all this makes sense. I can do a youtube demo video if that helps.


----------



## Pseudonym (Apr 17, 2006)

this sounds exactly like what im looking for.


----------



## Neil_J (Mar 2, 2011)

Rough cost:

Bluetooth HID module: $44.95
Arduino: $22
Arduino shield: $13
Misc. connectors and parts: $5
Axxess ASWC: $49
Labor: $20

Total: $153.95 ($104.95 excluding the Axxess module which you'd need regardless). A mass-manufactured version would cost considerably less, this is more of a prototype cost. Still trying to figure out if a small niche market is there or not.


----------



## win1 (Sep 27, 2008)

sub'd


----------



## eviling (Apr 14, 2010)

Timelessr1 said:


> I think it will come down to what will be the actuall device that will power your speakers. Take for instance if you own a Ford with a Sync radio system. in this case you can remove the front OEM radio section leaving the actual radio brain and Sync still connected to the car...then use your ipad as your new "radio screen" and audio source and have it plug into the USB input to Sync. Now you can use your steering wheel controls and the OEM radio is whats still powering the speakers...not the ipad.


Man that makes me wish I got a ford not a Chevy lol that's bitching i would be all over that haha 

Sent from my EVO using Tapatalk 2


----------



## _sxua_ (May 25, 2013)

Neil_J said:


> to a Bluetooth keyboard emulator module.


Why are you using HID instead of obvious AVRCP? Is there some kind of problems with it?


----------



## Neil_J (Mar 2, 2011)

Because I have no idea what that acronym means, admittedly :-/ I'll have to look that one up and get back to you.


----------



## Neil_J (Mar 2, 2011)

I've been pretty busy vacationing over the last few weeks, but I'm back and managed to get the SWC interface that I talked about mostly working last night. Should be fully integrated in another day or so.


----------



## Chaos (Oct 27, 2005)

The market for this type of product is definitely thereviable right now... it would be fantastic if a device such as what Neil_J describes was readily available.


----------



## _sxua_ (May 25, 2013)

Neil_J said:


> Because I have no idea what that acronym means, admittedly :-/ I'll have to look that one up and get back to you.


I think, this is all you need (you don't even need an Ardiuno as well) - Bluetooth stereo earphones module bluetooth speaker hsp hfp a2dp avrcp bluetooth module-inSpeakers from Consumer Electronics on Aliexpress.com


----------



## slowride (Jan 26, 2009)

Sub'd for this. Want to see where this is going.


----------



## Neil_J (Mar 2, 2011)

_sxua_ said:


> Why are you using HID instead of obvious AVRCP? Is there some kind of problems with it?


OK I finally got around to looking it up and yea, that would have been a good way to go in hindsight  Here's the cool part. I *think* I can do that from my Raspberry Pi with a regular old Bluetooth dongle. So I'm not really at a loss... The HID module is still great for pulling my iPad out of standby and doing other stuff. I've got some more research and experimentation to do on the ACRCP stuff.


----------



## [email protected] (May 31, 2013)

i need five of these i am building custom motorcycles and i am using an ipad for my radio. the motorcycles have volume control and track skip on the handlebars so i am interested in buying your device. please let me know if you can make some please give me a call @ Jim Nasi Customs 623-879-8600 ask for mike i really do think there is a market for these out there


----------



## [email protected] (May 31, 2013)

or email [email protected] thanks


----------



## Neil_J (Mar 2, 2011)

Loud and clear guys, I'm still working on the pulse timing for the steering wheel controls (one day it works, one day it starts misbehaving). Counting 500 microsecond pulses on an inexpensive microprocessor can be tricky, I've just got to cover some more corner cases in the software to make it 100% reliable. I'll be posting back here as soon as I get this stuff sorted out. Sorry it's taken so long already, but keep in mind that I work full time, I'm just a hobbyist type guy doing this stuff in my spare time, and I've had a lot of family stuff going on. Hope you guys understand. I'm very interested in selling a few of these so I'll post back when I have something working.


----------



## nubz69 (Aug 27, 2005)

Honestly the MEX-GS600BT makes this really simple as long as you don't need digital output.


----------



## jcmeyer5 (Apr 7, 2016)

So did you ever finish this out? I am looking at doing something similar, although with a CAN-bus shield for the Arduino instead of the ASWC. Yeah, it will take a little more futzing, but I like futzing.

Thing I haven't quite wrapped my head around is communicating to the iPad to do an AVR command. BLE 4.0 doesn't support AVRCP as far as I know, and Apple locked down the BLE_HID profile.


----------



## Silvercoat (Dec 5, 2013)

There are a few ways to skin this cat.
If you look at how Soundman does it for example, he removed the factory Ford radio faced and hooks up the IPAD via bluetooth. This works because basically it is acting no different than a bluetooth connected phone, devices with the right profile can take basic commands. Another step would be to use a Sony radio with app remote. Basically along the same lines except the Sony radio paired with an ASWC for example acts as the interpretation module. All the IPAD does is act as a source.

How the ASWC works from my understanding is a few ways. Basically it has 3 kinds of inputs, Resistive, Multi Wire Resistive, Single Wire Can, Multi Wire CAN. You can tell which wires roughly do what if you install them in lots of vehicles. Metra will not come right out and say which wire does which kind of stinks. Basically this module takes the factory signal which it reads, and outputs the type of signal the aftermarket radio wants.

Now not all of the manufactures use the same type of input signal for their radios. This is why certain radios have certain steering wheel controls features, lag, etc.
From what I have come across, here are some examples.

Sony/Pioneer: Reads a voltage value on a plug
Alpine: Reads data pulses, hard to emulate
Kenwood/JVC: Reads resistive values on a single wire input
The rest: N/A or they use a 2-Wire input system

The ASWC-1 can be programmed to take any resistive input wires and spit out what you want. When you have a data car it gets wacky.

There is also the JOYCON line which can read data signals and is a bit better at controlling. basically it spits out through USB to a virtual keyboard.

Basically most cars will have one of the types above (resistive is very common) and you need to take that input and spit out something the IPAD can use. The easiest way is through bluetooth. There are a number of bluetooth controllers as well.

If you can figure out what the car is putputting (via an Oscope) and you can spit out what you need, this is my understanding the basis behind the Arduino solution.


----------



## jcmeyer5 (Apr 7, 2016)

Yeah. I'm in a 2008 Ford Expedition. There is no Sync. I do have a road map for what I am trying to do, but it's that last piece (BLE to iPad) that I don't quite have figured out. I'm probably over thinking it. When the components get here, I can start playing.

I already know that my truck is a 2 wire CAN system. I'll do some data logging to find the right messages. Then I can set up the Arduino to process them. Incidentally, I am also keeping the stock radio and thinking about programming a CAN driven interface for it on the iPad. Already have the artwork done.


----------

