E39 M5 HUD Installation
Defi Basis Unit
Here is the Defi Basis unit. The unit goes for about $150.00 online. Below you can see the basics of what you get. As you will see, the install is fairly easy and I did this in a few hours. There is one catch with speed display as the stock unit will not properly display speed. It works pefectly as a tac and I'm working on a simple adapter for the BMW speed signal which should allow the unit to display speed. Right now you can install it and use it as a HUD tach only in about 1.5 hrs. It turns out the frequency of the speed signal off the BMW wheel sensors is too high for the unit to calibrate to at 40 mph. I believe this can be overcome with a simple divide by 2 circuit. I'm working on this now and will post my results. (See section at end of this write up for more information about this issue.)

The unit consists of a display unit that mounts on the dash and a control unit that mounts remotely. There is a simple cable harness that is used to provide power and input signals to the control unit. The cables plug in using simple molex style connectors.

The first task was to remove the dash trim to expose the screws holding the lower dash panel in place. I decided to mount the Defi control unit under the drivers side dash area where I could tap into the OBD-II connector. The OBD-II connector provides switched power ( +12V ) , ground and the crankshaft sensor / engine speed RPM signal.
Since we'll be hooking into the vehicle power and wiring, it's best if you disconnect the battery before doing this.
So first off, remove the trim by gently prying from the bottom, then top.
Next I removed a small screw from the bottom of the steering column that holds a plastic cover over the bottom of wheel and is attached to the lower dash. This is all one unit and you have to detach this first.

Next you need to remove the screw cover and long screw that holds the lower dash to the upper dash. This one was originally hard to find until I realized there was a cover over the screw.

With these removed you can remove the screws that hold the upper dash in place. There are a few screws along the top and bottom that can easily be removed.

Remove the screws along the top of the dash as well as the four under the lower lip of the dash. I don't have a photo of those but you can easily see them. There are 3 or 4 or them and they are along the seam where the leather lower dash meets the black plastic insert that goes back to the firewall.


With the screws all removed you can drop the lower part of the dash board. Sit in the drivers seat and lower the left side (towards door) first. You will notice there is a large block of styrafoam mounted to the backside of this part. You need to gently lower the left side first and slide the whole assembly out carefully. It's not that hard, just take your time.
Remove the OBD-II connector by sliding the blue locking part forward to release the plug. You can then simply push it out using your thumb from the other side.

This is the OBD-II connector we will use to hook up to the Defi Control Unit.

With the lower dash removed you have eash access the ODB-II connector and the handy grommet BMW put in so you can run the cable to the Defi control unit. Here I've pulled the Defi Control wire harness up through the grommet in the black plastic cover.

Here's a shot of the grommet. I was able to run the wires up through this handy location. The display unit wire gets routed through here as well.

Now for the beef. I used Pin 9 off the OBD-II to connect to the Defi RPM (engine speed) signal. Power is also available on pins 1 and 16. One is constant 12V the other switches on with the ignition. I used pin 16 ( switched 12V ) Ground is available on either pins 4 and 5. These are the only connections you need if you want to simply use the Defi as a tachometer.

I spliced the (3) connections into the OBD-II connector. Defi supplies the red wire splices. These worked fine and are sized right for the guage wire used

Next I placed the Defi display unit on the dash and routed the cable down to the control unit by pushing it in the grove along the pillar. It fit in quite nicely and you don't really notice it at all. I routed the display cable down under the dash and through the grommet. This and the harness connector will attach to the Defi control unit.

The vechicle speed wire ( green on the Defi harness ) was supposed to go to a
speed signal. After studying the vehicle specs I figured I could use the speed pulse generated by the ABS sensors. Each wheel sends speed pulses to the ABS unit but these signals are also sent to the DWS. The DWS is a tiny unit mounted behind the glove box which counts pulses from each wheel and makes comparisons to detect low tire pressure. This is the tire defect monitor. This is where I decided to get the speed pulse.
I removed the glove box and routed the green speed signal wire from the Defi over behind the Nav display so I could connect it to one of the wheel sensors to the DWS. Below you see the green wire from the Defi coming out from the dash. I have removed the glove box. The phone cord looking thing is my iPod power adapter that is hardwired.

With the speed signal wire in place, you can button up the drivers side of the dash. Install the OBD-II plug back in its socket using the blue locking device. Slide the dash back up into place and screw everything back together. You should have (2) two cables coming out of the grommet under the drivers side dash. These connect to the Defi control unit. One from the display unit on the dash and the other wired to the OBD-II and over to the DWS.

I decided to mount the control unit using velcro to the side panel. This is out of the way but not too hard to get to in order to adjust the brightness etc. The Defi remembers your settings so the next time you start the car, it is in the same mode as when turned off. Once programmed and set-up, you rarely fiddle with these.

