Page 1 of 9 123456789 LastLast
Results 1 to 25 of 211

Thread: my home made OEM radio -> ipod controller.

  1. #1
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6

    my home made OEM radio -> ipod controller.

    Sorry if this has been done before. If so please just point me to the link. I've searched but could only find bits but not a completed DIY version of the ipod interfaces.

    I currently own one of the premade Ipod interfaces (USA spec) but there a few things I don't like about it. I find myself needing another one and thought. What if I could make my own. I could make it work just how I want. For better or worse that is what I've done


    The heart of the controller is an Arduino board. Currently using a Arduino Mega but when I put it in the car will probably use an Uno [edit. Found it best to just stick woth the Mega's]. The Arduino continuously montors the BMW I/K bus and sends the right responses to the Radio to make it think it has an CD changer when it doesn't (pre 2002 cars). This allows the Audio line out (in the dock connector) from the Ipod to be routed into the Radio similar what is described in this thread: (except without the CD changer present)
    http://forums.bimmerforums.com/forum...highlight=ipod

    The Arduino then interfaces with the Ipod using it's serial protocol. info on the Ipod protocols:
    http://www.adriangame.co.uk/ipod-acc-pro.html

    The text messages on the display of the radio are sent simulating mobile phone messages. It works but the Radio at times tries to over write with putting up the useless Disc and track numbers. The program needs a bit more work to over write them quickly so they are never seen.

    The project has MOSTLY been to have some fun and learn. My son and I have been doing it together and have done major rewrites on the program about 4 times. It's still a work in progres but looks like it will work good enough to be used in my car.

    ************Edit: Program and schematic now located here https://drive.google.com/drive/folde...eJ?usp=sharing ************
    Last edited by Thaniel; 04-11-2022 at 01:15 PM.

  2. #2
    Join Date
    Sep 2008
    Location
    NC
    Posts
    899
    My Cars
    2000 528iT, 2000 528i
    Youtube says video isn't available to mobile devices.

  3. #3
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Stupid YouTube. Since music is playing during the demo you tube has limited the videos availability. I'll have to do another with some other sound or something.
    Last edited by Thaniel; 06-08-2013 at 01:25 AM.

  4. #4
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Uploaded a different video since youtube didn't like the music. Some of the Swedish letters don't display on the radio but the music doesn't get the copywrite error on youtube.

  5. #5
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Been busy with things. But finally soldered up a board and got this working in the car. Made a video and took some pics. Can't seem to get it to link from the iPad. Maybe later.

  6. #6
    Join Date
    Sep 2013
    Location
    United States
    Posts
    4
    My Cars
    2004 BMW 325I Sedan

    What head unit

    Officially interested in this and does it need to be a specific unit to do this or is it like a dice,usa spec, etc..
    Last edited by silv3rwind; 09-09-2013 at 03:55 PM.

  7. #7
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by silv3rwind View Post
    Officially interested in this and does it need to be a specific unit to do this or is it like a dice,usa spec, etc..
    Glad to see someone is interested. Not to modivated to post more otherwise
    The unit mimicks the CD changer to put the radio into CD changer mode. Then it listens for messages over the K-bus sent by the Head unit and steering wheel. I think those messages are pretty standard. So would work on any BMW with the same message formats. But if the messages are slightly different then just alter the program to the new messages. The beauty of a DIY instead of a store bought. Don't like random being turned off everytime the car is restarted. Then change the program :-)

    Here's a link to my latest you tube. Sorry won't play on portables due to you tube noticing there is actually music being played....Duh.
    http://youtu.be/uM62oEMMmbc

    Worked out some more bugs this weekend. No I'm going to work up a better curcuit to make the Ipod think it's in a Dock and charge it properly. Previously had just been plugging it into a car to USB charger. I'll post my program up on google docs here soon.

  8. #8
    Join Date
    Sep 2013
    Location
    United States
    Posts
    4
    My Cars
    2004 BMW 325I Sedan
    How is it wired? could you possibly post pics of the setup

    Im new to this im currently going to college to get certified in software engineering but im still fairly new to this. In the video are you already using the arduino uno?

  9. #9
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Yes in the video The arduino is in the mix. For the Audio signal the path is

    Ipod -> CD changer cable -> Radio -> speakers

    For song titles, skip, playlist, artist etc selection the path is:
    Radio (or steering wheel button) -> Kbus -> Arduino -> Ipod

    or

    Ipod -> Arduino -> BMW Kbus -> Radio

    The Arduino (and the program I put in it) is the interpreter between BMW and IPOD messages. It doesn't get into the actual audio signal.

    Note here and in the future I use "ibus" and "Kbus" interchangeably. In the E46 the messages are sent on the same bus. Sometimes referred to as the I/K bus.

    Here is the Arduino to BMW interface. (circuit is similar to what an OBDII tester would use to interface with the BMW) The ipod Serial Rx and Tx are connected to the Arduino as well (not shown in the schematic). The Line out from the ipod (not head phone jack) is also connected to the Audio input where a CD changer would go. There are MANY ways this could be accomplished and many choices of hardware that could be used. I often have a difficult time deciding which way to go when both ways would work. Anyway.

    It's not that complicated. But then after adding in more components to charge the Ipod, let the ipod know it's in an ipod Dock, keep the Ipod from draining it's battery when the Arduino is off, it starts to look more crazy. the 4th Gen classic ipods I use in my cars don't need most that stuff. But will try adding it anyway as this is a hobby and it sounds interesting.
    V3 schematic.png

    Here is one of my test Circuits on a bread board. On the bread board columns 1-5 are left overs from something else. The connector in column 8-10 is where I plug the K-bus, power and ground connector that would go to the CD changer (in the trunk).
    photo 1.jpg

    Here is my first soldered up circuit / prototype if you will. it's a bit crude but it's to get things tested. I ended up having to rework it several times. My soldering was a bit rusty and I also made some design changes. The blinding LED's are comming from a Car USB charger that I dissasembled and mounted to the board. It takes the 12V and turns it into 5V for powering the Arduino and charging the ipod. The ipod is connected into things by taking a $4 dock extension chord and cutting into it to get the Rx, Tx and auduo line out connections. The thick black Cables are the BMW wiring for the CD changer. The Red/white and blue/white twisted pair are the audio connecions that go straight from ipod chord to BMW. The black/red twisted pair is the Rx & tx from the ipod (this is what controlls the ipod and the ipod sends song info etc). There is a 1K resistor in the Rx line of the ipod to drop the 5V output of the Arduno closer to the 3.3V of the ipod Rx line. The end of the Ipod dock extender i plugged in a standard USB ipod chord and plugged it into the USB charger (safe easy charging). This is the circuit as it is was in my wifes car. It seems to work. I've made some small changes since.

    photo 2.jpg

    Below is my version two of a soldered up board (arduino is not in the picture). Same as the above less the USB charger. I purchased 2 more USB chargers but couldn't find the exact one I bought before. I don't like them as much and after looking at them have decided I'm probably just as good to just put a voltage regulator and the associated resistors to get proper charging for later model ipods/iphones. Would make a cleaner easier install.

    I'll also add a transistor circuit on the Ipod Tx line to break the flow when the power is off. When no power is applied to the ipod the power would drain out into the Arduino. I thought the car power to the CD changer plug would stay on all the time. So I wasn't worried about it. But it appears to go out after a period of time of inactivity.

    photo 3.jpg

    That's the Harware side. Honestly I hadn't expected to spend much time on the hardware side. But many of the Kbus (or Ibus) interface circuits I looked at and or tried were not really adequate or way over kill or aimed at interfacing with a PC and not a micro conroller. Wasted a bunch of time on that. But can't have the Kbus interface poor or it could interupt many of the accesories that use that bus. you'll notice I omitted the activity LED from the 2nd board. The less power pulled off the Kbus the better. And who is going to see it blinking in the trunk anyway.

    The software side is where I had planned to play. Still learning some of the quirky things the radio and steering wheel controls do and making adjustments. For example. If skip on the steering wheel is pressed a message is sent on the K bus. then the radio hears it and sends skip again on the K bus. Originally the program was listening for both and would skip twice. Little things like that. There is a bunch of quirky things it does. And think that is why the "store bought" controller I have doesn't do what I want. They didn't account for those quirks. For example every time the car starts up the radio sends a "random off" message to the CD changer. WHY? Makes no sense. So in my program I ignore that message. And some others where the radio has no buisness doing things I don't want

    Quote Originally Posted by silv3rwind View Post
    How is it wired? could you possibly post pics of the setup

    Im new to this im currently going to college to get certified in software engineering but im still fairly new to this. In the video are you already using the arduino uno?

  10. #10
    Join Date
    Sep 2013
    Location
    United States
    Posts
    4
    My Cars
    2004 BMW 325I Sedan
    How is the audio hooked up? Sorry for my ignorance

  11. #11
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by silv3rwind
    How is the audio hooked up? Sorry for my ignorance
    iPod line out to BMW audio in (where cd changer would plug in)

  12. #12
    Join Date
    Nov 2006
    Location
    ATL
    Posts
    1,401
    My Cars
    328 CI, R.I.P 92 325I
    great job! if you can get this working flawlessly and can provide a simple install method I will absolutely buy one from you as I want something like the grom/usa spec without the issues they create.


  13. #13
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by MRPOWER View Post
    great job! if you can get this working flawlessly and can provide a simple install method I will absolutely buy one from you as I want something like the grom/usa spec without the issues they create.
    Thank you for the comliment. The install method is the same as the others. Just plug into the CD changer plug. However my plan is not to sell anything but to show people how to make one themselves. Then if the program isn't to their liking they can just change it

    Thaniel

  14. #14
    Join Date
    Nov 2006
    Location
    ATL
    Posts
    1,401
    My Cars
    328 CI, R.I.P 92 325I
    Quote Originally Posted by Thaniel View Post

    Thank you for the comliment. The install method is the same as the others. Just plug into the CD changer plug. However my plan is not to sell anything but to show people how to make one themselves. Then if the program isn't to their liking they can just change it

    Thaniel
    that sounds good, I am no engineer but with guidance and help with understanding the program language I'm pretty sure I can put it together. I really like the possibility for customization of the interface. is it possible to add a 3.5 jack and Bluetooth ? that would make this a complete package for me


  15. #15
    Join Date
    Mar 2011
    Location
    Raleigh NC
    Posts
    71
    My Cars
    01 M3
    Would definitely be awesome to do blue tooth connectivity. Thaniel, I will be picking your brain later in the E46 LS motor swap thread.

  16. #16
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by MRPOWER View Post
    that sounds good, I am no engineer but with guidance and help with understanding the program language I'm pretty sure I can put it together. I really like the possibility for customization of the interface. is it possible to add a 3.5 jack and Bluetooth ? that would make this a complete package for me
    Yes it is quite fun to dislike something then change it. My daughter didn't like the message it displayed when waiting on the iPod. So in two minuets we changed it to what she wanted. A 3.5mm jack is no problem. Bluetooth? I'm sure it could be done. But I have no clue. However tonight I did drive the car and put on a Bluetooth adapter on the iPod cable. The sound would come through but no iPod control or song titles.

    Quote Originally Posted by Roooster View Post
    Thaniel, I will be picking your brain later in the E46 LS motor swap thread.
    Yah. I need to quit fiddling with the iPod and tidy up some of those motor swap circuits.

  17. #17
    Join Date
    Aug 2011
    Location
    Sofia
    Posts
    1
    My Cars
    '92 328 turbo
    Also interested in such a project, what do you think about using a mp3 shield for the arduino instead the ipod.
    The gravitech one http://www.gravitech.us/mp3pladforar.html, or sparkfun https://www.sparkfun.com/products/10628

  18. #18
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Here is a link to the program that I'm currently using. It's not polished and there are tons of debug statements in it but if anyone is curious what it looks like:
    https://docs.google.com/file/d/0BwfS...it?usp=sharing

    Few of the quirks of the BMW that I've also discovered. When the Radio starts up the Cd changer (ipod) it sends "scan off" and "random off" everytime. Also to put the titles up on the display it is done as if it is a cell phone sending information to the radio. So while a message (sent using this method) is on the display touching a radio button (skip for example) first takes the radio out of cell phone display (puts up the disc and track info on the screen) and then another press to make the change. So if you want to skip it requires 2 presses of the skip button on the radio. However. The steering wheel buttons do not suffer from this problem. I just use the wheel buttons. But a passenger wanting to change tracks or playlists will have to press twice . This is the case on the store bought ipod controlers too since it's a feature of the radio not the ipod controler.

    Since I don't have this in my car (mine is an E36) I get feedback from My wife. She has been using this for awhile now and her complaint is that there is "noise" (alternator whine) "sometimes" when the song is quiet. I checked into it and there is alternator whine all the time coming through. Tracked the source to the ipod charger. If the ipod is playing using it's batteries then there is no noise. I'll look at some other power sources for the ipod and see if this can be easily eliminiated. I don't think this issue is unique to my setup.


    Quote Originally Posted by nParMaTuK View Post
    Also interested in such a project, what do you think about using a mp3 shield for the arduino instead the ipod.
    The gravitech one http://www.gravitech.us/mp3pladforar.html, or sparkfun https://www.sparkfun.com/products/10628
    Something like that should be very possible. The program parts I wrote to capture the key presses and messages from the wheel and radio of the BMW could be used. Would just need to change the ipod comunication to match the MP3 sheild.

    Thaniel

  19. #19
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quick update. I found a old car ipod adapter chord. Used it to power the ipod instead. The alternator whine is virtually gone. So I've left it hooked up that way for now. I've ordered a "isolated" power supply chip to try on my version 2 board. Will post how it turns out.

  20. #20
    Join Date
    Nov 2006
    Location
    ATL
    Posts
    1,401
    My Cars
    328 CI, R.I.P 92 325I
    Quote Originally Posted by Thaniel View Post

    Yes it is quite fun to dislike something then change it. My daughter didn't like the message it displayed when waiting on the iPod. So in two minuets we changed it to what she wanted. A 3.5mm jack is no problem. Bluetooth? I'm sure it could be done. But I have no clue. However tonight I did drive the car and put on a Bluetooth adapter on the iPod cable. The sound would come through but no iPod control or song titles.
    I actually wanted to use Bluetooth for phone calls so basically be able to switch between the iPod/3.5mm jack and Bluetooth when I have a call. similar to what the grom with the Bluetooth kit does.


  21. #21
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    This is the power isolator I bought
    power isolator.jpg
    Hooked it up on a breadboard last night. No alternator whine. It's $5 more than the USB chargers but the sound quality is worth it. Soldered it on to my version2 board. After I get some more testing done to ensure it's good I will supply the complete circuit diagram


    Quote Originally Posted by MRPOWER View Post
    I actually wanted to use Bluetooth for phone calls so basically be able to switch between the iPod/3.5mm jack and Bluetooth when I have a call. similar to what the grom with the Bluetooth kit does.
    I'm sure it could be done. Would require more hardware to do it.

    Thaniel

  22. #22
    Join Date
    Apr 2010
    Location
    South Africa
    Posts
    32
    My Cars
    BMW 120d
    Thaniel,
    This is another great BMW Arduino project. Keep up the good work!

  23. #23
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Got the version 2 to work. But bmf app is too stupid to shrink the picture .

  24. #24
    Join Date
    Oct 2013
    Location
    United Kingdom
    Posts
    1
    My Cars
    2000 BMW E46 318i
    This looks pretty interesting. I was originally looking for a way to simply get my HU to think my CD changer was working. I've installed the simple aux jack, but the CD player still needs to work for the HU to play the audio. If you know any way to sort this it would be great.

    However, this idea looks much more fun. Only problem is that I have an iPhone 5, with the new plug. Do you reckon there's a way for it to still work, despite it all being digital?

  25. #25
    Join Date
    Nov 2005
    Location
    Kilmarnock, VA
    Posts
    1,873
    My Cars
    E53, E90, Triumph GT6
    Quote Originally Posted by danr2k5 View Post
    This looks pretty interesting. I was originally looking for a way to simply get my HU to think my CD changer was working. I've installed the simple aux jack, but the CD player still needs to work for the HU to play the audio. If you know any way to sort this it would be great.
    If you have the older E46 radio it needs the responses sent to the HU to mimic the CD changer. The program and hardware I'm using and documenting do this. They also do a lot more but if you only wanted to fool the HU into "AUX" mode you could just leave out the ipod stuff.


    Quote Originally Posted by danr2k5 View Post
    However, this idea looks much more fun. Only problem is that I have an iPhone 5, with the new plug. Do you reckon there's a way for it to still work, despite it all being digital?
    I don't know anything about the Iphone 5. I expect one way or another there would be a way to make it work. But it would not be exactly the same. Personally I use old ipods and just leave them in the car all the time.

    Update:

    With that said I drove my wifes car and the program worked great. Many of the problems we had experienced lately were due to my old ipods having some trouble. Some of the problems may have been induced by me not wiring things up correctly some of the times... Oops Soldering up one's own cirucit board is full of opportunities to screw up. Another $15 ipod of e-bay and we are all good again.

    Attached is more or less what I'm using now. the two 12v to 5 v power converters aren't really shown. One standard one feeds power to the arduino (in theory this shouldn't be needed). Another one with isolated grounds feeds power to the ipod for charging. Isolated grounds to attempt to reduce alternater induced whine. But seems some common grounds are needed to maintain comunication. Starting to get out of my depth on the isolated ground topic.

    Obviously don't build the diagram if you don't understand what it is doing. Link to the program is in post#18 or something like that.

    V4 Schematic.png

Page 1 of 9 123456789 LastLast

Similar Threads

  1. My home made E34 shift boot is done finally haha
    By 5mall5nail5 in forum 1996 - 2003 (E39)
    Replies: 30
    Last Post: 08-16-2005, 03:19 AM
  2. check my home made CAI out...whatcha think?
    By speshuled619 in forum 1992 - 1999 M3 (E36)
    Replies: 21
    Last Post: 06-17-2003, 12:11 PM
  3. Check out my home made Amp Racks in my e36...
    By D Unit in forum Car Audio & Electronics sponsored by Bavsound
    Replies: 25
    Last Post: 05-07-2003, 03:26 AM
  4. Great pics off my home made angel eyes...
    By Greenbeemer in forum BMW Rides & Events
    Replies: 10
    Last Post: 02-14-2003, 12:48 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •