Motronic 1.3 troubleshooting (in progress)

This page is in progress, not quite ready for prime time yet. Check back later!

The final versions of the E24 (’88-’89) ran the M30B35 “World” motor with an updated version of Bosch hardware: Motronic M1.3. This was a pretty big upgrade back in the day, as it supported On-Board Diagnostics with battery backup as well as catalyzed exhaust & lambda O2 feedback. With newly expanded system memory, Motronic 1.3 would store transient problems as ‘codes’. Conveniently, it could also retrieve these codes for you, at least in the States. With 1.3, this is achieved with the “stomp test”. Simply press the accelerator pedal to the floor five times within ten seconds of turning the key to ‘accessory’ position II. It takes a little ‘feel’ to get it just right, but keep trying. It’ll work eventually, unless someone’s removed the CEL to get rid of a stubborn ‘1222’. The rest of the world standardized this output; legislators, manufacturers & ISO engineers released OBD2 as a more-or-less standard system in the mid-’90s. Huge win for everyone; computers almost always help to make complex problems easier to digest.

There’s a lot of troubleshooting tutorials up about 1.3, since it was also installed on so many BMWs. Not only did it run the later M30, but the M20B25 got the same upgrade. Many parts are interchangeable. Here’s a great E30 information page at RTS Auto.


Now that the intro is out of the way, why am I concerned about this? My E24 was built in 2/86…what’s the point of putting all this work into a very minor upgrade? The original system worked just fine for all these years, why tinker with it? It all comes down to availability. I didn’t have a complete drop-in motor on hand to make this work. Instead of finding a late-production M30B34, I’ve decided to upgrade to the later & more refined M1.3. It’s a fairly easy upgrade from the earlier systems, parts are somewhat easier to find, more injector interchangeability, and it runs a bit smoother. I have high hopes for the small-bore 3.3 with a lightweight flywheel.


So…onto the quirks, problems & advantages of M1.3.


I’ve been studying the ETM, here’s the start sequence:

DME pin 18 (rd) is hot at all times, it provides fault code backup power.

DME pins 2, 14, 19 & 24 (br) are the primary grounds to chassis. DME 19 (br & br/or) is also the ‘floating’ ground terminal (?). DME case is also grounded (?).

Ignition switch powers coil terminal 15 (gn) in RUN or START. Coil terminal 1 runs to DME pin 1 (bk). DME will ground that pin to fire the coil’s primary windings. That will send a high-voltage pulse from the coil secondary windings over terminal 4 to the distributor.

Ignition switch also powers the “code box” in RUN or START. The code box sends power to DME pin 27 (gn) as the start input signal. The code box is a basic anti-theft inhibit system, activated by the OBC, in the driver’s kick panel area.

Once the DME gets the start signal, pin 36 (gn) grounds the main relay pin 85.

Main relay pin 87a (rd/wt) powers the fuel pump relay pin 86.

Once the DME gets the start signal (and detects the CAS signal), pin 3 (br/gn) grounds the fuel pump relay’s pin 85 to power up the fuel pumps.


Other points-of-view, Idea 1:

Between terminal 1 and 2: 540 ±10% ohms for M20/M30

Idea 2:

For the engine to run the following conditions must be met:

Power on DME pins:
27 Start Input
18 Unswitched Power input
37 Power Input from Main Relay

Ground on DME pins 2, 14, 19, 24

Timing data from the CPS on DME pins 47 & 48 from a rotating engine. To have spark power must be present at the coil positive and ground pulses from the DME’s pin 1 must reach the coil negative. Power to the coil is controlled by the ignition switch via C101. When checking for spark, use the output lead from the coil to eliminate the distributor, rotor and plug wires.

Idea 3:

I’m assuming you talking about an e34 535, so do you have always hot power to ECU pin 18 and ignition on power to ECU pin 27?

Also the ECU triggers the main relay when the ECU gets the ignition power at pin 27.


