Tuesday, March 17, 2009

BMW E36 multi-function steering wheel retrofit

The leather on my old steering wheel looked really worn, so I started looking for a new wheel. New leather would be an option if the steering wheel looked better, but an old 4-spoke without the BMW badge is not something very aesthetic...



On the other hand, for some reason I don't really like 3-spoke wheels, which left me with a single option - a 4-spoke wheel from a newer E36.



I started searching on e-bay and several other auction sites and I found out, that e39 and e38 had a very similar steering wheel, except it had buttons. I began a long search for a DIY on retrofitting a multifunction steering wheel to an E36.



As it turns out, not many people attempted to do this. I found a Slovenian guy Vlakci at bimmerforums.com, who retrofitted the wheel to his E36, but he used a very different approach than what I was hoping for - he used an OEM head unit and cruise control from the E39 - these can communicate with the steering wheel almost without modification. This solution did not seem ideal, as my head unit is better than factory and a I spent about two months finding and retrofitting the cruise control - I decided to do it my own way.

The steering wheel was produced in 1995, which means that the buttons are not connected directly to the I-bus (which my E36 doesn't have at all), but the signal is first sent to an intermediate "MFL unit", where it is transcoded for the I-bus and for the cruise control unit. I was hoping that the communication between the buttons and the MFL unit was analogue, based on different buttons having different resistances, but I was wrong.

I had to disassemble the buttons and look inside. I found an electronic circuit with several basic components and a microcontroller labeled U-6050B. I spent some time googling and found out that it is a multiplexer made by Temic and that its purpose is to encode a status of up to 8 buttons and send it over a single line. I studied the spec.

http://www.datasheetcatalog.org/datasheet/Temic/mXyzurtr.pdf

According to the specification, there has to be a U-6052B demultiplexer on the other side of the line that reads the status of the buttons and controls relays - one for each button. This was a very positive information, because in E36, all communication between components (except for the diagnostic connector) is realized this way - nothing is digital, only different voltages on every line. Additionally, according to the spec, it is possible to connect two multiplexers in series and read up to 16 buttons - this is exactly how the steering wheel handles two rows of buttons.

Getting the demultiplexer U-6052B is not very easy these days - it's been discontinued some 15 years ago. I decided that I didn't really need the MFL unit which contains a pair of those demultiplexers. I downloaded Eagle, made a schema according to the specification and had a local guy print the circuit board for me.



One of my friends then helped me desolder the tiny demultiplexers from the MFL unit and solder them to my custom circuit board.



Then I soldered some additional resistors and capacitors and after three days of bug fixing, the circuit started working - whenever I press a button on the steering wheel, one of the outputs of the circuit board is connected to ground.







Next I had to deal with controlling the E36 cruise control. At first I thought it would be trivial, because the cruise control switch works by connecting different pins of the cruise control unit to ground, but as it turned out, it is the other way around - the CC switch needs to connect CC unit pins to +12V. How do you "convert" GND to +12V? The easiest solution would be to use relays, but I wanted something without moving parts. I read about transistors on Wikipedia and I found a way to use them instead of the relays.

http://www.rason.org/Projects/transwit/transwit.htm

Another complication was that one of the pins of the CC unit works differently - it needs to be under voltage at all times and interrupting this connection causes the CC unit to disengage. I experimented a little bit with two transistors in series, but then I decided to use the relay for this purpose, because I never use the CC switch to turn the cruise control off, so the relay will almost never be used and I don't care if it has moving parts or not. Plus my experiments with the transistors didn't work :D



Apart from the buttons, I had to deal with airbag and horn connectors and buy a new steering wheel switch holder, which is fortunately very cheap.







Currently, the wheel is in the car, it looks great, it feels good (although it is a little bigger than the previous one), the turn signals work, the horn works, the button lighting works (along with the interior lighting intensity regulator) and the right-side buttons work. I also use the bottom-right button for switching OBC functions, because I don't have the OBC-enabled turn signal switch.



The next step will be to use the left side buttons for controlling the head unit. My Clarion has a jack for "OEM steering wheel controls", but I cannot find any specification for this input. A company called PAC makes universal adapters and Clarion makes one itself, but they are both expensive. My best bet now is that the head unit is controlled by a resistance ladder between the two contacts on the jack - I will have to try and see. If you have any experience with this input, please let me know.

Labels: , , , , ,

27 Comments:

Blogger Unknown said...

You can use a NOT gate to take a positive signal and convert it to a negative. It basically reverses the signal. Turns High to Low and Low to High.
http://en.wikipedia.org/wiki/Logic_gate

March 20, 2009 at 5:36 AM  
Blogger Jaroslav Klíma said...

A actually thought about the NOT gate, but all logical gates in the store use 5V. I need all voltages to be +12V...

March 20, 2009 at 12:08 PM  
Blogger Unknown said...

O my f.... god, finaly! :D

I've been looking for this retrofit for 1 year now! :P

can you send me a schematic and circuit-car print?
Please contact me at: kriss_kiss5@hotmail.com

November 10, 2009 at 12:00 AM  
Blogger Marin Malnar said...

Great work with the steering wheel and the dashboard. I've tried taking out the dash from an E36, and I know it's not easy!

I would love to see some more posts about your modifications!

November 12, 2009 at 3:32 PM  
Blogger Jaroslav Klíma said...

Thank you. I have been working on another big electronics-related mod for a few weeks now (maybe months?), but I'm not completely done with it yet - a blog post should be ready in a few days after it is finished.

November 12, 2009 at 3:45 PM  
Anonymous matrak-85 said...

Can you send me a schematic and circuit?
My mail is matrak-85@hotmail.com

January 4, 2010 at 9:14 PM  
Blogger Jaroslav Klíma said...

I am afraid I don't have it any more. It doesn't matter though, because I copied the circuit straight from the Temic U-6050B datasheet with no modifications: http://www.datasheetcatalog.org/datasheet/Temic/mXyzurtr.pdf

January 4, 2010 at 9:39 PM  
Anonymous Cody said...

I have a 98 E36. Will the Multifunction steering wheel you used fit right on to my car, or do I need a different "Slip ring"?

February 23, 2010 at 5:56 AM  
Blogger Jaroslav Klíma said...

If I'm not mistaken, the wheel should fit right on your car because the new slip ring is a part of it and the airbag and horn connectors are the same. That doesn't mean the multifunction buttons will work, though.

February 23, 2010 at 7:50 AM  
Anonymous Cody said...

Is the airbag the same? I have the wheel that's similar to your new one (without the buttons) but I heard the e39 wheel you used is a little bigger. Is the airbag the same, or different? Is the steering wheel noticeably larger, to an awkward point? Or do you not really notice.

February 23, 2010 at 6:01 PM  
Blogger Jaroslav Klíma said...

The airbag is different and if your wheel is the same size as my old one (on the first picture) then it is 1cm smaller in diameter than the e38/e39 wheel.
The difference is noticeable, yes, but I've had the wheel for a year now and I still prefer the buttons over a smaller wheel.

February 23, 2010 at 6:16 PM  
Anonymous Anonymous said...

instead of a relay, you could use an opamp in open gain mode (ie gain approximates to infinity but is limited to supply voltage)

March 1, 2010 at 9:28 PM  
Blogger José Luiz Martins said...

Very very good job! Congratulations ! I'm looking forward to upgrade my E36 steering wheel for one with sound controls.

I have one question... Do you think this way works with CD-43 ?

Thank you !

June 4, 2010 at 3:11 AM  
Blogger Unknown said...

Very very good job! Congratulations ! :)
Can you send me a schematic and circuit?
My mail is s.kubaj@tvn.pl

