951 Motronic


Disclaimer #1- No data on this website were paid for, and all info is free for everyone to use. If something on this website is yours, and you do not want it here, email me, [email protected], and I will take it down.

Disclaimer #2- As with anytime that you work on your own car, you are taking a risk when making chips. Before editing any code, try to fully understand what you are doing. Double check your work, especially when it involves the ignition tables, or when you make your mixture leaner. Use a correctly calibrated wideband oxygen sensor (www.wbo2.com is mine) for tuning. Have a passenger ride with you, so you can watch the road while they watch the guage. You can destroy your engine by changing a few numbers in the eprom code, I KNOW OF PEOPLE WHO THIS HAS HAPPENED TO. And they were not even beginners. Be careful.

The purpose of this site is to provide the 951 owner with as much information as possible about Bosch Motronic 3.1.

The main focus will be diy eprom burning and editing of hex files, but eventually I want to have a page for each sensor, with details on purpose, output, problems, etc.


Reccomended Hardware and Software


For an easy way of finding the basic fuel and ignition maps in the 951 eproms download the free program Motronic 911 available here. click



Just watch out for the glitch that changes the rev limiter to a random value whenever you save a new file. Also, you must save the Motronic 911 program to the same folder as your bin files, or the other way around, for it to work.

Here are the spec files for the early 24 pin chips, which do not come in the Motronic 911 program. Make sure you save them in the same folder with your bin files and Motronic 911 itself. I have not been able to make the second 2 work, but the first one finds the 1st and normal maps for the early turbo's.

second maps?
third maps?

If these are not working make sure they are saved as .spc files, for some reason they do not sometimes.

The software I use for straigh up hex editing (like fixing the rev limiter) is available here. click

There are many hex compare tools out there which will highlight the differences between 2 bin files, but all the ones I have been able to fine are free trial for xx days, but then you must pay.  This one is ok, but you have to convert from decimal to hex to find out where you are. click

Here is the hex/decimal converter I use to save time. click

Here is the chip burner that most people seem to be using. It is nice and cheap. Does this burner work for the early chips or just the late ones? click

For eproms, you can use the same one over and over again if you like, they have long lives. The only way to erase them is with a UV light. I use one called Datarase 2 that I purchased on ebay.  Make sure you erase chips for about 25 minutes, to insure their reliability.

Here is a source of the later 28 pin eproms if you wish to buy new ones. click


Bin Files

Looking for more!
24pin "early" stock DME
28pin "late" stock DME
early (all?) klr


Locations of things in the early (24 pin DME CHIP) Hex code

The rev limiter is here. Formula is hex value translated into decimal times 40. A2 is the stock value.

Values in the code go from 0-255(decimal) or 0-FF(hex)

There are 3 sets of fuel ENRICHMENT maps in the 24 pin 951 dme ic. There are 3 maps in each set, switchable with the altitude sensor wires, keep reading for details. Idle (engaged when the TPS/other sensors (which ones?) tell the DME that the car is idling), part throttle, and full throttle (used when TP >60 degrees or rpm > 5000something). The idle map is 1x5, meaning it is defined for 5 different engine speeds. The part throttle map is 12x12 meaning it has 12 possible engine speeds and 12 load points, forming 144 points total. The full throttle map is 1 x 15.

The rpm points in the part throttle are :

1(800) 2(960) 3 (1120) 4(1440) 5(1760) 6(2080) 7(2400) 8(3360) 9(4000) 10(4640) 11(5600) 12(6240) .

Note that the first 12 highlighted values are all for 800 rpm, the second 12 highlighted for 960 rpm, etc. Not the other way around, which would make the first 12 values for the first load percent etc.

For idle:  1(720), 2(800), 3(880), 4(1280), 5(1920)

For full throttle: 1(1000) 2(1480) 3(2000) 4(2120) 5(2240) 6(2520) 7(3000) 8(3280)  9(3520) 10(4000)

11(4520) 12(5000) 13(5520) 14(5800) 15(6240)

The load values referenced for the part throttle are unknown to me.
Here are their locations in the order of part, idle, full.

The other 2 maps exist, but I will skip to the ignition maps now before I get around to posting them.