Other DME pin assignments (wire color):

Fuel injectors are banked, DME pin 16 (br/wt) grounds 1/3/5 and pin 17 (br/yl) grounds 2/4/6.

DME also controls the idle control valve (ICV) with pins 4 (wt/yl) & 22 (wt/gn).

DME pins 47 (bk) & 48 (yl) are for the engine speed sensor (CAS).

8 (bk) & 31 (yl) are for the cylinder ID sensor.

45 (br/rd) is the coolant temperature sensor input.

7, 12, 26, 44 are the AFM inputs. 7 (gy/yl) is airflow input (AFM 2), 12 (gy/wt) is reference voltage output (AFM 3), 26 (gy/bu)  is common (AFM 4, floating ground), 44 (gy/vi) is intake temp (AFM 1),

52 (br/bu) & 53 (br/bk) are for the throttle position sensor (TPS). 52 is closed (idle), 53 is wide-open throttle (WOT).

10 (br) & 28 (bk) are for the O2 sensor. The integrated heater circuit (gn/vi) is controlled via the fuel pump relay (or is it pin 23?).

40 & 41 are from the A/C system. 40 (bk/gy) is the compressor on (evap temp regulator), 41 (vi/gy) is the A/C on input (compressor).

5 (br) is Evap purge valve relay control.

6 (bk) is the speed output, 32 (wt/bk) is the fuel rate output, both go to the gauge cluster.

29 (bk/wt) is the speed input from the diff sender.

15 (gy) grounds the Check Engine Light (CEL) to illuminate in case of trouble. Late production got a diode as an in-service upgrade.

42 is the automatic trans park/neutral input, 13, 51, 54 & 55 are also used for the electronic version of the 4HP22EH(?) automatic transmission, among others.



It’s a well-engineered system with built-in safety interlocks. Some of these safety systems can cause a no-start solution by design. My favorite culprit is the crank angle/position sensor. If the system doesn’t sense a signal from the CAS, it will refuse to power up the fuel pump relay. To test these units, set your trusty DMM (digital multimeter) to ohms. Pins 1&2 should present about 1200 ohms, depending on temperature. Other pairs (1&3, 2&3) will give extremely high resistance readings. Depending on your DMM, you might see open circuit, infinite, or something higher than 100,000 ohms.

Note that there is also a similar cam angle sensor in these systems, however it’s not as critical in function. In the M30B35, it’s an inductive ring wrapped around plug wire 6. This is different than earlier versions, so be sure you’re using the correct plug wire variant. Furthermore, the later system was upgraded with far higher power ignition system. It uses a different cap, rotor, wires and coil. Some earlier cars may ahve had this upgrade performed by BMW; there were adapters made for the camshafts to allow the later components to be fitted. They cannot be mixed up. The later rotor is a different shape, sitting further from the cam cap, and the matching wires have larger terminals and caps.


I’ve had this problem repeatedly myself, and heard about it all over the internet. So instead of re-typing this in a thousand blog posts, I’ll put my shortcut notes here for anyone to find with the Google. I’ll pass along a bit of hard-earned wisdom. Some of these notes repeat sections of the Motronic guide up above, please read that first.

My method:

  1. I like to test for spark first. Pull a plug wire, plug in a spare spark plug, lay it on the engine and crank her over. You should see a pretty nice bluish spark if the plug is decently grounded. A yellow spark isn’t ideal, but OK in most cases.
  2. Then I’ll test the crank angle sensors and the coolant temp sensor. Newer Motronic 1.3 cars (late-80s) use a crank angle sensor on the front of the motor, reading off the toothed vibration damper wheel. The crank sensor (CAS) [and coolant sensor (CLT) signal] is required for the motor to start!
  3. Then I like to test for power to the appropriate ECU (DME) terminals. If that’s all OK but you’re still not getting power to the fuel pump, keep reading. Here’s the cause: your DME can’t sense the running engine, so Bosch shuts down the pump as a safety precaution. To use the old programmer’s phrase: “This is a feature, not a bug.” Alternatively, the relay could be working but unable to provide enough amperage through the load terminals. This commonly happens when incorrect parts are specified and non-resistor relays end up in those sockets.

