logo Schiller Tuning
logo Schiller tuning
HomeECU Tuning CourseECU Tuning FileArticles
More Pages
  • Vendors
  • FAQs
  • About us
  • Contact us
  • Empty NotificationYou're all caught upthere are no new notifications
    Sign in

    Bosch ME17 & MED17 ECU Tuning Guide: How the Torque Structure Works

    EverythingAboutRemap
    Advanced
    32 min to read
    thumbnail

    Short answer

    A Bosch ME17-family ECU uses engine torque as its central control variable. The pedal, idle control, gearbox, stability control and the protection functions each send a torque request. The ECU filters and ranks those requests, then uses a torque model to set the air charge (throttle or Valvetronic, boost, cam timing) for the long-term request, and spark retard or cylinder cut-off for fast corrections [1]. A good calibration changes the requests, the limits and the models together, so that requested, delivered and monitored torque still agree.

    Scope of this guide

    This guide covers Bosch ME17-family petrol ECUs in passenger cars: ME17, MED17 and MEVD17. It explains the control principle Bosch engineers have published. Function names, priorities and extra paths differ between software versions, and we do not publish map addresses or calibration values. Motorcycle ECUs that also carry the ME17 name run different software and are not covered.

    Why this matters before you touch a map

    On older cable-throttle ECUs you could raise a fuel or ignition map and feel the result. On an ME17-family ECU, the same edit often changes nothing, or it changes the wrong thing. If the torque request is still capped, the ECU simply closes the throttle or lowers the boost target to hold the old torque. If you raise boost but leave the request and the model alone, the ECU calculates more torque than was requested and takes it back, by closing the throttle or retarding the spark.

    Both problems have the same cause: the ECU does not think in throttle angles or boost pressures. It thinks in newton-metres. Once you follow that chain, from request to coordinator to model to actuator, the map groups stop looking random. For the general idea behind this approach on any brand, see our overview of torque-based ECU strategy. This guide goes one level deeper, into how Bosch actually built it.

    What ME17, MED17 and MEVD17 mean

    Reading the name

    Bosch ECU names are short codes for what the unit controls. Tool vendors and trainers decode them the same way:

    • M — Motronic, Bosch's name for combined petrol injection and ignition control [9].
    • E — electronic throttle control, also called drive-by-wire. There is no cable between pedal and throttle [9].
    • D — direct injection: fuel is injected straight into the cylinder [9].
    • V — in MEV and MEVD, variable valve lift (Valvetronic), mainly used by BMW [10].
    • 17 — the generation. The digits after it (for example 17.2.4) identify the hardware and software variant for a vehicle maker or engine family.

    Name

    Injection

    Main load control

    Typical use

    ME17

    Port (manifold) injection

    Electronic throttle

    Port-injected petrol engines

    MED17

    Direct injection

    Electronic throttle

    Direct-injected petrol engines from many makers

    MEVD17

    Direct injection

    Valvetronic intake valve lift; throttle-free in normal running [6]

    BMW petrol engines with Valvetronic, for example the N20

    The letters tell you which actuators exist. They do not tell you the software version, the calibration, or which functions the vehicle maker switched on. Always identify the exact ECU variant and software number from your read tool before you plan a calibration.

    Where the family sits between ME7 and MG1

    The torque-based structure was introduced with Bosch ME7, described by Bosch engineers in 1998 [1]. Later work prepared that structure for vehicle-level torque coordination [2]. With the 17 generation, Bosch described a common software architecture for petrol ME(D)17 and diesel EDC17 control units [3], which is why tuners who know EDC17 recognise much of the logic in MED17. The successors are the MG1 (petrol) and MD1 (diesel) families, which tool vendors describe as direct descendants of MED17 and EDC17 [16].

    The practical point: what you learn about the torque structure carries across ME7, ME(D)17 and MG1, but names, priorities and extra functions change with each generation and each vehicle maker. Treat every new software as something to verify, not something to assume.

    Why torque is the central variable

    What changed with drive-by-wire

    Before the torque-based structure, many ECU functions acted on the actuators directly. Idle control, catalyst heating, traction control and the gearbox each asked for "close the throttle a bit" or "retard the spark a bit", and each function set its own priority. Bosch's engineers described the result plainly: the demands interfered with each other, and the calibration of one function depended on the calibration of another. Changing ignition timing, for example, upset the idle-speed pilot control [1].

    The electronic throttle removed the fixed link between pedal and throttle. That let the ECU control every torque-influencing actuator itself, so Bosch moved all functions to a common language: torque [1]. Today every function, inside or outside the engine ECU, sends a torque request. A single central block decides which request wins and how to deliver it.

    This gave two benefits that matter to anyone who calibrates these ECUs [1]:

    • External systems stay independent of the engine calibration. A traction-control or gearbox request does not move the throttle or the spark directly. It asks for torque, and the engine side delivers it however the current calibration allows.
    • The torque model depends only on engine data. If the hardware changes, the engine-specific tables are updated, and the other functions keep working.

    For a tuner, this is both good and bad news. Good, because the structure is logical and repeatable. Bad, because a change in one place is checked against every other place that also describes torque.

    Inner torque, losses and clutch torque

    Bosch's structure works with inner torque (Bosch writes it as tqi): the torque produced by combustion in the high-pressure part of the cycle. It is not yet the torque at the crankshaft flange. To get from inner torque to the torque that reaches the wheels, the ECU accounts for several losses in turn [1]:

    1. Inner torque — from combustion, before gas-exchange (pumping) losses.
    2. Engine output torque — inner torque minus pumping and friction losses.
    3. Clutch torque — engine output torque minus the torque needed for auxiliaries such as the alternator, steering pump and A/C compressor.
    4. Wheel torque — clutch torque after losses and gear ratios in the torque converter, gearbox and differential.

    Two practical consequences follow. First, the ECU must estimate friction and pumping losses, which change with engine temperature, speed and load; a review of SI engine-management architectures describes friction tables based on temperature and speed, and pumping-loss tables based on speed and charge [5]. Second, the torque values you see in the calibration are not the numbers a chassis dyno shows. A dyno measures at the wheels, after every loss above. Keep the two separate when you compare data. Engine simulation tools use the same chain: MathWorks' SI engine torque-structure model, which cites the Bosch ME7 paper, calculates brake torque from inner torque, lambda and spark multipliers, friction torque and pumping torque [14].

    How torque requests are collected and ranked

    The diagram below follows one driver request from the pedal to the engine, and shows the other requests that compete with it. Read it left to right: requests, coordination, realisation, then feedback and monitoring at the bottom.

    Figure 1. Simplified signal flow of the ME(D)17 torque structure. Conceptual: function names, priorities and actuators differ by ECU variant and software. Based on SAE 980801 [1] and the E-Gas monitoring concept [4]. File: bosch-med17-torque-structure-signal-flow.svg

    Where requests come from

    Bosch groups the inputs into internal and external requests [1]:

    • Internal: engine start, idle-speed control, engine-speed limitation, engine protection, catalyst heating.
    • External: the driver (pedal), cruise control, and vehicle dynamics control such as traction and stability control. The gearbox also requests torque, for example a short reduction during a shift.

    Every request is expressed as a torque value or as an efficiency value. Efficiency is 1.0 in normal running and is lowered on purpose for functions like catalyst heating, where the ECU wants late combustion and hot exhaust gas while the driver still gets the requested torque [1].

    The driver request starts as a map of pedal position against engine speed. That map is where the car's "feel" is set, but it is only a request. It does not decide the final torque on its own.

    Priority handling: minimum and maximum selection

    The main job of the torque demand manager is priority handling, done by minimum and maximum selection [1]. In plain terms:

    • A request that must cap torque (a gearbox limit, a traction-control reduction, an engine-protection limit) works like a minimum selection: the lower value wins.
    • A request that must hold torque up (idle control preventing a stall, drag-torque control on a slippery road) works like a maximum selection: the higher value wins.

    This is why raising the driver request alone often does nothing at full load. If any cap further down the chain is lower than your new request, the cap wins, and the ECU quietly delivers the old torque.

    Driveability functions

    After priority handling, the result passes through driveability functions: filters and slope limits, a dashpot function that limits how far intake-manifold pressure can drop, and an anti-jerk function that damps drivetrain oscillation [1]. Bosch notes that these let the vehicle maker set anything from a comfortable to a sporty character [1]. When customers say a tuned car feels "soft" or "laggy" even though the dyno numbers are up, these filters are usually part of the answer.

    Long-term and short-term demands

    The coordinated request is then split in two [1]:

    1. Long-term demand. Delivered by changing cylinder charge: throttle position (or valve lift on Valvetronic engines) and wastegate opening on turbo engines. It is accurate and efficient but slow. Bosch notes that the throttle actuator and the intake manifold limit its speed, and that the manifold time constant can reach several hundred milliseconds at low engine speed.
    2. Short-term demand. Delivered through crank-synchronous outputs, ignition timing and injection, which can change torque in the next combustion cycle. It handles short events lasting some hundred milliseconds, such as a shift-comfort reduction or a stability-control intervention, without disturbing the slow air path.

    So the same ECU always runs two answers at once: a slow, efficient one for steady demand, and a fast, less efficient one for quick corrections.

    The torque model: one model, used in both directions

    The coordinator produces a torque number. To turn that number into actuator positions, and to know how much torque the engine is actually making, the ECU needs a model of the engine. Bosch published its form for ME7, and it is the key to understanding every ME-family calibration [1].

    Figure 2. The torque model used forwards (actual torque) and in reverse (air-charge target). Symbols as in SAE 980801 [1]; production software adds loss torques, corrections and adaptations. File: bosch-med17-torque-model-forward-inverse.svg

    The equation

    Bosch describes inner torque with an empirical model built on physical ideas [1]:

    tqi = tqi_opt_l1 · eff_lam · eff_red · eff_sa

    Symbol

    Meaning

    Depends on

    tqi

    Inner torque [Nm]

    —

    tqi_opt_l1

    Optimum inner torque at lambda 1.0 and optimum spark [Nm]

    Relative cylinder charge rc (fresh air mass per stroke) and engine speed n

    eff_lam

    Lambda efficiency [–]

    Lambda (air-fuel ratio relative to stoichiometric)

    eff_sa

    Spark-advance efficiency [–]

    d_sa = sa_opt − sa, the distance of the actual spark angle from the optimum

    eff_red

    Reduction factor [–]

    Cylinder-individual fuel cut-off

    The model separates the effects of charge, mixture, spark and cut-off, so each can be calibrated on its own [1]. Each efficiency is 1.0 at its reference condition (lambda 1.0, optimum spark, all cylinders firing) and lower elsewhere. Bosch notes that at some operating points the optimum spark angle is only a theoretical value, because the knock limit stops the engine from reaching it [1]. If lambda as a quantity is new to you, our guide to lambda and air-fuel ratio explains it.

    Illustrative example (made-up numbers, not calibration data): suppose the map gives tqi_opt_l1 = 200 Nm at the current charge and speed. The engine runs slightly rich (eff_lam = 0.97) and 4 degrees after the optimum spark angle (eff_sa = 0.95), with all cylinders firing (eff_red = 1.0). The model then estimates tqi = 200 × 0.97 × 1.0 × 0.95 ≈ 184 Nm.

    Forward: estimating actual torque

    Used forwards, the model takes the actual cylinder charge, measured by an air-mass meter or calculated from intake-manifold pressure, plus actual lambda and actual spark, and returns the actual inner torque [1]. This value is fed back to the coordinator and used by the monitoring layer.

    Inverse: turning torque into an air target

    Used in reverse, the model turns the long-term torque request into an air target [1]:

    1. The torque target is corrected for the lambda and spark angle the base calibration plans to use, because those may differ from lambda 1.0 and the optimum.
    2. An inverse table gives the cylinder charge that produces that optimum-equivalent torque at the current speed: rc_tar = fn(tqi_opt_l1, n).
    3. The charge target is converted into a throttle opening using the intake-manifold model, and a closed-loop controller positions the throttle. On turbo and Valvetronic engines the same charge target drives boost and valve lift.

    The fast path uses the same model with the actual charge. The spark efficiency target is the torque target divided by the torque the actual charge would give at the actual lambda and cut-off state [1]. Bosch points out that this links the two paths automatically, with no extra coordination [1]. In practice: if the air charge is higher than planned, the ECU retards the spark to hold the requested torque.

    That explains a classic tuning symptom. Raise boost but leave the torque request and the model alone, and the ECU brings the charge back to target by closing the throttle (or reducing valve lift). Where the charge still overshoots, it retards the spark to hold the requested torque. Either way you get no extra torque, and in the second case you also get hotter exhaust gas.

    The slow path: from torque to air charge

    Throttle, Valvetronic and boost

    The slow path delivers torque by changing how much air is trapped in each cylinder. The actuators differ by ECU type:

    • MED17 with a throttle: the charge target becomes a manifold-pressure target and then a throttle angle, through the intake-manifold model [1].
    • MEVD17 with Valvetronic: BMW replaced the throttle butterfly's load-control function with continuously variable intake valve lift, removing much of the throttling (pumping) loss at part load [8]. On the N20, load control is throttle-free in normal running, using variable intake valve lift plus variable camshaft timing on both sides [6].
    • Turbocharged engines: when the charge target needs more than atmospheric pressure, it becomes a boost-pressure target, and the ECU positions the wastegate. Bosch lists wastegate control as one of the controller outputs for turbo engines [1]. On the N20, BMW's training manual describes a twin-scroll turbocharger with a vacuum-operated wastegate [6].

    Why the slow path has to be fast enough

    All efficiencies in the torque model are 1.0 or lower. That means the fast path can only remove torque from what the air charge supports. It cannot add torque the air is not there for. This follows directly from the equation above.

    Three consequences for tuning:

    1. Response comes from the air path. If boost builds slowly, no spark change can fill the gap. Transient response is set by the charge target, the boost controller and the turbo itself.
    2. Fast torque needs a reserve. To have torque ready instantly, for example at idle when the A/C compressor switches on, the ECU must hold extra air and retard the spark, then advance the spark when the load arrives. That costs efficiency, so it is used only where needed.
    3. The charge model must match the hardware. If the actual air charge differs from what the model expects (a new intake, a larger turbo, changed cam timing), the fast path compensates with spark, and the torque estimate drifts. Hardware changes always mean model work, not only target changes.

    The fast path: spark efficiency and knock

    The fast path has two tools: the spark angle and cylinder cut-off [1].

    Spark angle. Moving the spark away from the optimum lowers spark efficiency, and torque falls within the next combustion events [1]. The ECU uses this for short reductions (gear shifts, stability control) and for deliberate efficiency demands such as catalyst heating. The price is efficiency: late combustion turns less of the fuel's energy into work and sends more heat into the exhaust.

    Cylinder cut-off. Stopping injection on individual cylinders gives larger, step-like reductions. In the torque model this is the reduction factor eff_red [1].

    Where knock comes in

    On a turbo petrol engine at high load, the spark angle the ECU can actually use is usually not the optimum. Bosch notes that at some operating points the optimum spark is only theoretical, because the knock limit comes first [1], and ME7 already included cylinder-individual knock control [1].

    This has a direct, practical meaning in the torque structure:

    1. When knock control retards a cylinder, actual spark efficiency drops.
    2. The forward model sees lower actual torque.
    3. Delivered torque falls below the request. Whether the software makes up for it with more air depends on the ECU software, and more air raises cylinder pressure and the tendency to knock again.

    The result on a knock-limited engine is a calibration that looks fine on paper but delivers less than expected, with hot exhaust gas and varying results from run to run. Fuel quality makes this worse or better: lower-octane fuel reaches the knock limit sooner, so the usable spark angle at a given load is later. On low-octane fuel, extra boost or extra spark advance often buys nothing, because knock control takes it straight back.

    The practical rule: on ME17-family ECUs, judge an ignition change by the knock-control activity in your logs, not by the map value. If knock retard grows after a change, the change did not add torque. For the mechanisms behind knock and how calibration addresses them, see our article on the causes of engine knock and how ECU remapping deals with them.

    Limits, protection and torque monitoring

    An ME17-family ECU has two different kinds of torque ceilings. They are often confused, and treating them the same way is one of the most common causes of failed or unsafe calibrations.

    Limits inside the coordinator

    These are ordinary torque requests that happen to cap the result through the minimum selection described above. Bosch lists engine-speed limitation and engine-protection functions among the internal requests [1]. In a typical vehicle you will also meet:

    • Maximum engine torque limits, often depending on engine speed, gear or temperature.
    • Gearbox and drivetrain limits, sent by the transmission control unit or stored in the engine software to protect the gearbox, clutch or axles.
    • Component protection, for example limits that react to high exhaust-gas or coolant temperature.

    These limits are part of the vehicle maker's calibration. Raising one is a design decision: the gearbox, clutch and driveshafts must be able to take the new torque, with margin. On automatic cars, the gearbox software can hold its own torque limits, so the engine and transmission calibrations must agree.

    Level 2 torque monitoring

    The second kind of ceiling is a safety function, not a calibration preference. German vehicle makers standardised a three-level monitoring concept for electronic throttle control, the E-Gas concept [4]:

    Level

    Name

    Job

    Level 1

    Function level

    The normal engine control software: delivers the requested torque, monitors components, runs diagnostics and triggers fault reactions [4].

    Level 2

    Function monitoring level

    Separate software that checks Level 1, for example by monitoring calculated torque or vehicle acceleration. For petrol engines the main check is a torque comparison: permissible torque against current torque. If a fault is found, it triggers a system reaction [4].

    Level 3

    Controller monitoring level

    An independent monitoring module checks that the processor runs the monitoring program correctly, using a cyclic question-and-answer test [4].

    The safety goal behind this is preventing unintended acceleration, which the concept rates at ASIL B under ISO 26262 [4]. When Level 2 detects that calculated torque exceeds permissible torque beyond its tolerance, the ECU moves the vehicle to a controllable safe state, typically a reduced-power mode with a stored fault.

    Why this matters for tuning: Level 2 builds its own idea of permissible torque from the pedal and from its own copy of the torque calculation. If a calibration raises delivered torque without keeping the monitoring consistent, the car may run fine on the dyno and then drop into reduced power on the road under a particular combination of pedal, load and temperature.

    Safety and legal note. Torque monitoring exists to stop a car from accelerating when the driver has not asked for it. We do not disable, bypass or suppress it, and we advise against any calibration that does. Changes to an ECU's safety functions may also affect type approval and insurance, and the rules differ by country. Check the regulations where the vehicle is used, and have changes reviewed by a qualified calibrator.

    What this means for calibration

    The torque structure turns calibration into a consistency job. You are not editing one map; you are moving a chain of requests, limits and models together.

    Map groups that must stay consistent

    The group names below describe functions, not the labels in any particular software. Exact names, axes and structure differ between ME7, ME(D)17 versions and vehicle makers, and you find them through a map pack or the matching description file. (On ME7, practitioners widely refer to the torque-to-charge and charge-to-torque tables as KFMIRL and KFMIOP; do not assume the same names or layout on ME17.) Our guide to WinOLS map packs, A2L and DAMOS files explains how those definitions are used.

    Map group

    What it does

    Typical axes

    Changes with

    Driver request

    Turns pedal position into a torque request; sets the car's feel

    Pedal position, engine speed

    Driveability goals

    Torque limits

    Cap the coordinated request (engine, gear, temperature, protection)

    Engine speed, gear, temperature

    Hardware strength, gearbox limits

    Torque model, forward

    Optimum torque from charge and speed; efficiency curves for lambda and spark

    Charge, engine speed; lambda; spark distance from optimum

    Engine hardware, fuel

    Torque model, inverse

    Charge target from torque and speed

    Torque, engine speed

    Must mirror the forward model

    Charge and boost

    Charge and boost targets and limits, wastegate control, manifold model; valve lift and cam targets on Valvetronic engines

    Engine speed, load, pressure ratio, temperature

    Turbo, intake, exhaust, altitude

    Ignition

    Base and optimum spark, knock-related limits, knock-control settings

    Engine speed, load, temperature

    Fuel octane, compression, charge temperature

    Fuel and lambda

    Full-load lambda targets, component-protection enrichment

    Engine speed, load, exhaust-temperature model

    Power level, exhaust temperatures

    Monitoring

    Level 2 permissible-torque calculation

    Pedal, engine speed and others

    Must stay consistent with Level 1 — never disabled

    The most important pair is the forward and inverse torque model. If you change one and not the other, the charge target and the torque estimate disagree. The ECU then corrects with spark or throttle, and Level 2 sees a different torque from the one Level 1 thinks it delivered.

    A safe working order

    1. Identify and back up. Read the full original data, record the ECU variant, hardware and software numbers, and keep the untouched file. See our comparison of OBD, bench and boot programming for which method suits which ECU.
    2. Log the stock car. Log requested torque, actual torque, charge, boost, spark, knock retard and lambda at full load before changing anything.
    3. Set a target. Decide the torque you want, within what the engine, gearbox and fuel can support, with margin.
    4. Open the request and the limits only as far as that target.
    5. Adjust charge and boost so the slow path can deliver the target, and keep the forward and inverse models consistent with the real air charge.
    6. Set ignition for the fuel that will actually be used, and check knock retard in logs.
    7. Check lambda and component protection at the new load.
    8. Correct checksums and write. Our guide to checksum correction covers why this step matters.
    9. Log, compare, repeat. Requested and actual torque should match; knock retard should stay low; no new faults.
    10. Verify on a dyno against a baseline taken the same day, on the same dyno and with the same correction standard.

    Signals to log

    Signal

    What it tells you

    Engine speed, pedal position

    The operating point and what the driver asked for

    Driver torque request and coordinated request

    Whether a limit is cutting the request

    Actual (calculated) torque

    Whether the engine delivers what was requested

    Charge target and actual charge

    Whether the slow path keeps up and the model matches

    Boost target and actual boost, wastegate output

    Boost-control quality and turbo margin

    Throttle angle, or Valvetronic lift on MEVD17

    Whether the ECU is throttling back excess air

    Ignition angle and knock retard per cylinder

    Knock margin on the actual fuel

    Lambda target and actual lambda

    Mixture control and enrichment at full load

    Intake air and coolant temperature

    Corrections that change limits and spark

    Fuel high-pressure target and actual (direct injection)

    Whether the fuel system keeps up at the new load

    If your logging tool cannot show a signal, do not guess its value. Record which signals were available and judge the result only on those.

    Common mistakes and limitations

    Mistakes we see most often

    Mistake

    What actually happens

    Better approach

    Raising only the pedal map

    The car feels sharper, but a limit further down still caps full-load torque

    Treat the pedal map as feel; find which limit is active in the logs

    Raising boost on its own

    The ECU closes the throttle or reduces valve lift; if charge still overshoots, it retards spark

    Raise the torque request, limits and charge targets together

    Changing the forward torque model but not the inverse (or the reverse)

    Charge target and torque estimate disagree; spark or throttle corrections; monitoring sees a different torque

    Edit the pair together and confirm with logged requested vs actual torque

    Adding spark advance on low-octane fuel

    Knock control removes it; results vary from run to run

    Calibrate ignition for the fuel actually used; judge by knock retard

    Ignoring gearbox limits

    Torque reductions during shifts, clutch slip or gearbox faults

    Keep engine and gearbox torque limits consistent with the hardware

    Disabling monitoring to clear reduced-power mode

    Removes a safety function; the real inconsistency remains

    Find why requested, delivered and monitored torque disagree, and fix that

    Using a file from another software version

    Maps sit in different places or have different structure

    Match hardware and software numbers exactly; build from the car's own read

    Comparing dyno figures from different dynos or corrections

    Differences that have nothing to do with the calibration

    Compare baseline and final runs from the same dyno, day and correction

    Limitations of this guide

    • The most detailed public description of Bosch's torque structure is the ME7 paper [1]. ME(D)17 keeps the same principle and shares an architecture with EDC17 [3], but Bosch has not published its ME17 function details. Where this guide applies the ME7 description to ME17, treat it as the principle, not as a description of a specific software.
    • Map groups and signals are described by function. Their names, axes and availability depend on the software version and your tools.
    • Nothing here replaces vehicle-specific verification: logs, knock monitoring, hardware limits and the rules that apply where the car is driven.

    Project: BMW 528i (F10, N20) — mild Stage 1 on 90-octane fuel

    This car shows the torque structure in practice. The owner runs locally available 90-octane fuel, so the goal was a small, repeatable gain with knock margin left in reserve, not a peak number.

    The project car: BMW 528i (F10, model year 2013) with the 2.0-litre N20 turbo engine.

    At a glance

    Item

    Detail

    Vehicle

    BMW 528i, F10 5 Series saloon, model year 2013

    Engine

    BMW N20B20, 2.0-litre four-cylinder turbo petrol

    ECU

    Bosch MEVD17.2.x (BMW DME)

    Read / write

    Alientech KESS3, bench mode (ECU removed from the car)

    Fuel

    90 octane (RON) 

    Work

    Stage 1 calibration built on the torque structure; no hardware changes 

    Measurement

    Dynojet chassis dynamometer, WinPEP 8 software; wheel figures

    Correction standard, ambient conditions, date

     not shown on the screen

    Engine specification: BMW N20B20 (528i, 180 kW version)

    Specification

    Value

    Layout

    Inline four-cylinder, four valves per cylinder, turbocharged petrol

    Displacement

    1,997 cm³ [6]

    Bore × stroke

    84.0 mm × 90.1 mm [6]

    Compression ratio

    10.0 : 1 per BMW's training manual [6] (one trade report gives 10.3 : 1 [15])

    Rated power

    180 kW (245 PS) at 5,000–6,500 rpm [7]

    Rated torque

    350 Nm at 1,250–4,800 rpm [7]

    Turbocharging

    Twin-scroll exhaust turbocharger, vacuum-operated wastegate [6]

    Injection

    Direct injection with solenoid injectors and a Bosch high-pressure pump [6]; injection pressure reported at 200 bar [15]

    Load control

    Valvetronic III variable intake valve lift; throttle-free in normal running [6]

    Camshaft timing

    Double VANOS; adjustment range 70° crank angle intake, 55° exhaust [6]

    Maximum valve lift

    9.9 mm intake, 9.3 mm exhaust [6]

    ECU specification: Bosch MEVD17.2.x

    Specification

    Value

    Family

    Bosch Motronic MEVD17: electronic load control, Valvetronic, direct injection [9][10]

    Variant at N20 launch

    MEVD17.2.4, per BMW's N20 training manual (information status November 2010) [6]

    Variants listed for the F10 528i by parts and tool suppliers

    MEVD17.2.4 (about 02/2011 to 06/2013) and MEVD17.2.P (facelift, about 06/2013 to 10/2016) [11][12]; one tool vendor also lists MEVD17.2.9 [13]

    This car

    Model year 2013, so either side of the facelift change is possible. Variant, hardware number and software number

    Torque functions used

    Driver request, torque limits, torque model, charge and boost control, ignition and knock control (described by function above)

    What we did

    • Removed the DME and read it on the bench with KESS3, then saved and kept the untouched original.
    • Logged the stock car and ran a baseline on the dyno 
    • Raised the torque request and the related torque limits by a small amount only 
    • Matched the charge and boost targets to the new torque, inside the stock turbocharger's comfortable range, and kept the forward and inverse torque model consistent .
    • Kept ignition conservative for 90-octane fuel and checked knock-control activity 
    • Left Level 2 monitoring and all safety functions unchanged; corrected checksums, wrote the file on the bench, and verified on the dyno.

    Results

    Measurement (wheel)

    Stock (red curve)

    Stage 1 as delivered (blue curve)

    Change

    Peak power

    244.05 PS at 5,490 rpm

    262.52 PS at 5,390 rpm

    +18.47 PS (+7.6%)

    Peak torque

    360.34 Nm

    380.43 Nm

    +20.09 Nm (+5.6%)

    At 5,659 rpm (cursor point)

    238.74 PS / 296.32 Nm

    255.85 PS / 317.58 Nm

    +17.11 PS / +21.26 Nm (+7.2%)

    How to read these figures:

    • Measurement point: at the wheels, on a Dynojet chassis dynamometer. Driveline losses are already subtracted.
    • Units: the screen does not print the power unit. The displayed values satisfy P = T × n ÷ 7023, which is the relation for power in PS (metric horsepower), torque in Nm and engine speed in rpm. Example: 317.58 Nm × 5,659 rpm ÷ 7023 = 255.9 PS, matching the screen.
    • Torque basis: the torque is wheel power divided by engine speed. It is not the torque at the wheel hub, which would be multiplied by the gear ratio.
    • Change: (Stage 1 − stock) ÷ stock. Example: (262.52 − 244.05) ÷ 244.05 = 7.6%.
    • A third run (green, 252.04 PS at 5,260 rpm, 374.44 Nm) is an intermediate version and is not used for the comparison .

    Wheel power, stock (red) vs Stage 1 as delivered (blue). Values in PS. Dynojet, WinPEP 8.

    Wheel torque on an engine-speed basis, stock (red) vs Stage 1 (blue). Cursor at 5,659 rpm.

    What the data shows

    • A modest, spread gain. At the cursor point both power and torque rise by about 7.2%. The peak-power point moves about 100 rpm lower.
    • The size of the gain matches the fuel. On 90-octane fuel the knock limit arrives early, so extra charge only pays off while the spark can stay near its usable angle. A small torque increase with conservative ignition keeps knock control quiet; a larger one would mostly be taken back as spark retard.
    • Do not compare these figures with the factory rating. The stock wheel figures are already close to, or above, BMW's crank rating of 245 PS and 350 Nm. That can come from the dyno type, the correction standard, ambient conditions or engine-to-engine spread; this test cannot tell which. The meaningful result is the difference between two runs on the same dyno.

    Limits of this test

    • One car, one fuel, one dyno. The correction standard and ambient conditions are not shown on the screen .
    • Logged knock retard and requested-versus-actual torque are not published with this article 
    • The gain applies to this car's software and condition. Another N20 with different software, fuel or hardware can respond differently.

    Live Dynojet dashboard during the test runs.

    The N20B20 engine in the F10 528i.

    Conclusion

    A Bosch ME17-family ECU decides in newton-metres. Every function asks for torque; the coordinator ranks the requests; the torque model turns the winner into an air target for the slow path and a spark or cut-off target for the fast path; and a separate monitoring layer checks that the engine never makes more torque than the driver asked for.

    For calibration, that means one rule above all: move the request, the limits and the models together, and prove the result with logs. When requested, delivered and monitored torque agree, and knock control stays quiet on the fuel the car really uses, the gain is real, as the mild N20 Stage 1 above shows. When they disagree, the ECU takes the extra torque back, one way or another. Before you judge any result, read why dyno-tested and street-tested tuning give different kinds of evidence.

    Frequently asked questions

    What does MED17 stand for?

    M stands for Motronic, Bosch's combined injection and ignition control; E for electronic throttle control; D for direct injection; and 17 for the generation [9]. MEVD17 adds V for Valvetronic variable valve lift, used mainly by BMW [10].

    Is MEVD17 tuned the same way as MED17?

    The torque structure is the same principle. The difference is the slow path: on MEVD17 the air charge is controlled mainly by intake valve lift instead of a throttle [6][8], so the charge-control and Valvetronic tables matter more than throttle tables.

    Why did my MED17 not make more power after I raised the boost map?

    Because the ECU works from a torque request. If the request or a torque limit is unchanged, the ECU brings the air charge back to its target by closing the throttle or reducing valve lift, and retards the spark if the charge still overshoots [1]. Raise the request, the limits and the charge targets together, and keep the torque model consistent.

    Which ECU does a BMW 528i F10 with the N20 engine use?

    A Bosch MEVD17.2.x. BMW's N20 training manual names the MEVD17.2.4 [6]; suppliers list the MEVD17.2.4 for earlier cars and the MEVD17.2.P for facelift cars from about mid-2013 [11][12]. Read the identification from your tool before you plan anything.

    Is a Stage 1 safe on 90-octane fuel?

    It can be, if the calibration is built for that fuel: a modest torque increase, conservative ignition and logs that show knock control stays quiet. Safety depends on the specific engine, its condition and the calibration, so verify every car with logs rather than relying on another car's result.

    Work with Bosch ME-family torque structures

    Learn to read and calibrate ME7, ME9, ME17 and MED17 software step by step in our WinOLS Advanced: Bosch ME7, ME9, ME17, MED17 course. Prefer to send us your file? Engineer review and a 30-day warranty are included in every file: Order Your Tuning File.

    References

    Manufacturer and engineering papers (Tier 1–2)

    1. J. Gerhardt, H. Hönninger and H. Bischof, "A New Approach to Functional and Software Structure for Engine Management Systems – BOSCH ME7," SAE Technical Paper 980801, 1998. doi:10.4271/980801. Full text.
    2. B. Mencher, H. Jessen, L. Kaiser and J. Gerhardt, "Preparing for CARTRONIC – Interface and New Strategies for Torque Coordination and Conversion in a Spark Ignition Engine-Management System," SAE Technical Paper 2001-01-0268, 2001. doi:10.4271/2001-01-0268. Abstract.
    3. Hammel, Jessen, Boss, Traub, Tischer and Hönninger, "A Common Software Architecture for Diesel and Gasoline Engine Control Systems of the New Generation EDC/ME(D)17," SAE Technical Paper 2003-01-1048, 2003. doi:10.4271/2003-01-1048. Abstract and metadata.

    Industry concept (Tier 3)

    1. EGAS Workgroup (German vehicle makers), "Standardized E-Gas Monitoring Concept for Gasoline and Diesel Engine Control Units," Version 6.0, 13 July 2015. Full text.

    Scientific review (Tier 2)

    1. B. Ashok, S. Denis Ashok and C. Ramesh Kumar, "A review on control system architecture of a SI engine management system," Annual Reviews in Control, vol. 41, pp. 94–118, 2016. doi:10.1016/j.arcontrol.2016.04.005. Full text.

    OEM documentation (Tier 4)

    1. BMW AG, "N20 Engine," Technical Training reference manual ST1111, information status November 2010. https://bmwtechinfo.bmwgroup.com/tech_training_manual/ST1111%20N20%20Engine.pdf
    2. BMW Group PressClub, BMW 5 Series technical data (Spain), attachment T0122032ES. https://www.press.bmwgroup.com/spain/article/attachment/T0122032ES/177559
    3. BMW Group PressClub, "The BMW Four-Cylinder Petrol Engine with VALVETRONIC," press kit, February 2001. https://www.press.bmwgroup.com/brazil/article/attachment/T0067546PT/96867

    Specialist and trade sources (Tier 5)

    1. AutoTuner, "Bosch ECU references." https://www.autotuner.com/blogs/news/bosch-ecu-references
    2. HP Academy, "OE ECU basics: ECU logic flow – MED9," WinOLS Mastery course lesson. https://hpacademy.com/courses/winols-mastery-map-identification-and-editing/oe-ecu-basics-ecu-logic-flow-med9
    3. RPM Motorsport, "BMW F-Series MEVD17.2.4 N20 remanufactured DME." https://www.rpmmotorsport.net/products/bmw-f-series-mevd1724-n20-remanufactured-dme-ecu-engine-control-unit
    4. RPM Motorsport, "BMW F-Series MEVD17.2.P N20/N26 remanufactured DME." https://www.rpmmotorsport.net/collections/all/products/bmw-f-series-mevd172p-n20-n26-remanufactured-dme-ecu-engine-control-unit
    5. Magic Motorsport, BMW MEVD17.2.x vehicle compatibility list. https://magicmotorsport.com/?p=651621
    6. MathWorks, "SI Engine Torque Structure Model," Powertrain Blockset documentation. https://www.mathworks.com/help/autoblks/ug/si-engine-torque-structure-model.html
    7. Ward's Auto, "BMW 2.0L N20 Turbocharged DOHC I-4," January 2012 update. https://wardsauto.com/industry/bmw-20l-n20-turbocharged-dohc-i-4
    8. Abrites, "Bosch MG1/MD1 ECUs: mysteries, myths and legends." https://abrites.com/blog/bosch-mg1-md1-ecus-mysteries-myths-and-legends

    All online sources accessed 1 November 2026. Project data: Schiller Tuning, BMW 528i F10 N20, Dynojet chassis dynamometer with WinPEP 8

    Enjoyed the content? Add us as a preferred source to see more of it in Search.Add as a preferred source on Google
    Share the Article with Others!

    About the author

    Schiller Tuning logo
    ECU Tuning Academy & File Service
    Schiller Tuning is a team of professional ECU tuners teaching and writing about ECU remapping, chip tuning and tuning software. Every article and course is produced and reviewed in-house, based on the files and vehicles we work on every day.

    Leave a Comment

    Have a question or feedback? Share it with us in the comments.
    No comments yet. Be the first to share your thoughts!

    Frequently Asked Questions

    Quick answers to common questions about our services

    M stands for Motronic, Bosch's combined injection and ignition control; E for electronic throttle control; D for direct injection; and 17 for the generation [9]. MEVD17 adds V for Valvetronic variable valve lift, used mainly by BMW

    Do you have any questions?

    You can reach us most easily via WhatsApp or email

    EmailWhatsapp