Very cool idea!
About a year ago, my friends bluetooth OBDII reader inspired me to replace the stock head unit in my M3 with a tablet. Progress has been sporadic but has picked up lately. Here's a brief overview:
Components: Samsung Galaxy Tab (Wifi only), Sparkfun IOIO board, Tab dock, Custom power and I/O circuit board, e46 BMW M3
Summary: The tablet plugs into the dock which I'm using to breakout the USB and audio connections. The USB data is split off into the IOIO board and audio to a single ended to differential IC amp. The IOIO is basically a microcontroller breakout for android devices. When used in conjunction with the IOIO library, you can write apps that make use of digial I/O, PWM, UARTs, etc. Pretty awesome. And theres a 3A 5V regulator powering everything. This plugs directly into the stock wiring harness which contains power, audio, and IBus.
New here so hopefully they let me post pics...
Comments welcome...they'll give me a chance to respond and get my post count up so not everything needs moderator approval.
e39Bimmer: In plain sight.
Regarding the app, can you give me more information on the app? I'm not sure it would work with my board because the app I wrote has to run a separate thread to communicate to the IOIO board.
Lots and lots of work for a minor update.
I found the correct combination of commands to trick the system into playing audio directly from the Tab! Unfortunately it appears I mixed up the ground on my audio connector so I only get one channel at a time. A quick rewire aught to fix that.
I also re-wrote my Ibus message parser to correctly capture more messages. I was just grab a bunch of bytes, taking the first good message, and throwing the rest away. Java is not my favorite language for this sorta stuff. But with much frustration, I think I built myself a decent IBus logger for android devices. Now all I have to do is eliminate the IOIO board and I could probably cut the parts cost in half.
you may have figured out the last piece of the puzzle. the puzzle being how to use a galaxy tab without the head unit. will that app run in the background?
how does the steering wheel communicate with ibus? is it something as easy as a resistance value that could be read by the ioio board via the analog input?
nice nice work!
Currently the app does not run in the background. The next big step in development will be to change the app into a service. Then I can have it process messages in the background and broadcast anything of interest to whatever other apps I care to write (music player, vehicle info display, etc...). I believe the steering wheel actually outputs it's own Ibus messages. When I took it apart there was a fair amount of circuitry along with the good old Ibus wire in it. So its actually talking serially along with the rest of the systems on the car. No analog voltages.
As for my audio problems, I just swapped the wires and now have stereo audio from the tab. I was getting a fair bit of hiss but some bypass caps on the boards audio output fixed that right up. I'm thinking about actually going through with a second board spin now to see if I can get away with eliminating the IOIO board entirely.