My troubleshooting solution is the same as earlier versions of Motronic: jump the main & fuel pump relay sockets. You can use a short section of wire, but that’s such a jury-rigged solution. I make a custom set of jumpers for each car. You’ll need five standard male spade connectors and three short 4″ (100mm) sections of 14 gauge (1.7mm?) wire. Strip the ends of your wires. To make the main relay jumper, twist two wires together into a ‘v’ shape, then crimp three spades onto that wire. For the fuel pump jumper, just crimp two spades onto the remaining wire.

Before plugging these jumpers in, take all recommended fuel-related precautions (have a properly rated fire extinguisher handy if at all possible). Gasoline is not only smelly, but highly flammable! The pumps will power up as soon as they’re jumped, so be sure the wire harnesses are secure, pumps are installed properly, fuel lines buttoned up, etc..

A few cars will have the main and fuel pump relays on the dashboard support inside the car. Most others will have them mounted to the relay box in the engine bay. You can easily verify the proper relay by wire colors. A main relay socket will have five terminal pins, one is always a thick red wire coming directly from the battery. The fuel pump relay is fed from the main relay, it should have a split pair of green wires with a violet stripe running to the fuel pump(s).

Use the main relay jumper to short socket 30 to both 87b. Use the fuel pump relay jumper between 30 and 87.



Motronic M1.3 pinout (’88-’89 635CSi, ’88-’93 535i, ’88-’93 735i) later model 179 ECU, other numbers are possible.

[Unverified pinout from the ’88 635CSi ETM. Work in progress!! Beware!!]

DME Pin Wire Color Function DME Pin Wire Color Function DME Pin Wire Color Function
1 black Coil timing control 20 38 ABS and OBC fuel cutoff
2 brown Ground 21 39 green/blue Programming voltage/Diagnostic Plug
3 brown/green Fuel pump relay control 22 white/green Idle speed control (close) 40 black/gray A/C low pressure cutoff
4 white/yellow Idle speed control (open) 23 41 violet/gray A/C compressor input
5 brown Evaporative purge valve relay control 24 brown Ground 42 black/brown Park/neutral input (automatic only)
6 black Engine speed output (tachometer) 25 43
7 gray/yellow AFM signal input 26 gray/blue AFM common (floating ground) 44 gray/violet AFM intake temperature input (NTC)
8 black Cylinder ID (floating ground) 27 green Start input signal 45 brown/red Coolant temperature input (NTC)
9 28 black O2 sensor (floating ground) 46
10 brown O2 sensor input 29 black/white Vehicle speed sensor input 47 black CAS (RPM) (floating ground)
11 30 48 yellow CAS (RPM) input
12 gray/white AFM 5VDC output (reference voltage) 31 yellow Cylinder ID sensor input 49
13 white/yellow RX diagnostic plug 32 white/black Fuel rate output (Econ gauge) 50 ABS Deceleration Fuel Cut-Off Override
14 brown Ground 33 51 brown/gray Ignition timing retard (automatic only)
15 gray Check Engine Light 34 52 brown/blue Throttle Position Sensor (closed)
16 brown/white Injector Bank 1 control (1,3,5) 35 53 brown/black Throttle Position Sensor (WOT)
17 brown/yellow Injector Bank 2 control (2,4,6) 36 brown Main relay output 54 blue Torque converter lock-up (automatic only)
18 red +12VDC from Battery 37 red/blue Switched power from main relay 55 white/violet TX diagnostic plug
19 brown/orange Main Ground

Remember, unplug the DME first for safety’s sake!!

Picture of the DME wiring connector (click the picture to enlarge):

Tests at the DME connector (click the picture to enlarge):