Ignition maps follow the same pattern, but there are 7 rpm possiblities in the idle map, as opposed to the 5 in the idle fuel map. As with the fuel maps, I am only going to post the first ones to save time for now.

Here are the locations, idle, full, then part throttle.


Ways to change which maps are being used


A common misconception is that the FQS switch located on the DME changes which maps on the eprom the dme is using. This is not true, the FQS only scales whichever maps are being used up or down, as to make up for bigger injectors or change every spark value for some reason.

The way to change the map being used is :

"To access the ROW map you need an adapter plug 944.612.421.00. It really is just a 1.8K Ohm resistor with the correct connector. I ordered mine from the dealer for about $18. Un plug the altitude compensator and plug in the adapter in its place. You then have to disconect the O2 sensor in the engine compartment and jumper between pins 1 and 3 on the DME harness. This grounds out the input from the O2 sensor and this in combination with the adapter plug tells the DME to use the ROW maps. Remember to disconect the battery before starting anything involving the electrical."

The fqs scaling based on position is shown at this site for stock chips, however these values are sometimes changed in aftermarket chips. More details on the location of this command in the code soon to come.


Here are the schematics that people have sent me, if you can identify them please do so I can label them for sure.



Making an EEProm converter the Beab951 way

An eeprom is just like an eprom, but it can be electrically erased, which saves time and the need to buy a UV eraser.

The EEPROM has two new pins that have to be dealt with. One is the WR~ pin 27, and the other is Address 12, pin2. The WR~ needs to be pulled high and A12 needs to be tied to power or ground.

The next thing is to strap power from pin 24 (2732) to pin 28 of the 2864(new eeprom). Pin 1 is not connected.

The layout does all these functions BUT the IC needs to be removed from the adapter board to program it.

The schematic shows a design that will allow you to plug in a ribbon cable with 24 pin socket on both ends (Digi-Key) and plug it into a adapter board with both the 24 and 28 sockets. I made one of these with wire wrap pins, if enough interest is generated, I can build some boards but the board companies don't work for free. I have also included spec sheets for both ICs.

Hope this helps,

Here is a schematic of the stock eprom. 2732
Here is a schematic of the 28 pin eeprom that can be used instead. 28c64b
And... eprom to eeprom "directions". First Second
I have not done this project yet, and if anyone attempts it and has anything to add or correct, please email me. Thanks Brian for this procedure and idea!


Here is a list of things I am looking for:

1. Information about the code in the KLR. Does the KLR detect an overboost, how, and what areas of the chip need to be changed to prevent it? What else does the code in the KLR do?
2. Anything about the KLR and knock sensing, filtering, etc. I have some spectrograms of the knock sensor output that I will post, and a sound file taken directly from the sensor. I havent been able to isolate the frequency of knock yet.
3. Information about the differences between the BPW table and the tables that can be edited using Motronic 911. Is the BPW table even on the early 24 pin DME chips, or only on the later 28 pin ones, or neither? What is the extra code in the 28 pin chip?
4. Screenshots of your Motronic 911 fuel and timing maps, along with a list of your modifications, and maybe a summary of what AFRs you are seeing.
5. Schematics not available in the Factory manuals.
6. The location of anything in the hex code (for any model year) besides the 3 fuel and timing maps, the idle maps, and the wot maps. And the rev limiter. I am confused about FQS scaling's location, someone should have that...

I have so much to post, and I promise soon this website will no longer be boring and full of text.


Some Interesting Stuff

A RARE!! bosch technical documentation of their knock sensor, the one they say "might" have been used on the 951:

Bosch Knock Sensor Sheets

Here is the what the output of the knock sensor looks like on a spectrogram, I used my laptops sound card hooked directly up to the knock sensor to capture it using microsoft sound recorder.

You can use this system I developed to listen to the output with a pair of headphones as you drive, as long as your soundcard has a mic input.
Here is the circuit I used.

And a sound file during some full throttle. If you can find some free spectrogram software it would be interesting to look at, my free trial ran out. Warning, watch your ears. sound file

I am working on a light that will indicate a filtered knock using this circuit.

Here is a camshaft diagram for each cylinder, for reference.

Free Web Page Counters