In Reply to: M3 - OBD2 Programmable ECU Software Frustration posted by Eeek36 on February 10, 2000 at 15:21:41:
While reprogramming the DME by yourself sounds easy enough (and the actual act of doing it IS easy), the steps you take to get there are MUCH more complicated. If you start with a blank slate, meaning you know NOTHING about what the EPROM contains or its format, you have a lot of work ahead of you. That's exactly what JimC, Dinan, Garrett, and others start out with.
Some engine computer basics:
The engine computer in your car is basically a microcontroller. That microcontroller needs its instructions to be stored somewhere. That somewhere is an EPROM (or a FLASH ROM on OBDII BMWs). The EPROM not only contains the instructions for the computer, it also contains the data maps. The instructions tell the computer what to do and how to do it (ie, how to idle, is there a fault, enable the rev limiter, etc.), while the data maps tell it what values to use (how much fuel at idle, how much spark at wide open throttle, etc.).
Now, if you were to look at the contents of the EPROM, it would merely look like a bunch of numbers. This is where the fun begins. It takes hours, if not hundreds to thousands of hours, to disassemble the code and figure out what is going on. Disassembling the code means converting the raw numbers back into actual commands that the microcontroller uses. Only then can you identify where all the data maps are and how the computer operates.
That's part one; now onto part two........
So, you've figured out the computer's code and where all the fuel and timing maps are, so now you want to start changing the settings. Well guess what, without accurate instrumentation, you're not gonna have fun. How do you know if the engine's running rich or lean? Does it need more spark timing or less? Err on the wrong side, and POOF, blown engine.
Yes, it IS that easy to blow and engine. It doesn't take much detonation (by either overadvanced timing or lean A/F mixtures) to blow a head gasket or a piston. It all sounds easy to do until you start experimenting. Then you realize how long and how much work it actually takes to do it right.
Somebody asked why they have to pay $400 for a simple computer update/reprogram. How much is 100 hours of disassembling code, trial and error dyno-tuning, driveability testing, instrumentation, and damaged parts worth to you? It takes time and money to develop computer updates. That is what you're paying for, the research and development. Sure, actually reburning the computer is easy, but you're forgetting the effort to figure out how to reprogram it and with what to reprogram it.
ps. if you REALLY want to tune your own BMW, buy an OBDI car (ie, pre-96) and JimC's DME Editor and have fun!