I’m really excited about this new article and I think you will be excited too. I have found an article which describes the secrets hidden inside BMW E36 on board computer (OBC). It’s really fascinating me that the Germans in 1993 or so were having such things. All I can say is WOW!. OK, enough talking about the Germans, so Mr. OBC here turned to be not as simple as I really thought at first. It has many information that is hidden and can be displayed with tiny effort. I’m almost sure that you’re going to love the article below. I just wanted to say that you should make sure to try the Instrument Panel Tests. It’s really cool to watch your car checking itself.
Note: I did try almost all what’s written in here and it’s working great.
There are many interesting functions available on the E36 OBC (On Board Computer) that are not documented in the owner’s manual, including changing the language of the display. The procedures described here work on my ’97 328iC, which has the upgraded OBC – they may work on other models of similar vintage.
Contents:
Programming the OBC to Display Contents in a Desired Order:
When you repeatedly press in on the turn signal stalk, the OBC display cycles through the various information types that it has in memory. The default sequence is: CONSUM1, CONSUM2, EXT. TEMP, SPEED, LIMIT, DIST and TIMER. If you want to change the display order, use the following procedure:
Press-in and hold the turn stalk for about 5 seconds. The OBC display will change to Prog 1. Press the button corresponding to the first function you would like to have displayed in the sequence. For example, if you would like the outside temperature to be displayed first, press the TEMP button. The display will then change to Prog2. Continue pressing the OBC buttons in the order you want, up through nine entries. You don’t have to enter all nine – if you would like the display to cycle only between TEMP and RANGE, simply enter those two items as Prog 1 and Prog 2. When finished, press the SET/RES button to store the sequence in memory.
To revert to the default order, simply press SET/RES as soon as Prog 1 is displayed.
Accessing Data in the OBC:
The OBC contains a lot of data, and displays the data in a manner determined by the country code that is stored in it. The technique to access this data is as follows:
Press the 1000 and 10 keys simultaneously. You should see Test-Nr.: appear in the display.
The table below lists the available test codes that are available. Enter a test code number, using the number keys, followed by the SET/RES key. However, to access codes other than 1, 10, 14, 19, and 21,
you have to first unlock the OBC, using the procedure described below.
Read the results.
For test numbers 10 and 11, enter a new value (if desired) and press SET/RES.
Return to the normal display functions by pressing CHECK or any other key.
Unlock the Display:
Most of the test sequences require you to first unlock the display before. Enter test code 19 using the above procedure. The display should read LOCK:ON. Then enter an unlocking code consisting of the sum of the current month plus date (for example, if today is July 11, enter 18). Then press SET/RES, and the OBC is now unlocked.
Test Codes:
Following is a listing of the available tests, along with with my notes as to what I think each test means. Note that the display uses European conventions for decimals (i.e., the number 61,7 is 61.7f or us Americans). You will see that I don’t have good explanations for several of these test codes
Test Code No. |
Display |
Notes |
Display Must Be Unlocked First? |
01 |
All LED display elements are lit |
Verify that the display is working properly |
No |
02 |
VBR: n,n l/100km |
n,n = instantaneous fuel usage in liters/100 km |
Yes |
03 |
VBR: n,n l/h |
n,n = instantaneous fuel usage in liters per hour |
Yes |
04 |
RW-VBR: n,n l/100 |
n,n = average fuel usage in liter/100 km. |
Yes |
05 |
RW: nnn km |
nnn = range in km |
Yes |
06 |
— |
Not used |
Yes |
07 |
TMTL: nn,n l |
nn,n = fuel remaining (in liters) |
Yes |
08 |
V: n km/h |
n = instantaneous speed in km/h |
Yes |
09 |
UB: nn,nn V |
nn,nn = system voltage (should be
around 13,80) |
Yes |
10 |
LAND: n xxx * |
Country code — for US drivers
should be set to 2 USA — see description below |
No |
11 |
EINHEIT n: xx * |
?? There are two EINHEIT displays: the values for xx in EINHEIT 1 can range between B0 and BF, and for EINHEIT 2 range between 0F and FF (mine is set to B3 and FF, respectively). Press the 1000 or 100 key to switch between EINHEIT 1 and EINHEIT 2. |
Yes |
12 |
VANK nn km/h |
nn = average speed |
Yes |
13 |
ANK: nn:nn |
nn:nn = ETA (will display
–:– if the OBC’s distance function is not in use) |
Yes |
14 |
ROM: dd.mm.yy |
dd.mm.yyyy = Software version date. Mine is 25.06.1991 |
No |
15 |
DIAG: nn nn nnn xx |
Diagnosis code? Mine is 01 05 255 FA |
Yes |
16 |
PORT: nn nnnnnnnn |
Port codes? Press 1000
or 100 key to cycle port numbers. For example, PORT 01 is 10101000 |
Yes |
17 |
PROM: nn nn |
?? Mine reads 00 12 |
Yes |
18 |
HORN: xxxx |
DTON or DTOFF?
(Single tone horn versus dual tone) |
Yes |
19 |
LOCK: xx |
xx = ON or OFF.
See description above for method. |
No |
20 |
KVBR: nnnn |
nnnn = Fuel rate calibration factor. Mine is set to 1000 |
Yes |
21 |
RESET? |
Reset all defect codes? Also erases all stored values in the OBC (i.e, fuel consumption, avg. speed, timer, etc) and clock. |
Yes |
Note: #20 The factor is used to correct the OBC Avg Fuel Consumption figure to reality. If your OBC is off a bit, fill it UP totally and then run the tank down and refill. Then calculate your Actual MPG. Now enter test #20 get the old Correction Factor. NEW CF = OLD CF *(Actual MPG/OBC MPG)
Setting the Country Code:
If your OBC suddenly starts displaying every thing in German, and you would like to put it back to English, use test sequence number 10. Once you’re into test number 10, press the 1 key several times, and you’ll see the display cycle through various country options. For example, 0 is for Germany (the display reads LAND:0 D * – I assume D stands for Deutschland). As you cycle through the options, you’ll see choices for the Great Britain, USA, France, Canada, etc. Once the display is on the country you want, press the SET/RES key to store your choice into memory — for US drivers the display should be set to LAND: 2 USA * . Then press the CHECK key, and the display will reflect the units of the country you’ve chosen.
Instrument Panel Tests:
With the engine off, press and hold the trip mileage reset button, and then turn the key to accessory position 2 (OBC and radio come on). The LED display on the instrument panel (which normally is the odometer) will change to tESt01 and then will begin to cycle through several displays. Release the button. The display will continue to cycle through several displays. Here’s the data my car displays:
Display |
Display Sequence |
Notes |
363758 |
1 |
BMW Part No. |
0000 |
2 |
Code No.? |
7504 |
3 |
K No.? |
nnnnn |
4 |
Last 5 digits of VIN |
230 |
5 |
Software Version |
62 |
6 |
Revision Index Hardware No. |
Finally, all LED elements will light, and all gauges will cycle once.
You can press the mileage-reset button again to access more tests. Tests 2 through4 are always unlocked and hence available. Tests 5 through 14 are normally locked — to access these you must first unlock the display-using test 15.Otherwise the display simply shows: ——–.
Display |
Test Sequence |
Notes |
n |
02 |
Engine type: n = 2 for 4-cylinder engine, 3 for 6-cylinder, and 4 for 8-cylinder |
nnnnnn |
03 |
km traveled since last oil service reset. |
nnnn |
04 |
Age of car, in days |
For tests 5 – 13, display must first be unlocked using sequence 15. |
n |
05 |
SI evaluation factor: n = 0 or 1 (over-rev), t= 0 or 1 (engine temp over heat) |
|
06 |
Fuel level and coolant temp. Displays hexadec codes relating to gauge position:
Fuel Gauge Hex value:
A (empty) —-> 0d
End of Reserve —-> 37
B ——> 54
C ——–> 90
D ———> c4
E (full) ——> f0
Engine Temp Hex value:
A ——-> ce
B ——–> 6d
C ——–> 5c
D (center) ——> 4f-23
E ——–> 1e
F ———> 18 |
|
07 |
Current engine RPM |
|
08 |
Current road speed in km/h |
nnnnnn A |
09 |
Distance – used to compare odometer mileage in the EPROM vs. the coding plug. If the two values don’t agree (for example, if one of these elements was replaced), the manipulation dot will illuminate. This function will synchronize the two readings to the highest value. Press and hold the reset button for 4 seconds, and the lower mileage reading will be overwritten by the higher, and the manipulation dot is cancelled. |
bbbbbb |
10 |
Status bits – input signal (0=low
or 1= high):
1: seat belt: fastened =0
2: ignition lock: key inserted=0
3: door contact: door open = 0
4: clock button pressed = 0
5: SI reset = 0
6: EGS transmission failure = 0 |
bbbbbb |
11 |
Status bits – output signals:
1: Gond output
2: Brake warning lamp
3: Low fuel warning lamp
4: EGA lamp
5: Seat belt lamp
6: manipulation dot |
—— |
12 |
Not used |
nn |
13 |
Country code of cluster (USA = 02) |
|
14 |
Software reset |
L On/Off |
15 |
Lock Status (on or off). Press and hold the reset button for about five seconds until the display reads "OFF". Now you can access test sequences 5 through 14. |
Tony Sticks.