Announcement

Collapse
No announcement yet.

Documentary - Motronic 1.7 DIY Reverse Engineering

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • varg
    replied
    I don't know why people insist on ragging on the MS system itself when the myriad poor results are completely due to the fact that it's the cheapest DIY system out there and thus it attracts users who are (understandably) completely ignorant when they start out, and only minimally informed at best when they get their cars on the road. It's pointless, stupid even, to compare the results of average people who are reading "how tos" on forums to the results of teams of professionals and I'd argue that anyone making such a comparison is being willfully obtuse. People who know what they're doing and have been doing it for years get perfectly usable results out of it and are essentially doing a job completely alone that cost the car's manufacturer millions to do. Like I always tell people I tune for; it's not going to be perfect, if you want perfection either keep it stock or buy a new car that's as fast as you want to go.
    Last edited by varg; 01-27-2018, 09:48 AM.

    Leave a comment:


  • Rasp
    replied
    Originally posted by bmwman91 View Post
    Alrighty, M1.7.3 it is then.
    Its not a best choice, but the easiest to get the maximum benefits, thats I mean.

    Originally posted by bmwman91 View Post
    Can you post up a stock 64K BIN for M1.7.3? I would like to start getting a look at it.
    MEGA provides free cloud storage with convenient and powerful always-on privacy. Claim your free 20GB now

    Leave a comment:


  • bmwman91
    replied
    Originally posted by Rasp View Post
    2 wire IAC is absolutely piece of crap, its 90% of problem with M40, M42, M43 engines. What you need for add it to M42 is buy throttle body from M44 and pass one wire with 3-pol connector. And M1.7.3 will not working with 2 wire IAC without software settings.


    In future try to buy from Poland, not from Germany, its more cheapest.



    This does not make sense, in view of the complexity of work. In M1.7.3 you can just take Fuel and Ignithion values from M1.7, knock sensor sensibility from M1.7.2, disable DISA, EWS and use IAT lineralization both for IAT and CTS and everything is ready. For M43 you need to do even less. What to do with M1.5.4 from Opel which has custom tables and routines for this engine? Many things in modern software implemented in next integration level, in which it is difficult to understand without DAMOS and Funktionsrahmen (M1 BMW more relies on data and not on complex calculations, because it hasnt MDU). Also he has 55 pin main connector and own diagnostic.

    M5.2 based on Intel 196 CPU and CC460 flash, software looks like compiled from high-level language, but exist DAMOS for another M5.2 BMW engine. I think its more hard work with an incomprehensible result.
    Alrighty, M1.7.3 it is then. I wish I had known about this sooner since I spent a lot of time on the M1.7 hardware, but I will just consider it practice for when I reverse engineer the M1.7.3 board. Really, it sounds like doing much more work with the M1.7 stuff would not have really given me all that much benefit, versus M1.7.3 that has more evolved software and improved functionality while still requiring minimal changes to the wiring.

    I ended up going with the ones from the German guy because he had much cheaper shipping. The few I saw in Poland had $$$ shipping!

    Can you post up a stock 64K BIN for M1.7.3? I would like to start getting a look at it.


    Originally posted by Rasp View Post
    Ardruino-based systems is not recomended for automotive for a many restrictions :) MS systems too, even after 10 years they will not grow on performance level of software and hardware like Motronic M1.1. All that is for today is a large community and a bunch of wrong working engines.

    Leave a comment:


  • Rasp
    replied
    Originally posted by Mykk540i/6 View Post
    If you wanted to check out a DIY opensource EFI look into Speeduino.
    Ardruino-based systems is not recomended for automotive for a many restrictions :) MS systems too, even after 10 years they will not grow on performance level of software and hardware like Motronic M1.1. All that is for today is a large community and a bunch of wrong working engines.

    Leave a comment:


  • Rasp
    replied
    Originally posted by bmwman91 View Post
    I absolutely want to add knock sensors, and probably the IAC valve since the E30 idle stability is not the best sometimes.
    2 wire IAC is absolutely piece of crap, its 90% of problem with M40, M42, M43 engines. What you need for add it to M42 is buy throttle body from M44 and pass one wire with 3-pol connector. And M1.7.3 will not working with 2 wire IAC without software settings.

    Originally posted by bmwman91 View Post
    Also, I have a couple of M1.7.3 units on order from eBay Germany. Thankfully they seem to be common and not too expensive!
    In future try to buy from Poland, not from Germany, its more cheapest.

    Originally posted by bmwman91
    Is there any possibility (or benefit) of running M1.5.4 or M5.2 on the M42/43, or is there not point to it? Just curious since you mentioned M1.5.x being much more advanced than any other M1.x systems, and I would assume that M5.2 is also a lot more advanced.
    This does not make sense, in view of the complexity of work. In M1.7.3 you can just take Fuel and Ignithion values from M1.7, knock sensor sensibility from M1.7.2, disable DISA, EWS and use IAT lineralization both for IAT and CTS and everything is ready. For M43 you need to do even less. What to do with M1.5.4 from Opel which has custom tables and routines for this engine? Many things in modern software implemented in next integration level, in which it is difficult to understand without DAMOS and Funktionsrahmen (M1 BMW more relies on data and not on complex calculations, because it hasnt MDU). Also he has 55 pin main connector and own diagnostic.

    M5.2 based on Intel 196 CPU and CC460 flash, software looks like compiled from high-level language, but exist DAMOS for another M5.2 BMW engine. I think its more hard work with an incomprehensible result.

    Leave a comment:


  • Mykk540i/6
    replied
    If you wanted to check out a DIY opensource EFI look into Speeduino.

    I've started working on one for myself and my M60 V8, it's an Arduino based standalone EFI that uses TunerStudio. The developer is working on a Teensy board version for increased processor speed, but that's quite a ways away and still in development.

    Speeduino enthusiasts are openly working on the source code themselves and an updated firmware version gets released every month or so. I'm currently adapting mine to the BMW 88 pin DME connector on my M3.3 system in my 540i for a "Plug'n'play" with a few modifications to the ignition system on the engine side for the waste spark.

    Best of all, the end user financial commitment to get the system going is very low. Especially compared to other standalone EFI systems.
    Last edited by Mykk540i/6; 01-26-2018, 05:21 PM.

    Leave a comment:


  • bmwman91
    replied
    Good points. MS is very respectable as a system considering that it started entirely with enthusiasts, and even though it is a commercial product now, it is still largely a community effort in many ways. $1000+ is a bit of cash for a system, but compared to the completely closed-source options out there, it is still a decent deal.

    I have had my concerns about using MS, largely because of points that you and nando raised. This applies both to the software side and its ability to control things to an OEM-quality level, and even moreso regarding the hardware. Working in the electronics industry, and now having fully torn down the Motronic, the build quality is well above all of the older MS systems, and probably still way above MS3Pro. Again, this is not to say that MS3Pro is bad, but just that it is not going to hold a candle to something a multi-billion dollar hardware company develops. Even with the fact that M1.7 pre-dates basic best practices like ground/power planes and thermal reliefs in vias, the quality of the overall design is excellent and the components used go way beyond "automotive spec" as you typically find on DigiKey. Bosch's volumes alone mean that the price breaks it gets on high-grade parts allow it to build extremely rugged systems for a lot less than the MS folks would be able to, not to mention the fact that Bosch can commission custom silicon.

    As for the software which gives great idle stability, coasting, etc, you are absolutely right that there is no comparison between a community effort and an entire department filled with engineers whose entire career focuses on these algorithms and they are well-paid to do it.

    Leave a comment:


  • varg
    replied
    It would be really neat to see the kind of adaptability you're talking about implemented in these later motronic units. They're definitely well engineered and high quality pieces of equipment.

    Originally posted by nando View Post
    There are some things, like startup, coast down, and idle, where the OEM computer 'just works' that you will almost never get right on something tuned from scratch
    Well of course not, you don't have temperature controlled rooms, a dyno with a brake, extensive test equipment and a team of people tuning your megasquirted car, it's unreasonable to expect OE quality results from maybe a couple dozen total hours of tweaking only in the conditions the weather provides for you. I don't think anyone who has ever built or tuned a megasquirt box would argue that megasquirt systems tuned by amateur tuners are anywhere near as good as what you'd get out of a system like these motronic units which were designed by a team of engineers with a big budget and a company behind them, tuned by a team of engineers and tuners with all of the best equipment.

    Leave a comment:


  • bmwman91
    replied
    1) Nice, thanks. Yes, I keep forgetting that all of the mapping can be corrected, so there is much less need to mess with hardware. I am a hardware guy, not so much software, so my brain keeps looking in the wrong place!

    2) Hmmm, maybe...the E36 has the DME in the engine compartment and the E30 has it inside the glove box. I wonder how different the harness length is? I very much want to avoid doing lots of cutting/splicing on the harness since OEM harness quality is very good.

    I absolutely want to add knock sensors, and probably the IAC valve since the E30 idle stability is not the best sometimes. I am not sure if it is because of the old IAC valve, or because the ignition timing methods it uses to control idle are not so good. I also have data logs showing a direct relationship between the STFT lambda oscillations and RPM oscillations at idle.

    3) Nice! I am actually running M54 coils now for my COP setup (fun fact, I invented the M42 COP conversion that is all over the place now).

    4) Sounds good!

    5) Awesome. I am very curious to know how they did it in the OEM system. The methods I worked with in my external converter require too many CPU cycles to possibly be used in the ECU.

    Is there any possibility (or benefit) of running M1.5.4 or M5.2 on the M42/43, or is there not point to it? Just curious since you mentioned M1.5.x being much more advanced than any other M1.x systems, and I would assume that M5.2 is also a lot more advanced.


    Also, I have a couple of M1.7.3 units on order from eBay Germany. Thankfully they seem to be common and not too expensive! One can be for functional work, and the other can be sacrificed for hardware reverse engineering.

    Leave a comment:


  • Rasp
    replied
    1) Do not need any another temperature sensors besides your stock, M1.7.3 will work with standart NTC temperature sensor for M1.7 DME, after patch. On my system this works just like this (M1.7.3 has NTC sensor calibration for air temperature sensor in VAF, I use this calibration both for air and coolant sensor as in M1.7.2)

    2) Maybe you can just short-circuit this output and all works fine. But I'm recommend buy M44 harness and get injectors, knock sensors, IAC valve parts.

    3) All works fine with M42 early and later coils and with M52 coils too (COP).

    4) Only EWS from your list need to be disabled, all other is not connected to M1.7.3, just same equipment as in M1.7.

    5) Only OEM algorhytms from M1.7 M70 and M1.5.4, I will talk about this later.
    Last edited by Rasp; 01-26-2018, 01:23 PM.

    Leave a comment:


  • bmwman91
    replied
    1) EDIT: I am dumb and mis-read the wiring diagram. The dual temperature switch is not in the engine, it's the one in the radiator which is used to indicate the need for the auxiliary fan. The thermistors for the instrument cluster and ECU have been combined into a single unit now, rather than being two separate ones, and this dual thermistor part looks to be a direct swap into the M12 threaded hole in the head. The old location for the instrument cluster sender can just be plugged with an M14 bung. So I guess that the only remaining question is whether the NTC curve is the same for the E30 cluster sender and the late M43 sender? This is something that I can measure fairly easily.


    2) The other obvious required change to the harness is to deal with the 4 injector outputs, but if things are fired in pairs, it would be relatively simple to make the jump internally in the ECU and still use the existing wires. I have the terminal extractor tools, so moving wires to different positions is easy.



    3) Regarding the ignition coils that the M43 uses, do you know what the primary current peak is? On the stock M42 coils, it is ~8A with ~4ms dwell. If the M43 coils have less current, then it could be risky for the driver transistors.


    4) All of the other stuff related to EWS, EGS, ABS, ASC, etc is easy to disable from what you have mentioned. The vehicle inspections in the state I live in require that there be no displayed fault codes (check engine light) on cars as old as mine, so they will never connect a diagnostic tool, but they do want to see that the check light works and is off when running. Basically, the car has to look and run as if it is on all original equipment. It is all very stupid because they do not actually check anything important like lights, tires, other safety equipment, etc. It is supposed to be for emissions control, which is fine, and they do use the exhaust gas measurement tool to look for excessive emissions, but they also do this visual check and will your car fail if anything looks not-original, no matter how clean the exhaust is. My car has always burned very clean, but every time I have to spend a day moving parts around to "look" correct. STUPID! Sorry, I just had to rant a little.....

    5) Tell me about what you want to do with the MAF. I have been running my own custom converter for many years now, and there are certain differences between a VAM and a MAF which would require significant rewriting of the ECU software. Mainly, the MAF is MUCH faster and more sensitive. I briefly worked with the MS3 community on dealing with this, and they ultimately dealt with the large intake pulse behavior (mostly an issue on 4 cylinder engines) by taking measurements over a specific range of crankshaft angles and averaging the value. In my case, since I had no access to the software, I build a stand-alone DSP box which takes the MAF signal and IAT, and converts to the equivalent VAF signal (kg/hr to m3/hr in real time using temperature, using PV=nRT) and applying a custom FIR low-pass filter to damp out the intake pulses. There is more to it, and the mechanical VAM sensor had some funny resonant behaviors which the ECU was originally tuned for, but that is the quick summary.
    Last edited by bmwman91; 01-26-2018, 11:41 AM.

    Leave a comment:


  • Rasp
    replied
    Originally posted by bmwman91
    How is the programming different for the 1-stream vs 4-stream injectors? Are the switch on/off times different (injector lag / dead time), or is it that the improved atomization of the 4-stream ones ends up requiring different injection time since the fuel is used more efficiently?
    Different dead-time, minimum time, all enrichments (warmup, acceleration), also I'm noticed that fuel tables different too, but perhaps, it can be not depends to injector type.

    Originally posted by bmwman91
    Good to know that full sequential injection might not actually give any benefit. I have just always been curious about it.
    In fact, full sequential injection is better than semi-sequential, because it is possible to set the injection phase, and not to hit the closed valve. But it is necessary to modificate hardware and software then correctly set up... As a result, we get Motronic M2 from M1 :) and this give some little benefits with fuel economy and injector open time.

    Originally posted by bmwman91
    So M1.7.3 in the wiring diagrams shows that each injector is connected to an individual DME pin (pins 3, 4, 31, 32). Are they still fired in pairs?
    Yes, they still fired in pairs, but have two injector drivers for lowering heating (official explain of this changes from M1.7.2).

    Originally posted by bmwman91
    My assumption was that it would be better to do the fuel injection during the intake stroke on every cylinder to ensure that it atomizes the same way in each one, rather than firing one pairs where one is during the intake stroke and the other is during the power stroke (meaning that the fuel sits at the closed port and maybe ends up in a puddle or as a concentrated vapor region). Then again, the M42 seems to run pretty well with batched injection and I assume that if it was a big problem that BMW would not have done it. Maybe?
    It would be better in theory, but it doesnt in practice :) And for M1 Bosch or BMW decide use semi-sequential injection with VAF (lower range system), and for M2 full sequential injection with MAF (middle range system). In future M1 is given huge update for M1.5.2 and M1.5.4 (M2 produce is end at this time) - new 80517 CPU, full sequential injection, step or moment IAC, MAF or MAP and became cheapest system, used in chinese and russian cars under license.

    Originally posted by bmwman91
    And apologies in advance for the many very basic questions related to actually tuning these things.
    Nevermind, we all the novices here :)

    Leave a comment:


  • bmwman91
    replied
    I see. So M1.7.3 really is just an improved version of M1.7 with many of the functions fine-tuned for better running.

    How is the programming different for the 1-stream vs 4-stream injectors? Are the switch on/off times different (injector lag / dead time), or is it that the improved atomization of the 4-stream ones ends up requiring different injection time since the fuel is used more efficiently?

    Good to know that full sequential injection might not actually give any benefit. I have just always been curious about it. So M1.7.3 in the wiring diagrams shows that each injector is connected to an individual DME pin (pins 3, 4, 31, 32). Are they still fired in pairs? My assumption was that it would be better to do the fuel injection during the intake stroke on every cylinder to ensure that it atomizes the same way in each one, rather than firing one pairs where one is during the intake stroke and the other is during the power stroke (meaning that the fuel sits at the closed port and maybe ends up in a puddle or as a concentrated vapor region). Then again, the M42 seems to run pretty well with batched injection and I assume that if it was a big problem that BMW would not have done it. Maybe?


    And apologies in advance for the many very basic questions related to actually tuning these things. I have lots of experience with electronics and embedded systems...just not with automotive ones! When it comes to the practical side of this, I am totally clueless! But, since I at least know how to deal with some of the hardware, I can think about doing a full reverse engineering of M1.7.3 if I can find a good deal on one...shipping gets expensive from Europe!
    Last edited by bmwman91; 01-26-2018, 12:47 AM.

    Leave a comment:


  • Rasp
    replied
    Originally posted by bmwman91 View Post
    Alrighty, I found the wiring diagrams for the E36 with M1.7.3. It looks like it supports full sequential injection, along with all of the software improvements that you mentioned. I had thought about M5.2 at one point since I really wanted sequential injection, but there is so little information out there for it! Obviously sequential injection requires harness modifications, but that is fine.
    No, M1.7.3 is not supports full sequential injection, but prepared for this much more than older Motronics.

    Originally posted by bmwman91
    One more question about the M1.7.3 DME's. There seem to be a lot of BMW part numbers for these, with newer ones superseding the old ones.
    BMS43, BMS46 is completely different system on Motorolla CPU, like MSS50 and MSS54.

    M1.7.3 is 660 and 661 DMEs. Buy any from this and you will have M1.7.3, doesnt matter on engine and p/n.

    Leave a comment:


  • Rasp
    replied
    Originally posted by bmwman91
    So basically, one big improvement is that the injector constants in M1.7.3 actually work in the way that you would expect (since changing them in M1.x does not properly adjust for different injectors and you still have to remap everything)?
    No one of BMW Motronic has "injector constant" (FGAT0), I'm add custom code for this, works perfectly (because I'm give this few lines from M4.3 and put in necessary place :) ) Changes injector from EV1 (1 stream) to EV4 (4 stream, atomisation shower) is not just change FGAT0 and everything is done :) M1.7.3 configured for "modern" injectors in stock and work perfect and smooth in any temperature.

    Originally posted by bmwman91
    Can you run full sequential injection with M1.7.3 (individual injector control)? There are not enough CCP/PWM outputs on S700 to do it, but it looks like S702 has extra PWM pins which are not used in M1.7 so it could be possible there.
    Yes, need to use S702 like in M2.3.2, but there is need for completely change schematic and what is the need for this? Full sequential injection needed for economy 0.5-0.7 liters of fuel and for use extremely big injectors with turbo (because minimal injection time can not may be enough to maintain acceptable idle RPM).

    Originally posted by bmwman91
    But I thought that even M1.7 did some sort of wall film compensation?
    Yes, like all previous Bosch systems - by Load (theoretical time injection), but not like in M1.7.2

    Originally posted by bmwman91
    What microcontroller does it use? 80C535 which has no internal ROM, and then everything on the external 27C512 EPROM?
    80C535 with 27C512.

    Leave a comment:

Working...
X