1998 BMW 328 - Code

Yesterday and today I demonstrated to myself that the TPS signal, when measured at pin 50 of the 80C166 cpu chip in the DME, is stable and doesn’t drop out. If the TPS or the wires were faulty, I would expect my DMM to store a minimum value lower than the zero-throttle value. So I’m pretty certain the ADC in the 80C166 is producing faulty data. (the throttle-closed DC voltage is 0.750 ±0.002V)
I suppose the DME needs the VIN number programmed into it???
The timing vs load vs RPM table, vanos table, and injector table have to match my engine.

If I get a stock DME from a car that had the same engine, does anything need to be reprogrammed?

Who does the reprogramming? Can a local independent shop do it?

It might be easier for me to just replace the suspect CPU chip since all the data resides in an E-PROM (the square j-lead chip). The boot image file may reside in that same memory or in a flash memory.

The programme should be good if it’s the same model, but it will need to be coded to the car. Do you know if yours has EWS? It will have a black plastic ring ariel around the ignition key slot. I imagine most decent workshops would have software these days.

Hmmm
If I get another DME, I’ll have to get the VIN installed in it, and “Align” it with the security system.
After some reading I infer that I can get software and an OBD to USB cable that can give me access to reprogram features in the hardware via BMW’s INPA software, which runs on a" windows" computer, but we’re a Mac house.
The other option is to just replace the faulty chip, if I can get it delivered here in a short time. (I have the skills and specialized rework assets to replace a 100 pin QFP package) Fewer hurdles.
If that doesn’t cure the problem, I can revert to the path of replacing the DME with all the other hurdles that involves.

I find it hard to believe, though, that a DME for a 318i from '95 has all the right timing and fuel injection parameters as the DME for a '98 328i.

I think all the operating parameters, the VIN, and rolling key, the engine parameters, are all stored in the square J-lead chip in the middle of the DME.
Moving that chip to a different DME should cure my problem too.
(I’d probably install a socket on the board for that chip, rather than resoldering the leads)

If you intend to program it I don’t think you’ll be successful on a Mac, I use Mac and it won’t get on to our information or training systems with a hell of a struggle.
The DME can be E36 but it must have the correct MS number ( the software number) this denotes 6 or 4 cylinder , the index is a manufacturer id.
There’s three software components:
1 basic ( the equivalent of Dos on a pc)
2 program ( windows operating system)
3 coding ( the vehicle particular’s, ads, auto trans etc)
If you fit a chip it will need flash coding, all of the above, that’s something a dealer can’t do but may be possible with aftermarket software?
As far as internal repair if the ecu is concerned I’d be speculating as we don’t really get involved in that side , I’ve done repairs when it’s been the only option but I imagine it wasn’t pretty!

I’ve been around hardware enough to read the codes on chips, if they’re not propitiatory. So I looked up some data sheets.
The 80C166 is a general purpose cpu with integrated ADC and some other peripherals. It doesn’t have any program burned into it.
The SAE81C91 is the CAN bus controller
The TMS87PC110 is the Electronically erasable memory that probably stores the executable image. That data is 100% static. It’s loaded when the DME is manufactured or reloaded if there’s a “firmware upgrade.”
The ST9030ZC6 is an erasable PROM which probably holds engine parameters, the VIN, the rolling code, the optimization values. It’s contains the unique information.
The U8054 is 2K x 8-bit RAM memory for caching and manipulating data.
I’ll be back after the 80C166 I have on order arrives, and I replace it.

Looking forward to seeing how you get on

The chip finally arrived.

Exciting, now for the difficult bit :slightly_smiling_face:

