Dual Switchable Chips for BMW E30 M42

Having finally purchased an after-market performance chip I wanted to be able to easily switch back to the original chip to make comparisons and perhaps even in case of unavailability of high octane fuel.

From my old days of repairing Commodore Amiga computers I remembered that we used to inexpensively make a dual ROM switch just by soldering two chips together and fitting a switch on a couple of pins. I figured the same would be possible with the BMW Motronic unit.

The new chip arrived and was a standard copyable EPROM (a 27C256, 120ns to be exact). I made a copy of it and a copy of the factory chip and made a simple switch to choose between the chips. The switch is hidden underneath the dashboard so that it can't easily be switched whilst the engine is running (which could do something bad).

How to make a dual chip switch

This will probably only work if your after-market chip is a 27C256 EPROM. Some makers use non-copyable chips and I have no idea if this will work with them. I take no responsibility if you or this modification damage your chip(s) or your car in any way.

You will need the following tools:

  • Soldering iron (and solder)
  • Socket or spanner to remove the Motroonic unit
  • Torx type screwdriver to dismantle Motronic unit (I can't remember the size)

You will also need the following parts:

  • A SPDT switch, any type you want (I used a toggle switch)
  • Three wires (I used three wires off a computer type ribbon cable), length will depend on where you want to fit the switch
  • Optional - one or two blank 27C256 120ns (or faster) EPROM chips - if you want to use copies of your chips (You will also need access to an EPROM programmer)
  • Two 22Kohm 1/4 watt resistors
  • Optional - a 28 pin IC socket

Follow these steps:

  1. Remove the Motronic unit and take off the lid held on by four Torx screws.
  2. Remove the EPROM chip which may be held in place by a plastic clip.
  3. Bend up straight pin 22 of both EPROMs (or socket).
  4. Place one chip (or socket) on top of the other. You may want to bend all the pins straight first so that the chips stay in place by themselves.
  5. Solder all pins (except the bent pin 22's) of the top chip/socket to the other chip.
  6. Twist the leads of one end both 22Kohm resistors together and solder this end to pin 28 of either EPROM.
  7. Solder the other lead of one resistor to pin 22 of one of the chips.
  8. Solder the other lead of the other resitor to pin 22 of the other chip.
  9. Solder a piece of wire to pin 22 of the socket and the other end of the wire to the centre pin of the switch.
  10. Solder another piece of wire to pin 22 of one chip and the other end to either of the outer pins of the switch.
  11. Solder another piece of wire to pin 22 of the other chip and the other end of the wire to the other outer pin of the switch.
  12. Plug the two chips into the socket.
  13. The switch is completed so now all you need to do is fit it into the Motronic unit, run the wires out of the unit so that they don't short out, and find somewhere to mount the switch. You should ensure that insulation (heatshrink or electrical tape) is used to ensure that nothing shorts out with the switch.

I wouldn't recommend that you switch between chips with the engine running. I am not sure what the result is but it may damage something.

One other thing I have noticed is that the 318is seems to tune itself to fuel quality, etc and store this information. When you disconnect the battery (or just the Motronic unit) it seems to forget these settings and run rough for the first few miles. It may be a good idea to reset the Motronic unit when switching chips by disconnecting the battery negative lead or pulling the Motronic fuse for a few minutes.

BMW switchable chips

Dual switchable chips diagram
(Thanks to Alvaro from Spain for the above diagram)



by mycosys | November 8, 2015

Just an idea to make this a bit more elegant - instead of using 2 chips you could use a 27c512 - the pinout is the same but for VPP being replaced by A15 and moved to the /OE line so during reading the DME would see no difference. You could then use the logic level on pin15 to switch between the top and bottom 16k of memory - exactly the same effect as having two chips but without the mess.
Obviously burn one of your chips into the lower half of the memory and the other into the upper half, then when pin 1 is high (5V) you will get the top 'chip', and when it is low (0V) you will get the bottom 'chip'.
Wiring wise just fold out that pin one as you did with 22, and wire it to the chip, wire it to the switch center pin. wire one side of the switch to pin 14 or another ground to pull it low. From the other side switch go to pin 28 or another +5v source on the board.
I have read pin 1 has been wired up inside the DME (seemingly specifically to make it harder to flash as it has no other function, unless they planned to use the 27c512 as well) so you cant do this by just wiring to pin1 on the other side of the socket, unless you cut the track to pin1. if you do you can permanently wire the switch tot he board rather than the EPROM, and change the PROM at will. On a 27C256 it will have no effect.
Hope that is some help to someone someday lol.

You could also use ribbon cable sockets and a ribbon cable DIP plug (IDC DIL Headers) to do your adaptation with the chips outside the ECU to make changing the chips later a doddle and get rid of all that soldering on the chips.


John Avis

by John Avis | November 8, 2015

Thanks for your comment. Sounds like a good way of doing this and I'm sure will be of help to some readers.


Leave a Comment


Get the latest posts delivered to your inbox.