May 4, 2011 at 5:20 PM  
Anonymous Anonymous said...

Dobrý den, mohl bych Vás požádat o zaslání schématu zapojení a postupu montáže na email: i.kovar@seznam.cz?

Děkuji

July 24, 2011 at 9:15 PM  
Blogger l4mm3r said...

Dobrý den,
Mohl bych poprosit o zaslání schématu na email?
l4mm3r@crazynet.cz

Děkuji

October 22, 2011 at 8:37 PM  
Blogger Jaroslav Klíma said...

Please don't ask me for schematics, I don't have it anymore... More importantly, the right way to do this is to decode the IBUS signal using a chip like the TH3122 - then you can use any E46/E39/E38 steering wheel you want.

Nežádejte mě prosím o zaslání schématu, již ho nemám. V každém případě je mnohem lepším řešením dekódovat signál IBUSu pomocí čipu jako například TH3122 - potom bude vaše řešení fungovat s libovolným volantem z E46/E39/E38 a nejen s tímto kormidlem...

October 22, 2011 at 9:29 PM  
Blogger simirator said...

Dobrý den,
Mohl by jste mi říci jaké byly hodnoty součástek které jste použil?
Děkuji za odpověď

April 14, 2012 at 1:23 PM  
Blogger Jaroslav Klíma said...

Kterých součástek? Jediná zajímavá součástka je U-6052B a hodnoty těch ostatních jsou podle datasheetu k ní.

April 14, 2012 at 2:58 PM  
Blogger simirator said...

Omlouvám se za nepřesné popsání.
Myslel jsem jaké jste použil hodnoty součástek rezistoru Rosc a Kondenzátoru Cosc.
Děkuji za odpověď

April 15, 2012 at 1:39 PM  
Blogger Me said...

Hello - I'm glad I found this post because I am trying to understand how the buttons of that steering wheel work. I have the heated version of that steering wheel and want to transfer all the heating parts over to a 3-spoke M sport steering wheel for my e39. The only problem to solve now is making a button on the M sport steering wheel activate the heating element. Can you think of any ideas? Thank you

January 6, 2016 at 9:20 PM  
Blogger christian said...

Are you still alive?

May 5, 2016 at 10:58 PM  
Blogger christian said...

If you were the one to write the Extended Essay on Pacman AI, where can I contact you?

May 6, 2016 at 3:05 AM  
Blogger Jaroslav Klíma said...

"mail" at my domain

May 6, 2016 at 8:48 AM  
Blogger christian said...

Sorry, but what do you mean by that?

May 6, 2016 at 8:13 PM  
Blogger Jaroslav Klíma said...

mail at jaroslavklima dot com

May 7, 2016 at 12:02 AM  
Blogger christian said...

Supposedely it was sent

May 8, 2016 at 1:21 AM  

Post a Comment

Subscribe to Post Comments [Atom]

<< Home