Damn it. I removed the Siemens SAB80C166W-MT3, and replaced it with the Infineon SAB80C166 MT3 chip. I carefully checked for solder bridges.
The DME didn’t boot up. It didn’t return any readings to the OBDii device.
So I took the Infineon part off, and put the Siemens part back on.
The DME booted; I got engine sensor readings.
Starting, it has the same irregular idle while warming up, and, as before, sets the ASC light.
Does anyone know where I can get the Siemens chip? (exact part number)
My understanding of part compatibility seems to be broken in this case.
I expected that same general part number, same package, different manufacturer, it should just work.
The chip didn’t come in a plastic tray cut from a reel of parts. It was just loose in a conductive plastic envelope. Perhaps mishandled and static damaged. :frowning:

So is the chip the you replaced showing no signs of life? Would it need software written in or would it already have it installed?

The SAB83c166 chip has 8K of on-board ROM. It can be pre-programmed.
The SAB80C166 does not have any ROM, so it depends on external boot-memory for source code. Without on-board ROM or PROM or EPROM or EEPROM, it depends on external memory to boot.
After I put the Infineon chip on the board, the DME didn’t boot at all. My ODBii couldn’t see any sensor values when I turned the key on like I can can see sensor values with the chip Siemens chip on the board.
My gut says it should have booted unless there’s a compatibility issue between manufacturers of the 80C166, or unless I had a solder bridge I didn’t detect when using my DVM to probe all the pins to look for short.

Your out of my realm of expertise I’m afraid, I know I’ve been given “non genuine “ electronics to fit before and they have had what seem to me no boot up software installed at all, I’ve always assumed they need an initial loading at manufacture for its specific application, but again I’m no expert.

Alas.
I tried replacing the CPU chip in the DME. The DME didn’t boot.
I put the original CPU chip back on the boad. The DME booted.
That prompted me to buy another DME, used, from an ebay vendor.
I tried installing INPA on a new windows 10(home) laptop, and didn’t succeed.
I was able to drive the car to a friendly service shop in west Oakland; the owner/expert discovered the ebay-DME was for a car with an automatic transmission, and that there were communications bus errors that weren’t there when I last posted, and that Cylinder 1 had a miss, which wasn’t there in November, which turned out to be an oily spark plug probably due to a stuck ring. Things going down hill!!!
So this 1998 328i will be donated to a local public Media station.
I’m bummed to have been defeated.
Lesson 1. on a 10 year old car, go thoroughly through the vacuum hoses, and replace anything that’s the least suspicious, and most obscure. Look up your engine on RealOEM. Air leaks not found by the ‘expert tech’ can lead to $$$ expensive part replacements that may barely make the car pass smog, when replacement of a leaky hose cures all for only a couple of bucks. 3 feet of 1/8" hose could have saved me hundreds.
Lesson 2. Yes. Idle air valve do need to be freed up. Break cleaner or carburetor cleaner. It’s a chore to get in and out, but worth a try because they can be $$$ to replace. It cured the hunting problem.
Lesson 3. Air oil separators are simple and reliable. and expensive. Mine was probably OK, and it cost $$$ to replace.
Lesson 4. A chip in the DME can go bad. The failure mode for my CPU chip may have been contamination on the stitch-bond wire from the die to the pin.
(i.e. a connection hidden under the plastic molded around the chip) The contamination can cause the wire to corrode though making my Analog to Digital Converter input unreliable. Wide temperature and humidity swings in vehicles make for a harsh environment for electronics. With a low-temperature desoldering alloy, it’s pretty easy to get the chip off without damaging the printed circuit board. Solder-wick to clean up the metal before replacing the chip. To solder in a new chip takes the right equipment and experience. Maybe you really need the Siemens chip too. The jury is out.
Lesson 5. Drive the car weekly. Make a 15 mile trip for nothing if the car hasn’t been driven in 7 days. Don’t let the car sit there for months without driving it. Letting the car sit probably accounted for the sticking ring in Cyl. 1. SeaFoam may have been able to loosen it up.
The car has some paint and rust issues, and a leak of water into the trunk. My spouse is OK with getting an X3 because it will have more room for moving beekeeping equipment.
With this I bid you all adieu

1 Like

You can only give it your best, sometimes that’s still not enough.