Was this page helpful?

BMW E30 Megasquirt & Wasted Spark Conversion

From $1

    This is a guide to upgrade the Motronic ECU fitted to BMW's E30 3-Series (1988 to 1991) using the after market ECU Megasquirt, and a Coil Pack for Wasted Spark.  The model used in this guide, is a UK spec 1989 325i.  Other models may very, particularly those that use the pre-88 Jetronic system, which will require additional work.http://upload.wikimedia.org/wikibooks/en/7/7f/E30_325i_Sport.jpg


    The Motronic ECU fitted to BMWs in the late 80's whilst reliable, is somewhat outdated now.  It relies on an Air Flow Meter for air intake measurement, which is more restrictive to air flow than a more modern MAF sensor.  Megasquirt takes this a step further, and uses a MAP Sensor  instead, removing the need for any air measurement.  Megasquirt also opens the door to using an alternative ignition system, such as Wasted Spark.  For the price of a new BMW distributor cap and rotor arm, Wasted spark can be added to the Megasquirt system, boosting performance (a stronger spark) and reliability (no contacts to wear out).

    • Improved fuel economy
    • Lower emissions.
    • Improved performance
    • Solid state ignition (no dizzy cap/rotor)
    • Relatively cheap modification for benefits gained.
    • Extendability (platform for future mods - turbo/supercharging etc).
    Parts Needed
    • Megasquirt I or II (I used "Megasquirt-extra I" for this writeup)
    • Megasquirt connector & short Wiring loom
    • Coil Pack (Vauxhall/Opel Vectra/Omega V6 or Bosch 0221503002)
    • Wideband O2 sensor (Innovate LC-1)
    • Motronic Plug (or scrap ECU box)
    • TPS (Throttle Position Sensor  - BMW/Bosch part 0280120402/0280120406/0280120404)
    • IAT (Intake Air Temperature sensor)
    • 3mm vacuum tube & T-piece.
    • Hose
    • Wire
    • Diodes
    • Megastim (optional - best to get it if the Megasquirt board is untested)
    Megasquirt ECU

    Megasquirt can be purchased in kit form or ready built.  Either way, you need to order it with two additional spark outputs.  See the main Megasquirt site for suppliers and constructional details.  DIYEFI.co.uk stocks a range of partly or ready built units.  For details on wiring the additional coil drivers, see
    http://megasquirt.sourceforge.net/extra/setup-msns.html this pagehttp://farm3.static.flickr.com/2251/2179793479_e189383469_b.jpg

    Wiring the ECU loom

    Wiring Megasquirt to the car, can either be done by connecting every component directly (sensors, injectors, coil etc), or reusing as much of the existing wiring as possible.  In this guide, we do the latter, by gutting an old Motronic ECU box, and reusing the connector.  Additional wiring will be needed for the coil outputs.  The Megasquirt box can be bolted on top of the Motronic case, or if your building MS in kit form, it's possible to put the MS circuit board into the old Motronic box.  See my guide on how to do this.



    DME & O2 Relays

    The DME relay, and O2 relay (if used) need to be powered when the Engine/ECU is running.  The simplest way to do this is connect the DME & O2 relays to megasquirts fuel pump output.  In doing so I found that a strange chattering noise came from the relays when I switched off the ignition.  To cure this, I added an inline diode to each of the three relays inputs. Tip: Also connect an LED (with resistor) as an indicator to the fuel pump output - it will help with diagnostics, should you run into difficulties.

    Wiring the Sensors
    Throttle Position Sensor (TPS)

    The standard E30 TPS is of no use, as all this provides is a simple on-off-on state.  I found a Bosch TPS (0280120406) which bolted stright on. Unfortunatly the connector is different, so I made up a new connector, which plugs into the original TPS socket. Remember to set the lower, and upper throttle ranges into Megasquirt, so it knows when your foot is off and full on the peddle.

    Air Intake Sensor (IAT)

    Push the IAT into the bellows, where the Idle Control Valve used to sit.  Use a jubilee clip to hold it in place.
    Use a multimeter or continuity tester to find the correct pin used on the Air Flow Meter connector, then connect it to the IAT sensor.

    Coolant Sensor (CLT)

    The standard blue temperature sensor already fitted to the engine (Bosch NTC M12) will work.  It has different properties to that of the default megasquirt settings, so they will need to be changed.  You can use "EasyTherm" software to do this. using the settings in the table below.


    Deg C Resistance (ohms)
    -15 12002
    30 1707
     100  187

    Crank Position Sensor (CPS)

    The standard toothed wheel and sensor work fine with Megasquirt.  It's a 60-2 wheel (60 teeth, two missing).


    Wiring the Coil Pack

    The coil pack used, was a Vauxhall Vectra/Omega V6. There seem to be two similar types, one manufactured by Bosch. Either is fine.  It has 3 coils with 6 outputs. Spark plugs are fired in pairs, on the ignition and exhaust stroke.

    The M20 firing order is 1-5-3-6-2-4.  The three Megasquirt outputs are A B & C

     Bank A = Cylinder 1 & 6
     Bank B = Cylinder 5 & 2
     Bank C = Cylinder 3 & 4

     Coil Pack Plug:
     1 (A) Cyl 1 6 (nearest to 4 pin connector)
     2 (B) Cyl 5 2
     3 (C) Cyl 3 4
     4 +12v

    It's more convenient to install the coil pack closest to the bulkhead, so you need to reverse the plug leads so that the shortest is at the back, longest at the front.  I hung mine from my strut brace, using tie wraps.

    I found a coil pack plug at a scrapyard.  It's a standard Bosch 4 pin automotive plug.  I used shielded 1.5mm 3-core cable made by Pro Power (SY1.50MM3C50M).  Any cable around 10 Amps+ will do.

    Wideband O2 Sensor

    Ideally the wideband sensor needs welding into a section of the exhaust pipe that sees exhaust gases from all six cylinders.  This may not be practical, without using two sensors.  However, you can compromise, by just sensing the gases from 3 cylinders, and assume the other 3 cylinders are the same.  This is not ideal, but better than doing without.

    There are 3 relays next to the expansion tank (one may be missing).  One of these (the missing one!) controls the O2 sensor (if fitted).  The connector for this, is under the battery tray, and can be used to power the Wideband sensor.  Cut off the connector (or find a suitable plug), and use the green & white wire.  The Innovate LC-1 controller requires two separate earthing points.  Attach one to the body of the car, and feed the other one through the bulkhead to to the Motronic connector along with the output wires. You need to use Output 2 (brown) as this is configured from factory for wideband use.

    Vacuum tube

    Use 3mm vacuum tube, with a T-piece between the intake manifold, and the fuel regulator.


    The tachometer requires a square wave signal from the Motronic ECU, so Megasquirt will need to supply that signal instead.  Normally you would just use the ECU's coil output, but since we are using Wasted Spark, we need a different signal- one that signals every spark.  Thankfully, Megasquirt-extra can provide the signal needed from one of it's auxiliary outputs.  All you need, is a couple of resistors, and a transister.
    Note:  I have read of some people having difficulties getting this working with BMW's tachos.  You may need to increase the resistor value that connects to 12V from 1K to anything up to 100K.  I used a 10K resistor, and that worked fine.

    Setting the idle

    Before you do any tuning, or attempt to get your startup enrichment's or idle control valve working, you should make sure your engine idles unaided once warmed up.  This may require you to prop open the throttle to warm up the engine.

    The butterfly valve on the throttle body is normally fully closed.  The idle stop screw needs to be adjusted, so the butterfly valve is letting in enough air for a smooth stable idle.  Getting the right adjustment requires trial and error (and a warmed up engine).  You want the idle to be around 700rpm, and the MAP sensor to show the lowest possible value.  Go back and forth between adjusting the screw, and adjusting the fuel, until  you reach your target rpm.  If your not planning to use an idle control valve, you may want to up the idle speed to help with cold starts.  Make sure the timing is set to 16 Degrees when idling (there is a setting that can override the timing to this when there is no throttle).

    Be careful when turning the idle screw.  Its probably never been moved since manufacture, and is easily broken (I know from experience!).  Use penetrating oil first. 

    It's best to start off with a fuel/spark map that is known to work for someone else with the same engine configuration.  This is just to get you started, and not as a substitute for doing your own tuning.  Before you go out on the road, you should at least make sure the engine will idle unassisted (see setting the idle).  Now the fun starts.

    With Autotune enabled, drive around to allow megatune to do it's job.  The engine may feel rough at times, but the more you drive, the better it will get (assuming the Spark timings are not way-off).  Remember to burn the table into the ECU before you switch off the engine, otherwise all will be lost.

    Was this page helpful?
    Tags: (Edit tags)
    • No tags
    Comments (0)
    You must login to post a comment.

    Powered by MindTouch Core