Not sure I understand this. Why would manually connecting it to the i-bus line be harder?
Fromw what I understand, if you connect the radio controls to the yellow i-bus line, you have all the radio controls right away (volume up/down, station selection and forward/reverse).
1998 BMW M3 3.2 Cabrio Alpinweiί III on Schwarz German spec 1 of 12
SMG SRA PDC AUC OBC GSM HK UURS IHKA FGR MFL
IG: https://www.instagram.com/iflok/
I have an aftermarket head unit and an E36 cruise control. Neither of them understands I-bus and I want to keep both. Therefore I have to make my own "decoder". It is much easier decoding a single purpose 1-byte-at-a-time data line between the buttons and the MFL unit than the 8 byte packets travelling on the I-bus. That's why.
1998 BMW M3 3.2 Cabrio Alpinweiί III on Schwarz German spec 1 of 12
SMG SRA PDC AUC OBC GSM HK UURS IHKA FGR MFL
IG: https://www.instagram.com/iflok/
Is it possible to just replace the airbag and not the whole steering wheel from theE38/39 to a '99 E36? or do i have to buy a whole new wheel for the controls? also since you mentioned IBUS, does anyone know what it could control/read in the '99 E36?
thanks
.
DRIVE LIKE HELL.. YOU'LL GET THERE!
I have a related question - the 4spoke wheels on e36 and e38/e39 look the same except for the mf buttons. Are they the same diameter?
What model wheel you have?
The airbags are both single stage (from the e38/e39 steering wheel version we can use) so you don't need a new airbag, just the steering wheel rim or if you have a late M wheel, just the controls and a wire.
I have a spare M airbag wheel with airbag. Today my e38/e39 slipring was delivered at my house. I already ordered some fresh new switchblocks + connecting wire for between the two blocks. These I got 2 days ago.
So as we speak, I have everything to do this conversion. If it's dry this weekend, I'm gonna put the new wheel in.
I found out that the rear covers of the switchblocks have a different locating pin on them than the e36 blank trimpieces. I could've either broken the pin off (there's still 5 large locating pins left so no worries) poke a new hole in the wheel, which is tough in that rubbery-foam or and I did this, simply switch over the covers. It's held on by 5 TX6 bolts.
I have pics of all parts and switchover, which I will post when the conversion is complete.
1998 BMW M3 3.2 Cabrio Alpinweiί III on Schwarz German spec 1 of 12
SMG SRA PDC AUC OBC GSM HK UURS IHKA FGR MFL
IG: https://www.instagram.com/iflok/
I have a '99 323is E36 with the standard stock steering wheel. i don't really want a new wheel. I more or less just want the steering controls in the wheel.
EDIT:
Forget about the wheel I found it on another forum.
But does anyone know what the IBus does on my car?
Last edited by ben323is99; 01-24-2009 at 05:20 PM.
I am trying to get all the info before starting this project. My headunit is BMW Traffic Pro (made by Becker) and hope it will be compatible with BMW steering wheel control ibus signals, I know it has one pin on the rear for ibus.
Did not know that CD43 works with steering controls and that is cool.
My '99 E36 M3 coupe has the cruise control and would like to know how hard it will be to connect with MF control buttons, can this be as DIY or have to take the car at the dealer for reprogram.
Can you please post a part number of the slip ring and wheel tabs (the ones with evrything build in) as if I understand correctly this would be all I need.
the cruise control original on E36 will not work on the MFL!! It has to be switched the module of the cruise control and removed the stalk on the steering colum. An you have to rewire the connector to the new cruise modul for proper pin places + put 2x more wires in. One is for rpm, the other for mph. Only decoding will not work as the unit is not the same
@jarda
How in jesus name will you decode the signal as is already procesed in the buttons. Get this: the buttons on the wheel and the procesing part is one same part whitch can not be put apart. This is not a simple wire1 to button1, wire2 to button2, wire3 to button3 and then under the cluster decoded. You have all the buttons connected to the procesing unit in the switch block unit, then 1 output data cable goes out and it goes under the cluster to the MFL unit where is another time procesed and split in 2x output data wires (one to cruise, one to radio). and you can not put one wire directly to one button on the MF because the slipring has only 7wires (2x airbag, one ground, one horn, one ilumination, one power, one exit to MFLunder cluster decoder modul). Even in the newer type they have eliminated the ilumination and put the cluster MFL decoder inside the MFL switch unit. In not one way you can do it 1-byte-at-a-time decoding but it's a train of bits going on 1 wire with a specific frequancy and leght. If you wan't to build it your self you have to take a serial to pararel chip + connect it to a procesor in witch you will transform the BMW comands in you radio model comands. And pioneer, alpine, sony, JVC have all the jack one wire input for remote control.
If you wan't to keep the aftermarket unit and istall the MFL get a BMW(Ibus) to radio control converter (diferent models for diferent radio models (pioneer, sony, JVC, alpine...) witch are about 30-60$ on ebay.
subscribed for warm weather
#412153
Under each half of the steering wheel buttons there is a U6050B multiplexer and the two are connected together, producing one serial line of data. Decoding requires either a general purpose microcontroller with the right programming or a pair of U6052B demultiplexers. These are no longer in production so I decided I would disassemble the MFL control unit and take them from there.
I have prepared PCB layout for the demultiplexers already and I am having it "printed" right now.
If the circuit works, I should have 16 separate analog signals, one for each button. The E36 cruise control will be easy from there.
I still don't know what the protocol is for the OEM steering wheel controls jack on the head unit, but I am suspecting it is just uses different resistances for each function. I could by the pre-made I bus converter, but
- I would need original e38 radio wiring
- I would need the MFL unit which I am taking apart
- It would cost more money and be way less cool
^^
Wow nice different approach!
Is the multiplexer thing for the old or new style buttons?
This is the PCB from the new type:
(which has a single data output wire for all radio switches and one for all Cruise Control switches)
1998 BMW M3 3.2 Cabrio Alpinweiί III on Schwarz German spec 1 of 12
SMG SRA PDC AUC OBC GSM HK UURS IHKA FGR MFL
IG: https://www.instagram.com/iflok/
This is the old style with separate MFL unit. Multiplexers under buttons, demultiplexers in the unit, I-bus from there. The new style has no MFL unit, just I bus straight from under the buttons.
Okey you don't have a clue of Ibus sistems
First read the page under Ibus on this web site http://www.bmw-carputers.co.uk/
Then look at the topic iBus Core Repository at http://www.bmw-carputers.co.uk/ (click for forum)
about your text
Nope. Its a sequancial binary code 9600 bps 8E1 (8 data bits, Even parity, 1 stop bit). The Ibus has a LOT of codes and with the use of resistance control the sistem would be a piece of garbage. Why because with a small change of temperature the wire resistance between in radio and the MFL would change for the amount of next order (example: you press volume up, and instead the phone calls the last number).
The second thing that your sistem would't work:
- some of the Ibus codes have more values for the same button (example <1second press of ">" would put the next memory station, >1s second press of ">" does the search of the next good station).
- some Ibus codes have the priority before others (example on the cruise control: you press the set button and one microsecond before instance you press the OFF button on error. The two codes by logick would be overlaping and the MFL module would put the set button as was pressed last, but it DOESN'T. why? for safety resons the OFF button has priority and isn't over laped until is executed)
That with multiplexers isn't possible in any way. It's obligatory a microprocesor that can do orders like IF(button1 presed < 1s) do this, ELSE do this other, IF (button2 > 1s) do this, ELSE do this, IF (button OFF cruise presed = 1), execute; delay (for execution time)...
I do have a clue about the I-bus system, that is why I decided not to use it.
Let me explain.
First, let's talk about the cruise control buttons.
On E38 the signal goes like this
Buttons -> MFL unit -> Cruise control unit -> Cruise control actuator
There is no I-bus in this chain. The signal is first multiplexed to a single line in the buttons, then demultiplexed in the MFL unit (not sure about this, maybe the unit just passes it forward), then sent to the cruise control unit. There is no logic until this point, the only information coming to the cruise control unit is which buttons are pressed and which are not (it is actually an 8 bit mask). The cruise control unit then applies logic (like decide which button has priority) and sends commands to the actuator.
What I am going to do here is take the demultiplexer from the MFL unit and use it for my own purpose. There is a very detailed spec of this demultiplexer on the web and its main purpose is to demultiplex the 8 bit mask and operate 8 separate relays, which is exactly what I want. I will use there relays to simulate the E36 cruise control switch. As for two buttons pressed at once, I am (almost) sure that the E36 cruise control unit has a way of dealing with that, but if it does not, it's still not a big deal.
Now, lets talk about the OEM head unit controls on the steering wheel
On E38 with OEM head unit the signal goes like this
Buttons -> MFL unit -> I-bus -> OEM wiring -> OEMhead unit
that is because the OEM head unit understands the I-bus natively
On E38 with aftermarket head unit the signal goes like this
Buttons -> MFL unit -> I-bus -> OEM wiring -> I-bus adapter -> head unit jack
What I want to do here is demultiplex the signal from the buttons just like do with cruise control buttons, skip the whole "MFL unit -> I-bus -> OEM wiring -> I-bus adapter" part and connect directly to the aftermarket head unit jack. The problem is that I can't find the spec of the jack's protocol anywhere but as I said, I am pretty sure that it responds to changes in resistance. I'll have to do some experimenting here.
I am only uncertain in two areas
1) whether the signal from the cruise control buttons is demultilpexed in the MFL unit or in the cruise control unit
2) whether the OEM stereo connects directly to the I-bus or whether there is some kind of translator somewhere along the way
but none of these two questions are relevant to what I am trying to do here.
Next time, please read carefully what I wrote before saying that I don't have a clue about something.
And sistem is spelled sYstem
The best thing would be to use and eeprom connect it to the buttons on the MF, then the output on a pararel to serial converter --> goes on the wire of the slipring --> serial to pararel converter --> hold on part of circuit and at the end an eeprom that controls by transistor the original cruise stalk on E36. But you would still have problem with overlaping of orders from buttons if pressed at the almost sime time.
Last edited by vlakci; 01-26-2009 at 07:45 PM.
nice convertible man like the hard top im looking for one if u any body w one for sale let me know
[quote]1. On the stalk of the E36 there is no posibility of putting the lever in two diferent position, like with the MFL it's possible (pressing two button on one time). if putting in the same time acelerate and decelerate on the E36 module (with your sistem is possible) you would disable the cruise control as it would get error and in error it shuts down for safety.
Yes, you cannot put the switch in two places at once, but I would still expect the control unit to do some error handling just in case of switch failure. Maybe it does not. It will still work, just without the error checking, we'll see.
2. Explain how will you with a multiplexer put a sequence with a specific frequency only using the one button from the MFL? The same question for the demultiplexer how you will transfor the binary serial (or by your way resistance) in a pararel same stage output. Only with mux and demux can not be done. You need a frequeny generator that keeps the data in correct speed (MF side), a logic unit that sends the corect information on the one wire (MF side) triggered by the buttons, a serial to pararel inverter (radio/cruise side), a information holder (that when the LSB comes the MSB is still there) and then the decoder that tells you what request was made with the received binary code
The multiplexer circuit is already under the buttons, it consists of two U6050B microcontrollers that have only one purpose - each gets input from up to 8 buttons and the input is the serialized to one line.
The demultiplexer is as easy as connecting two U6052B microcontrollers together the right way. They each have eight outputs for relays. All the logic and timing is in these microcontrollers already, see the datasheet here http://doc.chipfind.ru/pdf/msk/u6050b.pdf
3. the multiplexer/demultiplexer is a non logic one way sistem. The MFL is a two way (input/output at same time) with priority comands
I don't think there is two way communication between the buttons and the MFL unit, why would there be? The unit gets input from the wheel and from the I-bus and makes decisions, not the buttons.
4. The cruise control sistem is not Ibus but it's the same sistem type as Ibus only other incoding.
Ok, but that does not change anything
5. The cruise control can not aplly the logics as it can get lets say 1/3 of the binary code and then the new code (because one new button was pressed before the code before was send completly). The cruise would be only looking , because it would get 1/3 old code and the new code over it. But it's by safety resons made that if the old code was "OFF cruise control" is sent completly. And this logic is done by the MFL and not by the cruise as the cruise can not do it!
My cruise control gets its commands on separate signal lines, not one data line. That's the difference between e36 and e38/e39 cruise control unit. When I am done it will work like this:
-I press a button.
-The multiplexer sends a button mask like 00001000
-The demultiplexer receives it and activates the fifth relay
-The fifth relay grounds the adequate CC unit pin.
I explaind to you why it can be resistance (not enought accurate) and you steel think that is resistance?? Do you realy think that a non buggs sistem multimilion project would operate on resistance mesaurament?? Budy from the use of OBC protocol it's all digital in cars.
I am talking about a jack on the back of my Clarion radio. It's purpose is to receive commands from ANY OEM steering wheel. It is capable of receiving only like 5 commands: volume up, volume down, previous, next and source. Why on earth would that be digital? And even if it is, it will be a very simple protocol.
Did you read the link I gave you about Ibus and codes?
The code coming out the MFL is a 9600 bps 8E1 (8 data bits, Even parity, 1 stop bit), a standard code is 50 04 68 3B 01 06 (previous track). In binary this is (this comes on the wire out the MFL to the radio): 0101000000000pause000001001pause011010001pause0011 10101pause000000011pause00000110pause
In the pause the parity bit is checked, if not the code is requested again
A demux/mux can't chech parity, can't do pause. There's the logic I am talking about.
I will not be decoding this. Not the I bus, not the cruise control signal line. Only the serial line from the buttons
two way sistem as between MFL and the output wires then going on the slipring. example: If pressing the phone button it gives 01011111 out on the Ibus line. If phone connected to phone module, the phone module answers back at the MFL. and if there is no phone will answer 10100010 and the MFL will send for the same button as before a different sequence (not 01011111 but) 01011000 until the phone will answer 10100001 (phone connected) and only then it would send the first original code 10100010
cruise control module and stalk: If any kind of error is pressent the cruise shuts down and has to be put back in standby.
For the mux under the buttons in the MFL: under the left buttons or under the right buttons? I had the right buttons apart and it was a lot of electronics under not only the U6050B and some resistors.
Sony and Pioneer are controled by resistance.
http://www.mp3car.com/vbulletin/inpu...e-control.html
For Clarion, JVC, alpine (same protocol) I can't find the data (but are diferent from Pioneer and Sony)
Okey, for the audio part of the MFL it could work with the sistem of resistance. You would have to solder resistors in the wright seqeunce from switch to switch and then put the resistance output to the before Ibus line on the slipring (but first you must find the protocol of the wired remote for clarion - if based on resistance)
For the cruise control it would work in one way (mux on input - line - demux at exit) but I'am 99% you will have cruise control inoperation in many times (it will shut down), because the module would have dobble relay trigger caused from fault codes or overlaping codes from the mux to the demux.
Last edited by vlakci; 01-27-2009 at 05:44 AM.
for the output: you press one button and the second button in a time where the first sequence is not already all on the line between the mux-demux. When you would press the second button a new sequance would overlap some last bits of the data before. For debug this problem you would have to have a holdon part of circuit that would pause the second pressed button when all the first data is send. And because for safety resons in the cruise control this very important. The OFF on cruise control has the most priority of others buttons (and the clutch switch and the stop switch)
Try getting this:
- you have cruise control active and holding 70mph
- something hapens on the road and you by instinct press with your hand the OFF button and for error the acelerate button at a microsecond after the OFF.
with your sistem without priority logic you insted of turnig off the cruise would acelerate, because the + button was last on the mux circuit.
Beside that theres the problem of overlaping data and bug code. exp:
- you press + and shortly after - on the buttons
- the code send from the MUX is one part of the + and then because not finished the begging of -. With this you have on the line one fault code that could significate the OFF button or in worst case could do on the demux a doble relay trigger in witch would error the cruise and turnit off.
thats way the Ibus and cruise control has a so long data sequence + priority logic. almost no possibility of bugs + the parity bit check if any bit it's read a the end or skipped
--------------------
but think it for a second way. You convert the audio buttons on the MFL. If you change the radio to an other you have to re-do all.
If anything hapens and you lose you buttons (airbag deployment) you would have to id again. If you put in a carputer or LCD you have to re-do-it
Isn't better lo leave the MFL wheel as it is and do al the electronics at the end? You bild a circuit with a serial to pararel converter (you can use the demux you have) and then on the exit put a EEPROM and put in the codes you want. I already gave the link for the MFL Ibus exit binary MFL codes and from there you trasform it by relays to serial resistance, that can br reprogramed in 10min without removing the wheel, or in a your code protocol for use in advance
With the 8bit Ibus line you can have 2^8 options for programing in witch about 8 are used for the MFL.
Last edited by vlakci; 01-27-2009 at 10:54 AM. Reason: Automerged Doublepost
No wonder why not many do this retrofit to non MFL BMW's.
It really looks complicated for many of us...so connecting cruise control will be more simple by using E39 cruise module, right?
Another question I wanted to ask is since the fleft tab buttons control the sound volume and tracks is it possible to transfer (or hardwire) one set of buttons (+&-) to right side tab so the volume or tracks can be controlled from right side, this way both left and right tabs will be used for radio.
.
Oh it's not very complicated, I am just looking for the cheapest way to do it, plus some increase in size of my electro-penis
If you do it like Vlakci then all you need is the wheel, a reprogrammed e39 CC control unit, OEM radio and connect it all together (not plug and play, but close)
As for copying the functionality of one side to the other - you would either need a custom MFL unit or custom circuit boards under the buttons. The result would probably be similar to what I am doing.
OR you could make your own unit that would listen to the ibus and translate the CC commands to radio commands.
Last edited by jarda; 01-27-2009 at 11:41 AM. Reason: Automerged Doublepost
a reprogrammed e39 CC control unit...
Does it have to be taken to a dealer or this is DIY?
Bookmarks