Interface to iBus / KBus for 1993 BMW

Hi All,

I have only seen a few topics on this forum about interfacing arduino with the BMW iBus.

I am restoring a 1993 BMW 850CI and I am looking to replace the MID , Radio and temperature controller with a Android based tablet that will communicate via Bluetooth to the Arduino controller.

I am not sure what all this entails but am willing to work on this project and looking for advice from others who may have already done something similar.

Any references as to where to start would be appreciated. Not sure which Arduino components etc I need to start with to get this project off the ground.

Your advice is much appreciated.

Thanks Kish

This IBUS Thread may be of interest.

...R

Hi Robin2,

I looked at this thread before posting which was helpful. You were a major contributor to this post so I appreciate your experience in the Arduino space.

The additional help that I need is what Arduino hardware controller / bluetooth shield I need so I can get started with capturing the data stream from the iBus via bluetooth. In my research process I did find some additional info on other sites in reference to an android app that was created for a different model BMW so I am in the process of downloading that reference and see how they may of utilized the data captured to then output to the android device.

Also I am gathering info from web on the IHKA controller which controls the different flap stepper motors in the AC/Heat system.

From my reasearch I see that there are three Buses that work together the KBus, iBus and MBus

kishoreh:
The additional help that I need is what Arduino hardware controller / bluetooth shield I need so I can get started with capturing the data stream from the iBus via bluetooth.

How does the IBUS data get to be transmitted by a Bluetooth device ?
Have you the sepecifications for how that happens so you can build your Arduino code to match it ?

...R

Hi Kish,

I've got quite a lot of experience with the iBus and BMW electronics in general, and will try and help where possible.

Hardware wise, you have a couple of choices. Most of the LIN bus transceiver chips (eg MCP2025) can be made to work, but I never found it very easy to deal with bus contention, where two devices are trying to talk on the iBus at the same time. For testing purposes, they should be fine, and are cheap and readily available. Going forwards, I would advise you to track down the Melexix TH3122. This deals with bus contention much better, and has proven totally reliable in my circuit. The nice thing about these chips, is that they both have a built in 5v regulator that can power the Arduino.

Not sure about the Bluetooth side, but I suspect anything that can transmit serial data would work.

I would also suggest you get a Resler iBus interface & Navcoder software. Both of these will make bench testing much easier.

Ian.

Hi Robin2 - I think Ian helped out with your question about how to send the ibus info to arduino.

Hi Ian,

I have seen your posts on this forum and I also have seen some posts on a few bmw forums. Your help is appreciated.

So what I understood from your post is that I should use Resler's iBus interface and Navcoder to get all the hex values for the different key presses and various data from the different systems and use this info to help develop the app for Android.

Can I connect Resler's iBus interface to the Arduino Mega ADK through the USB host on the board and use a ble 4.0 bluetooth shield from seed for example and connect the tablet via bluetooth to send and transmit the different data.

I understand I would need to create an app on the Android device to generate and capture the data.

From what I have read and I am understanding is the Melexsis TH3122 chip in Resler's iBus allows the single wire iBus interface to convert to RX / TX and allows for the proper bus contention / collision detection as you mentioned above.

Do you know what stepper motors are used in the AC system to control the mixing flaps?

Not sure if I am on the correct path for this project.

Thanks to both of you for the help so far.

kishoreh:
Hi Robin2 - I think Ian helped out with your question about how to send the ibus info to arduino.

I think it was the other way around - Thanks Robin :smiley:

So what I understood from your post is that I should use Resler's iBus interface and Navcoder to get all the hex values for the different key presses and various data from the different systems and use this info to help develop the app for Android.

That's pretty much the case. Hook it up to the car and press buttons and log all the traffic. Navcoder gives readable translations of pretty much every command, so it's quite easy to see what's going on. Armed with this info, you can develop the app.

Can I connect Resler's iBus interface to the Arduino Mega ADK through the USB host on the board and use a ble 4.0 bluetooth shield from seed for example and connect the tablet via bluetooth to send and transmit the different data.

I'm not sure to be honest. It may work like that, but I'm not sure if you would need USB drivers etc.

From what I have read and I am understanding is the Melexsis TH3122 chip in Resler's iBus allows the single wire iBus interface to convert to RX / TX and allows for the proper bus contention / collision detection as you mentioned above.

The TH3122 doesn't in itself deal with bus contention. It has an output pin that goes high whenever it receives traffic. You can use this signal to tell when it's 'clear to send', but you need to do it in software.

Do you know what stepper motors are used in the AC system to control the mixing flaps?

I don't, but there's some info in this document (scroll down to the M-Bus):

http://www.e38.org/bussystem.pdf

Hi Guys,

Does anybody know if E34 have iBUS and if so, where is it used?

@katit, you have re-awakened a 3 years dead Thread that has no reference to E34.

I suggest you start your own Thread and explain what E34 is and give enough background info so that people can help you.

...R