Bosch Motronic 4.3 Engine Management Unit - Part 2
Please read and understand the disclaimer before you go on.
Click here to view disclaimer

 

       Okay, so let's recap. We have opened up the ECU, and established that it uses a Siemens microcontroller. Firmware is stored in an external 64k-bit x 8 FLASH device. I suggest that before proceeding any further you take the time to read through the data sheets for these two devices. In doing this you will understand the architecture of such devices before we begin to modify anything.

       So how do we access the Firmware stored on the FLASH device? I will go back slightly and explain that years ago I delved in modifying Nintendo Game boy cartridges as well as having a go at writing small programs for such devices. So how does this relate to the ECU you may ask? Well the Game boy cartridges come as standard with ROM devices fitted. The cartridges were modified by removal of the ROM device and replacement with a FLASH chip. Furthermore these cartridges utilised a simple software selecting, or memory switching, circuit. This meant that several games could be stored on a single FLASH device and be switched between them thereby preventing the need to continually swap cartridges to play different games.

       I would highly recommend that you visit the following site and have a read through it. It will give you some great grounding in what is being achieved here.

http://www.ziegler.desaign.de/readplus.htm#4MBit%20home


       I would like to stress that this is not the final method that will be deployed. It is merely a way of showing you that a large FLASH device can be used to store several different programs and that they can be accessed by switching between the different memory banks of the FLASH device. For our ECU application, we could theoretically have several different firmware programs stored on a single FLASH device. To thereafter access any one of them would require a simple memory bank switching device. We will not be using the 'MB5' concept explained in the Nintendo pages. This is because it requires software coding to switch between memory banks. This project will use a straight forward hardware select device.

       The concept of what is being done is not new. In fact many Ford owners have been 'tweaking' their EEC-IV ECU's for many years. Here is an image of the internals of an EEC-IV ECU;

       To the bottom right corner of the image is a chip with a white label thereon. This is the ROM chip containing this ECU's firmware. In the next images you will see that there is an edge connector located adjacent to the ROM chip


       The edge connector is the point at which the address, data and control lines for the Rom chip are brought out of the board to a common port. Included on the edge connector is a ROM disable line. When activated, the onboard ROM is disabled and the microcontroller looks for a program device on this port from which to read firmware data. This is the method used by many chip tuners. They modify the maps and blow an EPROM on a purpose made carrier board. This board is then plugged into this edge connector, disabling the onboard Rom. When the ECU is 'booted' up, the microcontroller runs the firmware now stored in the EPROM on the plugged in carrier.

       If you wish, I suggest a search of the internet in respect of this method of reprogramming / modifying the ROM firmware. A couple of examples are:

http://acc-electronics.com/cloud/efi/amarch/eec.htm

http://www.tweecer.com/index.html


       Okay, so now we have an understanding of how to 'attack' the hardware of ECU's. Let's move on and look at how we can modify these examples to work with the Bosch Motronic 4.3 ECU.


       A number of years ago a site appeared on the internet whereby the author went into great detail on how to modify a Margneti Marelli ECU. His project involved the reversing of the firmware. An interesting point to mention is that he actually found that the firmware coding was not bug free. In certain situations the ECU could in fact not work correctly for the given conditions. Again, I would suggest taking a look at his website, and reading through the numerous pages. It was this site that gave me the inspiration to become involved in Engine Management Systems. You may find some of the information very technical, but it is very clear and again will give a good grounding in what is being achieved here.

http://www.sonic.net/~mikebr/efi/ecu_hdwr.html

In the next section I will move onto modifying the Bosch Motronic 4.3 ECU.