BMW E23 728 (1986) conversion to VEMS

My friend Magnus BostrĂ?¶m bought a BMW 728 (1986) and needed help to get control over fuel/ignition on this car. The problem arose because he decided to turbocharge it. In stock form the engine uses L-Jetronic and has a 25 pin (2 rows) connector that only controls fuel. Ignition is controlled by the distributor with weights and vacuum. We've managed to find out most of the pinout of the stock ECU harness except: 16


Update 2005-07-24

Since the turbo system had to be removed for annual inspection we had to come up with another method of mounting the IAT sensor. It used to be placed on the pressure pipe between the compressor outlet and throttlebody, but this obviously had to be removed from the car. The new location is in the throttlebody, just past the butterfly, on the plenum side. This will ensure better airflow across the sensor even at low throttle opening, and will also help the situation with heat soak.


One of the sensors legs was heatshrinked and then the whole sensor, before put into the throttlebody. The sensor was glued in place with epoxy. As looks go second hand to function in this car, the wire connection was soldered directly and heatshrinked.

Update 2005-07-09

Here's a picture of the LCD display:


People might be curios to know what it can look like, that's the main reason I put it up here. The contrast is not adjusted properly, we simply took the resistors at hand while building the display case. A somewhat higher value between GND and the contrast pin should be used. With perfect contrast the dark rectangles seen as a shadow behind each characters matrix will dissapear.

Update 2005-05-25

The fuse blew for the box because it shared a relay with the injectors, the wiring is not pretty. The unfortunate mistake of using low impedance injectors had been made, wired three in parallell to two injector drivers. Priming pulse or high load blew the fuse. Additional FETs and the PWM kit will be installed, along with a new injector harness.

Update 2005-05-21

The inductive trigger in the distributor had to go sooner or later for two reasons: It was not accurate and the new head on the engine had a Motronic distrubutor (no trigger - only spark distribution).

A Honeywell GT1 Hall sensor has been mounted on the block to measure a crank mounted 3-tooth wheel. It has proven to work very well so far, with superior accuracy.

A NTC resistor now measures intake temperature, it's fast enough and does a good job, it still suffers from heat soak on idle which goes away as soon as the the throttle is opened. Some other placement of the resistor has to be tested.

A strange problem appeared on update of the firmware on this v3.0 board, the fuse for the +12V that feeds the Genboard blew on update. My guess is that the outputs are set to random values when in the boot loader. Updating the board out of the car worked well.

Check the following:

Random outputs would likely blow fuses for the ignition channels, or let fuel into the intake, but unlikely to blow the fuse that powers genboard: unless an output is shorted to the supply.

Update 2005-03-15

Up till now we have used a Bosch Motorsport temperatur sensor where the application was described as "Ambient Air Temperature". It suffers badly from heat soaking and is very slow to react to changes. It could probably work if used on a naturally aspirated engine - but here the temperature changes are too rapid when the boost comes on. Another problem arises when the car is stopped at a traffic light or the engine is turned off for a short while (hot start). It's placement directly above the engine on the pressure pipe doesn't help, but it has to be there to correctly measure the compressed air.

Alternatives we are considering testing are:

This MSD sensor (GM/Delco?) can be bought for $16 at Summit Racing and works well from what I hear:


Film mounted resistors, used in various non-engine related temperature measuring, are very fast. But an IAT sensor cannot be too fast.

Update 2005-02-22

Movie time!

0.4 bar, bad rev-limit and no ignition tuning and only mapped through VE learning:

Update 2005-02-20

The car has successfully been auto-tuned!
The problems we faced were mainly that the distributor was not set right, the rotor missed and the trigger was all wrong. The MAP hose was connected on top of the butterfly and we got atmospheric readings as soon as the butterfly opened, so it was moved onto the plenum. We had a few wiring issues; the stock fuel pump relay was thrown in the garbage and replaced with two simple relays, one to control the fuel pump through the Genboard and the other to power the Genboard and injectors at the turn of the ignition key.

We need to map the ignition and tweak the extreme ends of the boost/rpm range until we can call it a day.


Even though the exhaust impeller on the turbo looks very tired, it seems to work very well. Response was much better compared to sucking through an AFM flapper air meter.


Update 2005-02-13

Through the help of Emil Larsson the engine started immediately after an evening in the garage. Everything was temporarily setup and a few issues were left to deal with. The problem lies in both the configuration and hardware ignition timing problems, the distributor needs to be modified to trigger correctly and the rotors set to align with the cap.


Wires that were setup directly and not through the stock harness:

  • EC36 5, 21, 26 & 32 (Grounds) Wired through individual wires to new chassis ground.
  • EC36-23 (Flyback rail) to relay that drives the injectors.
  • EC36-27 (Primary Trigger) to the inductive pickup in the distributor. Did you have to use shielded cable or was a simple wire sufficient (even at low-RPM cranking in freezing cold)? - We reused a shielded cable from another stock harness, didnt try without shielded.. The VR trigger distributors seems to change behaviour with RPM, if we have a stable 37 degree advance on idle, it's 32 at 4000 rpm.. with the same n-table setting.
  • EC36-33 (Coil #1) to the coil.

L-Jetronic box pin-out (BMW E23 728 1986)


PinColourPurposeGenboard pin
1GRNIgnition key switched +12VEC36-25 (Vbatt)
3BRN/BLKTPS Full throttle 
4BLK/YLWStarter solenoid 
7GRY/YLWAFM pin 2EC36-15 (Fuel Pump) Harness re-use, wired through AFM connector
8GRY/VIOAFM pin 1EC36-2 (Intake Air Temp) Harness re-use, wired through AFM connector
9RED/WHTTPS P2EC36-1 (TPS Signal)
10BRN/REDCoolant temp sensorEC36-14 (CLT)
12BRN/YLWInjector bank 2 (INJ 4+5+6)EC36-20 (Injector D)
24BRN/WHTInjector bank 1 (INJ 1+2+3)EC36-8 (Injector C)

Coolant Temperature Sensor
(From Chiltons BMW Repair manual)

Temperature (C)Resistance (kOhm)
-10 C9.2
0 C5.9
10 C3.7
20 C2.5
30 C1.7
40 C1.2
50 C0.84
60 C0.60
70 C0.43
80 C0.32
90 C0.25
100 C0.20

Most Bosch and GM systems use a very similar profile, between 2.2k and 2.7k at 20C.