View Single Post
      06-02-2018, 02:44 AM   #1
gamesfrager
Banned
Canada
198
Rep
709
Posts

Drives: 2011 328i
Join Date: Feb 2018
Location: Calgary

iTrader: (0)

BMW iDrive turned into bluetooth remote. An old project.

Hello everyone. I have finally managed to get a project working. One that I had in mind since 2013.
I have a 2011 BMW 328i, base with no iDrive, only bluetooth for handsfree, a USB port, and Aux jack in the arm rest.

It started this project when I first got my Nexus 7 2013 tablet. It's the perfect size for car head unit and there are multiple posts online from people installing them in dash or mounting them with various custom mounts and off the shelf solutions.

My setup is a bit different, I wanted a wireless solution. I need to be able to take the tablet with me and put it back in easily.
I want the mount to be part of the dash, not an eye sore. And I wanted to keep charging the tablet.

And that's when I found Xenomix 2X dash mount. It's decent looking and not overly expensive.
but still not perfect to what my end goal is.

Since the Nexus 7 2013 can be charged wirelessly, I thought why not attach a wireless charging board to the mount and use magnets on the mount and on the tablet to hold them together.

And indeed I did, and it worked. But still not looking great.
Anyway, this is a post about iDrive, so my next step was that I wanted to control the tablet.
Driving and operating it is not something I wanted, nor I recommend. So I needed some sort of a wireless controller.
So I set my goal to find a nice looking remote, preferably a bluetooth one.

I searched for all kind of keywords on Google. "modern remote", "bluetooth remote", "cool remote", you name it, I searched it.
The best I found and the closest looking to an iDrive was the TomTom bluetooth remote.
I found one post online on how to connect it and use it to control an Android device.

I managed to use Tasker and AutoInput apps to react to the different keys. It worked ok, sluggish because I was monitoring all the time, and I had/have so many other Tasker profiles specifically to control and change how the table work once connected to my car's bluetooth.
Not to mention the batteries die after a while, and from that post; you can see that repairing the remote with Android is not the simple task.
As a matter of fact, on newer Android OS; it became impossible. So I removed it.

I had the "dream" of turning an iDrive controller into bluetooth remote, have it wired and not worry about batteries. And that's the best OEM look and function you can get. This beats all other solutions. But I'm no electrical engineer, I never soldered in my life (I should start doing that).

So I made a post on rootzwiki website. Hoping for an answer from someone. But nothing.

I found an eBay listing for a CIC iDrive controller, and the price was very tempting. the seller accepted my offer and now I have this controller in my hand.
Not knowing what to do with it.

Until in 2016 I came across this form post (Google translate is your friend, use Chrome browser for best results). That post had videos like this:



At that time, when I contacted Yuriy, he said his controller doesn't do bluetooth. And I asked him if he will be adding that, but he said not yet.

The I came across this:



Same deal, no bluetooth support.



Friend of mine introduced me to his friend, who tried to help me. But being busy with new job position and travel, he couldn't look into it anymore and was facing issues trying to "wake" the controller. So he sent it back to me early 2018.

In March 2018, I bought from a junkyard the centre console trim with the iDrive opening. Mine is piano finish, but you get the idea. Look up your specific part on realoem or go on a junkyard hunt spree.

I tried to search for local custom electronic shops in Calgary. And I contacted Chris Hartman <chris@hartmantech.com>. He was prompt in reply and he told me it would cost quite a bit since research is going to be conducted from scratch.
It would be worth it if it was a commercial product, so I would regain my research investment. But since this was a personal project; the cost wouldn't be feasible.
He advised me on looking up some online resources for Arduino and CAN sniffers, but that means way more time to invest than I have.

So the project was put on hold. Until I contacted Yuriy again in April 2018, thinking I'll just do a wired solution since my requirement of having it wireless is really putting an obstacle.
To my surprise he did add bluetooth. I was very excited. I couldn't wait. So, I arranged to send Yuriy the cost of the controller and the bluetooth module (you can buy only the controller if you don't need bluetooth).

Yuriy is in Ukraine, (Yuri Molchanow <molchanow@hotmail.com>) and the only way he can accept money transfer is through Western Union.
The shipping took 34 days, so maybe arrange with him to send it via DHL or some other express shipping if you can't wait.
I didn't expect it to take that long.

So after 34 days, I got the controller. Here is what you get:
  • controller board
  • wires
  • bluetooth module (if you ordered it)

See his form post.

Here is the wiring diagram (it's posted on that thread as well)


So here is what you will need to get it going:
  • 12 volt power source similar to this one
  • cigarette light adapter. Make sure the wire are not terminated (no plug at the end), so you can connect it to the board.
  • 4 pin header/plug, I got a pack of 4 for $2.7 CAD. Like these . This will plug in the iDrive controller's port. You can come up with any method of connecting it. You can even order the part number ($39 CAD). yea, BMW make lots of money off of little connectors!
  • some sanding paper if you go with the above connector, since it doesn't fit in the space for the iDrive port
  • the software, which is posted on Yuriy's thread. Or ask him to send you what you need
  • multimeter (more on this later)
  • 510 ohm 0.25 watt resistor (more on this later)

After I got the connections all working, I plugged it into my computer, launched his software and it showed up. But it was all in Russian, so it was all jumbled as I don't have Russian language installed. But, after you close the program, you should see a new file generated.
YAMDT_GUIV4_V0950.ini This file holds the configuration for the software.
In there, one of the options (as you can see below) is for language, initially it's set to 0, go ahead and set it to 1. This will make it a bit more readable now

Here is the content of my .ini file:

[MainSettings]
MainTop=0
MainLeft=-7
Lang=1
Log=0
Debug=0
KeyTop=352
KeyLeft=902
KeyVisible=0
TXHeight=251
[DirectoryConfig]
YAMDROIDTOUCH=C:\Users\Sinan\Desktop\idrive\BMW_BT _KEYS.YDT
[DirectoryProg]
PROG=C:\YAM\droid_touch4V0951_CDC_IDRIVE_BT.ldr

The program allows you to set the action/condition and what happens when that's set.
Yuriy was able to login to my computer and he tried to set the software up. But there was an issue. When he switched the baud rate from 100kb/s to 500kb/s the controller board was being disconnected and connected rapidly.

After about 40 minutes or so, Yuriy asked me if I have a voltmeter or multimeter (now you know why you need one) to confirm the leads are getting correct voltage. I didn't have it, so I had to ask for his help later on after I got my hands on a multimeter .
I never used one before, now I love it .

After I sent him an email about my findings, he told me to get a 510 ohm resistor and follow this info
(now you know why you might need it)

After I followed his instructions and I basically just inserted it in the port, it WORKED .
First thing you will know if your setup works with or without the resistor is that after you plug everything and you load the correct settings/profile for iDrive; the controller will light up.

The controller now -my controller- sends the button presses through the bluetooth module as serial commands.
The only Android app that allows me to easily map those serial commands to actions is the Serial Manager app on the play store.

It worked great on Android 6, but didn't detect a thing and crashed on Android 8, and I believe it will crash on Android 7 as well.
I have contacted the developer yesterday, and he mentioned to me that within few days he might push and update .

So hopefully that will be it. Now that my Nexus 7 2013 is really slow, I'm thinking of replacing it with a "phablet". This way I get calls and internet on a data SIM plan. The Samsung S9+ that I'll be getting soon should look nice and be fast. But that's another post altogether about the mount.

I hope I didn't bore you with my "journey" story. I have done and plan to do more on my car. Until then, have a great weekend .



~ Sinan

Last edited by gamesfrager; 09-03-2019 at 12:34 AM..
Appreciate 0