[The Capri's engine bay with the M60B40 up and running]

I used a Microsquirt ECU so don't have much experience with the original Bosch ECUs. It's not as advanced as the original Bosch unit in terms of inputs/outputs so in some ways it's a retrograde step, but on the plus side it is fully programmable.

The early M60B40 Bosch DME ECU had a removable main chip and no coded signal from the EWS so is easier to wire in. The anti-theft box (drive-away protection or EWS-1) simply gave a 12v signal to the ECU to allow starting. Tuning chips are still available from some sources for these.

From Jan '95 BMW introduced EWSII anti-theft which incorporated a coded key signal, requiring the ECU to match the key and the EWS module. The main chip in later ECUs is not removable but some specialists can flash the chip with modified fuel/ignition maps, disable the standard rev limit and remove the EWS signal requirement if needed.

Sticking with the original 540/740i ECU would save a lot of hassle & expense, because you have to spend a fair amount to get an aftermarket ECU that is anywhere near as powerful as the original Bosch unit (in terms of getting 8 sequential ignition and injector outputs).

Aftermarket ECUs add a lot of extra complexity to a project, i had a big learning curve to go up on this. That adds a lot of time onto a project where a carb & dizzy engine could have been up and running far quicker. But once the knowledge is there and the wiring and software fully understood, you can do a lot more with programmable ECUs than was possible ever with carbs, especially if in the future you want to fit turbo/s, a supercharger, or individual throttle bodies, then the fuel and ignition maps can be reprogrammed accordingly. 

 This is the microsquirt ECU that i used, available from www.trigger-wheels.com in the UK. And DiyAutotune in the states.

It's a more compact and pre-assembled version of MS2 but has a few features more suited to bike motors. It's quite a small encapsulation, slightly larger than a pack of cards. The wiring did take a lot of concentration and effort, but there was a huge amount of satisfaction when the engine actually burst into life.  Apart from the fiddle of fitting a new trigger wheel and the EDIS-8 ignition module (see ignition page) all the other existing BMW sensors can be used - throttle position sensor, Inlet air temp sensor, water temp sensor, idle control valve and crank sensor.

The Microsquirt cannot provide sequential injection, it runs 2 injection outputs with up to 6 high impedance injectors on each output, so is effectively batch-firing each bank. It only has 2 internal ignition drivers but can provide 4 logic spark outputs with some modifications, so it's a toss-up between using an external ignition module like EDIS-8 (which i did) or modifying the main board  for 4 logic outputs and adding an external ignition driver box with 4xBIP373 or similar.

For the oxygen sensors, i didn't have the BMW Lambda sensors available to me, so i used an Innovate LC-1 Wideband controller and sensor. The advantage of the LC-1 or similar wideband is that you can run a dashboard-mounted mixture display to allow you to keep an eye on the fuelling at all times. Also you can run feedback loops in the programmable ECU to adjust the mixture to a set fuel ratio table stored in the ECU when the engine is at cruise. And the most powerful feature is that you can log your A/F ratios whilst out driving in various rpm/load conditions and run the log through comparision software, which can then suggest changes to your fuel map. It seems like the technology for a self-mapping ECU is not far away.

The inlet air temperature (IAT) and water temperature sensors need to be callibrated to the ECU. If the resistance values for the sensors are unknown (i.e. not available free anywhere on the web) then they can be calculated by taking resistance readings at different temperatures, normally -10 C (in the freezer), 32 C (in the armpit) and 95 C (in the kettle). The software for the ECU (easytherm) can then interpolate the rest of the values.

The BMW idle valve is a 3-wire PWM type, but can be controlled effectively from a simple ECU like the Microsquirt by fitting a large grounded resistor on the closing side of the coil. This acts as an electromagnetic spring, enabling the valve to be controlled by one wire from the ECU. Finding the correct idle settings in relation to coolant temperature is a trial and error process and often needs recorrecting when other engine variables are altered (ignition timing & fuel mapping).

Wiring loom being soldered up.

All the information for wiring-in the Microsquirt system is available at www.microsquirt.info

For a programmable ECU a new MAP sensor (Manifold Absolute Pressure) is needed. The BMW system uses a heated bridge airflow meter (hotwire meter) which isn't easily compatible with aftermarket ECU systems. A MAP sensor is far simpler, and it means there is no restriction whatsoever in the inlet tract.

These are available in 1,2 or 3 bar depending on whether you need to cater for forced induction. A 2nd hand MAP sensor from a GM car (these are fairly easy to wire in) can be bought very cheaply 2nd hand. The one i am using is a 2.5bar from a Saab 9-3 :

 Wiring loom in place, checking all sensor functions before taping it up and tying it down.

A short startup video with the tuner software connected -


Current msq file below, still running on an old 2.86ini file

02-05-2010 M60B40.msq 02-05-2010 M60B40.msq
Size : 25.972 Kb
Type : msq
Make a Free Website with Yola.