In the whole BMW equivelent I wonder the message centre is like a MIR? Nothing I've sent has done any good (not certain it's getting there yet!) So far I've found the Nav-Bus messages are in I/K bus format. I've been experimenting with an old IKE not in the car to see what I can do with it. If we succeed in that, I can guarantee that I will make the interface that will display coolant temperature on IPK display, or any other info being transmitted on K-BUS line (speed, RPM. When we decode the format, we can try to disconnect TM and send our own messages to IPK. What I need ? I need someone who has IBUS analyzer to connect it and log the message format being sent from TM module to IPK (through pink-black wire). So, I want to make an interface that would read coolant temperature from K-BUS line and send it to the IPK like TrafficMaster sends its own messages. The other 3 unused connections are 1 no connection, 1 battery and 1 Beep disable, none of which are necessary or normally used. The Rover traffic alert device (TAD) simply receives the RF data from the roadside beacons and sends it via the I-bus to the instrument cluster.Īs far as our unit is concerned there are just the 3 wires connected, the 0 volts, ignition +12 volts and the data bus to the cluster. Engineer from Pektron described TrafficMaster module working like this: TrafficMaster module is connected to IKE through dedicated "Nav-bus" line (single wire + 12V + GND), described here:Ĥ. On the IPK (instrument cluster), you can see TrafficMaster module displaying "boot" messageģ. Displaying custom messages on that display (i.e.
To do any sort of work on the BMW i-bus, I recommend the NavCoder i-bus software ( )and the Resler i-bus interface ( ).1. To use this project to contol other functions of the car simply replace the custom messages with the messages you require. The i-bus message this system creates look something like:į2 - source module address (F2 is my data injector module address)Ġ4 - length in bytes of the rest of the data packetį3 - destination module address (F3 is a dummy address)Ġ0 - command type, set to zero as defaultĠ8 - data for the command - this contains a bit field of the status of the various I/O linesĬurrently any i-bus packets with "F2" at the beginning are from the i-bus injector. The extra I/O lines might also come in handy. The crystal oscillator shown in the diagram is optional, I recommend using the internal oscillator to save cost and complexity. I have included a (hand drawn) circuit diagram that includes a very basic but functional i-bus interface connected directly to the Microchip PIC processor.
Other uses are also possible by modifing the code and electronics.The code can also be made to look for certain i-bus messages and react to them, making some sort of custom function module.
It can easily be adapted to read something like a retro fitted i-drive controller to control A/V and navigation functions.
It's worth noting that the code does not impliment the full LIN specification, just enough to work reliably in my car.
If there is bus contention while the message is written, it will write it out again unit it has been sent without errors.
The Microchip PIC code checks that the i-bus is quiet and then writes a custom message onto the bus when any of the I/O lines change state. The i-bus is based on the LIN (Local Interconnect Network) specification revision 1.3 dated 2002.
The BMW i-bus is present on certain older models such as the E46 3 series and the E39 5 series. This i-bus injector project reads 4 * 12 volt digital I/O lines and injects their status onto the BMW i-bus. I am publishing the details of this project as a record of what worked for my purposes. NOTICE: All information provided in this project is supplied without warranty and by downloading it you agree to use it at your own risk.