You can't really even see the unit from the drivers perspective but you can reach down and push the buttons if needed. Once setup, I found only needed to adjust the brightness and I did this only when I started the car. So no need to fiddle with the buttons while driving.
Next I hooked up the speed sensor signal from the DWS located behind the glovebox.

The DWS unit is located up behind the sheet metal and has a blue 18 pin connector. It was really hard to see this and I couldn't get a good picture. The DWS is about the size of a pack of cigarettes and snaps into place. Its the one with the blue locking connector. You can unplug the DWS by unlocking the plug and removing it from the DWS unit.
Here is a shot of the DWS. You need to unlock the black lever to remove the blue plug.

The pin-out of the DWS connector is as follows:
DWS Control Module
Pin 1 (White w/Red stripe & Yellow bands) K-bus to splice X10116
Pin 4 (Brown w/Red stripe) Rear left wheel speed to splice X1101
Pin 5 DWS initialization switch ground to DWS switch Pin 6
Pin 6 (Yellow w/Green stripe) Rear right wheel speed to Pin 22 of black 40-pin DME connector X60004 on A6000
Pin 9 (Brown w/Black stripe) Ground to ground spliceX10012
Pin 10 (Green w/Gray stripe) Voltage supply Fuse F23 to splice X1280
Pin 12 (Yellow w/White stripe) Front right wheel speed to splice X10184
Pin 14 DWS initialization switch signal to DWS switch Pin 5
Pin 16 (Yellow w/Red stripe) Front left wheel speed to splice X10183
I choose to use pin 12 ( Yellow w/White Stripe ) as my speed signal. This connected to the front right wheel sensor. I spliced this into the Defi green speed sensor wire and plugged it back in.

With the speed signal attached. I re-installed the glove box, connected the car battery and fired the unit up.
The Defi powered up fine and displayed my RPM speed correctly after I configred it for an 8-cyl engine.

Both the Defi and my instrument cluster read 600 RPM. They were in perfect sync. The Defi is easy to program and you simply use the buttons on the control unit to configure it. Once done, it remembers its settings even if you disconnect the unit. ( must have some flash memory built in)
The unit comes set for KPH, so you'll need to set it to MPH. You also need to set it for an 8cyl engine as 4 cyl is the default. Next you need to set the speed pulse. The instructions state to put the unit in pule program mode. This can be done while the car is idle and your not driving. You then need to drive the car 40 mph. Once your at 40 mph exactly, you push the set button on the control unit. This programs the unit so that it knows how many pulses equate to 40 mph. This turned out to be a problem.
The wheel speed sensor issue
The control unit needs to be programmed to count the number of pulses generated by the speed sensor when the car is travelling at 40 mph. The range of pulses at 40 mph needs to be between 20 and 270. When in program mode, the unit will display the number of pulses it is receiving. For my E39 M5, I was getting 197 pulses at 20 mph ! At 40 mph, the Defi maxed out at it's upper range of 270 pulses. It appears the M5 generates approximately 200/20 or 10 pulses for every MPH. Too fast for the Defi
The Defi Basis Box clearly states an applicable speed pulse of between 1,274 and 2051 pulses/mile. The instruction sheet in the box states the unit works with speed a speed pulse between 20~270 pulses/second at 60km or 40mph. None of this matters if you don't know how many pulses/second or pulses/mph your particular car generates.
At first, I simply programmed the set the Defi up at 20 mph instead of 40. In this case the Defi displated 40 MPH when I was actually driving 20MPH. I drove around and sure enough, it tracked fine and was simply off by a factor of 2. When the Defi said I was going 80 MPH, I was going 40 MPH. All I needed was a way to divide the source signal by 2.
The solution I'm working on is to use a simple CMOS D-Flip Flop to divide the wheel sensor signal by two. CMOS is nice because I can simply use the 12V car power supply and wire the thing up easily. A single cmos ic connected between the DWS wheel sensor and the defi control unit should do the trick by converting the default BMW range of 10 pulses / MPH down to 5 pulses / MPH. At 40 MPH the M5's 400 pulses will be divided by 2 and the Defi will see only 200 pulses which is easily in its range. Even at 10 mph, the unit should work fine. ( 10 MPH = 100 / 2 = 50 pulses, again in the stock range )
I hooked up a scope to the DWS sensor input to take a look at the sensor signal. Jacked the car up a bit and spun the wheel. The waveform was a clean enough square wave that it should trigger the flip-flop. It was about a 6V p-p signal. Hence my idea of a simple div/2 circut.
I'm going to create a little breadboard circuit based on a cmos 4013 configured to divide by 2. I'll insert it between the DWS signal and the input the Defi control unit. Unfortunately nobody stocks cmos around here. So it will probably take me a week or so to get this done.
Once I have this I should be able to configure the Defi for the M5 and have a proper speed signal.
- Tom