Skip to content

How to Read a BMW Datalog

A BMW datalog is a time-stamped recording of what the engine control unit (DME) was doing during a drive, sampled several times a second. Reading one means checking each channel against the others and against the conditions of the pull, never in isolation. This guide walks the channels a tuner looks at — boost, ignition timing, fueling, temperatures and load — what healthy behavior looks like, and how to tell a real fault from a normal quirk.

A channel-by-channel guide to boost, wastegate duty, timing correction, fueling, fuel pressure, IAT, throttle intervention and load limits — with the cross-checks that keep you from misreading them.

Reviewed by Justin, Owner & BMW Calibration Specialist at Synergy BMW Tuning · Updated September 2026.

The one rule. Judge every channel in context. A number that looks alarming on its own — a lean spike, a timing pull, a boost miss — is often normal for that moment in the pull (a shift, a lift, wheelspin) or explained by another channel. Compare like conditions, separate spool from the power band, and read target against actual, not actual alone.

What a datalog is and why it matters

A datalog is a time-series recording of DME parameters captured while you drive. A typical pull records engine speed, pedal and throttle position, calculated load or relative filling, boost target and actual, wastegate duty, ignition timing and per-cylinder correction, lambda or AFR, high- and low-side fuel pressure, intake air and coolant temperature, cam positions, airflow and modeled torque.

On a direct-injection turbo BMW, much of the calibration work is done from logs rather than a dyno, because the log shows how the engine responds on your fuel, your hardware and your local conditions. The tools differ but the data underneath does not: MHD, bootmod3 and MG Flasher read the same underlying DME channels; they name them differently, sample at different rates, and present pressure and trim values in their own way. Whatever you run, the skill is the same — know which channels matter for the question you are asking, capture them cleanly, and read them together.

How to capture a usable datalog

A usable pull is one continuous wide-open sweep in a single gear, from low to mid rpm up to redline, on a flat road, with the drivetrain and tires hooked up and the engine at temperature. Everything else is noise.

The clean-pull checklist

  • Coolant and oil at normal operating temperature before you start. Cold logs are not diagnostic.
  • Intake air temperature near ambient — not heat-soaked from a previous pull or idling in traffic.
  • Traction and stability control fully off, so the DME is not cutting torque for wheel slip.
  • Accelerator pinned to the floor for the whole pull. Confirm the throttle plate reads wide open, not just the pedal.
  • One gear, no upshift, no lift. Start around 2,000–2,500 rpm and run to redline.
  • Straight, level, dry road with a consistent surface. No wheelspin.
  • Note the fuel (octane and ethanol content), any hardware changed, and ambient conditions so the reader has context.

What gear to log in

Log in third gear for a manual or older 6-speed automatic, and fourth for a 7- or 8-speed gearbox — one gear, no upshift, from about 2,000 rpm to redline.

Recommended datalog gear by transmission type for a BMW wide-open-throttle pull
TransmissionLog inWhy
Manual, 6-speed3rd gearLong enough for a full rpm sweep without excessive road speed.
Automatic, 6-speed (older)3rd gear, manual modeLock the gear so the box does not shift mid-pull.
Automatic, 7- or 8-speed (ZF, DCT)4th gear, manual mode4th is closer to a 1:1 ratio and holds load steadily across the range.

Consistency matters more than the exact choice. Whatever gear you pick, use the same one for every log so revisions compare like for like.

What channels to log

Start with this set for a general health check, then add channels for a specific question:

  • RPM, pedal %, throttle-plate %, calculated load / relative filling — confirms the pull was actually wide open and shows how hard the DME was working.
  • Boost target and boost actual, wastegate duty / position — boost control.
  • Ignition timing and per-cylinder timing correction / knock retard — knock margin.
  • Lambda or AFR, target and actual — fueling. Add a wideband channel if you have one.
  • Fuel rail pressure (high side) target and actual, low-pressure fuel pressure — fuel-system headroom.
  • Intake air / charge-air temperature, coolant temperature — heat.
  • Intake and exhaust cam position (target and actual) — VANOS, when chasing an inconsistency.

What makes a log useless

  • Part throttle — a gentle roll into the pedal instead of flooring it.
  • Wheelspin, which corrupts airflow, load and boost readings.
  • An upshift in the middle of the pull.
  • A cold engine, or a heat-soaked one after several back-to-back runs.
  • Too short — a two-second stab that never shows the top end.
  • Missing the channel that answers the question you are asking.

Sharing the log

Send the raw file, not a screenshot, and include your vehicle details. Many owners share logs through Datazap, which plots the channels in a browser; your tuner may prefer the original CSV. The data log analyzer on this site gives a quick screening pass before you send it.

The one rule: read every channel in context

No channel is judged alone. Every value is read against the operating context and the supporting channels. Most misreads come from taking a single number at a single instant and treating it as a verdict. Before a value means anything, apply these:

  • Exclude non-representative samples. Fuel cut on a lift, decel, a gear shift, a traction intervention, a tip-in — ignore those windows unless the event itself is what you are diagnosing.
  • Compare like with like. Judge a value against another sample at similar rpm, load and boost, not against a different part of the pull.
  • Separate the spool zone from the power band. Behavior while the turbo is still building boost is not the same as behavior once it is on target.
  • Read target against actual. Boost, lambda, rail pressure and cam angle all log a request and a result. The gap between them is the signal; the raw actual number is not.
  • Correlate before concluding. Wastegate duty with boost error. Fuel pressure with requested load. Timing correction with load, fueling and temperature. Single-turbo spool behavior is read differently from a stock-frame twin-turbo.

The worked examples later in this guide are built entirely on this: one channel raises a question, and the others answer it.

Boost: target vs actual

Boost target is what the DME's load model is asking for; boost actual is what the manifold pressure sensor measured. Healthy behavior is actual tracking target closely once the turbo is spooled, with only a brief lag during spool-up.

Why the boost target moves during a pull

The boost target moves during a pull because it is derived from the torque request, then trimmed for intake air temperature, barometric pressure, gear and coolant temperature. A target that steps down as IAT climbs, or that is lower at altitude, is the model working as designed — not a fault.

Reading the spool curve

The normal shape is spool → hold → taper: boost rises to a peak as the turbo comes on, holds near target through the mid-range, then tapers toward redline as the turbo runs out of efficiency. Taper is expected on a stock-frame turbo. A flat hold to redline usually means a larger turbo or an aggressive tune. A short overshoot on tip-in that settles is normal wastegate-loop behavior; sustained overshoot or oscillation is a boost-control fault.

The DME controls boost in absolute pressure (manifold absolute pressure); "boost" as most people mean it is gauge pressure — absolute minus atmospheric, about 14.7 psi / 1.01 bar / 101 kPa at sea level. bootmod3 has an absolute/relative toggle and some tools log absolute while displaying gauge, so confirm which one you are looking at before comparing numbers with someone else's car.

When actual is under target

Normal: Actual is within roughly 1–2 psi of target through the mid-range and tapers gently up top on a stock-frame turbo.

Investigate if: Actual falls well below target in the mid-range, or the gap widens with rpm, especially with wastegate duty pinned or timing being pulled.

Community-observed rules of thumb, not fixed limits — your calibration and platform set the real thresholds.

Work through the causes in order:

  • Boost leak — charge pipe, intercooler pipe, coupler or clamp. Actual under target, wastegate duty high or maxed trying to compensate, often positive fuel trims at part throttle from unmetered air.
  • Wastegate / actuator — worn flapper, wrong preload, or a lazy solenoid. Boost control is unstable or cannot hold low boost.
  • Turbo — a failing or undersized turbo simply cannot make the target; duty is maxed and boost still falls short, with nothing else wrong.
  • Heat or altitude — the target itself was trimmed down. Check IAT and baro before assuming a hardware fault.
  • Torque cut — the DME pulled boost because of knock or a load limit. Timing correction and load-limit flags show this.

Wastegate duty cycle and position

Wastegate duty cycle (WGDC) is the DME's command to the boost-control actuator. The number only means something once you know which system your car uses, because the hardware and the sign convention differ. The BMW wastegate duty cycle guide is the deep dive on this channel — PWG versus EWG, what high and low duty can and cannot mean, and how to read it against boost error through spool, steady boost and redline.

Pneumatic versus electronic wastegate control across BMW turbo platforms and how the logged value should be read
SystemPlatformsWhat the number represents
Pneumatic (PWG)N54, and N55 built before roughly mid-2013Duty to a vacuum/pressure solenoid that works the wastegate actuator. On the N54, vacuum holds the gate shut, so the value is an effort command, not a valve angle. Rapid oscillation means unstable spool.
Electronic (EWG)N55 from roughly 2014, plus S55, B58, S58 and the M2's N55PWM to an electric servo that positions the wastegate directly. The logged value is close to a commanded position, control is far more precise, and it holds target better near redline. A worn EWG flapper causes rattle and boost-control drift.

Normal: Duty moves smoothly, sits mid-range while holding boost, and rises gradually toward redline as the turbo needs more help to hold target.

Investigate if: Duty pinned at its limit while boost is under target (flow limit or leak), or swinging rapidly while boost oscillates (solenoid or actuator).

Community-observed rules of thumb, not fixed limits — your calibration and platform set the real thresholds.

Boost creep is the opposite problem: actual climbs above target at high rpm even with the gate commanded fully open, because the wastegate cannot bypass enough exhaust. It is an exhaust-manifold or wastegate-flow limitation, common with upgraded turbos and restrictive manifolds, and not usually a stock-car issue. There is no universal "correct" WGDC percentage — it is specific to the map, turbo and platform, so read duty against boost error, not against a target number. Rising duty with falling boost, and overboost with low duty, are worked through in the wastegate duty cycle guide.

Ignition timing and knock

Modern BMW DMEs run per-cylinder closed-loop knock control: on a detected knock event the ECU retards timing on that cylinder, logs a negative correction, then ramps it back if no further knock occurs. Zero correction is the ideal.

Adaptive octane correction vs active knock retard

Adaptive octane correction is a slow, global timing pull that means the fuel is weaker than the map expects; active knock retard is a fast, per-cylinder pull the instant the knock sensor detects knock. Many tools show both under one "correction" label, so read the speed and the per-cylinder pattern.

How adaptive octane correction and active knock retard differ on a BMW datalog
DimensionAdaptive octane correctionActive knock retard
SpeedSlow, learned over many milesInstant, event-driven
ScopeGlobal, affects all cylindersPer cylinder
Log signatureA persistent small negative offset that follows fill-upsSharp, isolated drops at specific rpm or load points
What it meansThe fuel is weaker than the map expectsSomething knocked at that point — find the cause

How much correction is normal

Normal: Isolated −1° to −2° blips on random cylinders, especially on pump fuel or a hot day, recovering quickly.

Investigate if: Sustained corrections near −3° or more on several cylinders through the power band, or sharp drops beyond about −3° above 4,500 rpm.

Community-observed rules of thumb, not fixed limits — your calibration and platform set the real thresholds.

As a commonly cited reference range, total advance at wide-open throttle on these turbo engines sits around 5–15° BTDC through the power band, often a shallow dish shape — but the real figure is calibration-specific. Even a stock map can log several degrees of pull on bad fuel; a tuned map holding a steady few degrees of correction usually means the calibration is too aggressive for the fuel in the tank.

Per-cylinder patterns and non-knock causes

The pattern points to the cause. Correction concentrated on the rear cylinders (5 and 6) is often heat — those cylinders run hottest. One cylinder alone can be a weak coil or injector, or a plug gapped too wide. Correction that appears only on one tank of fuel is octane or ethanol content. Corrections that line up exactly with a large throttle closure can be charge turbulence rather than real knock, and a lazy or failing knock sensor can log "knock" from mechanical noise — injector chatter on a direct-injection engine, valvetrain, or wastegate rattle. This is why a single spike is not a verdict.

Common real causes: low octane or old fuel, ethanol content below what the map expects, high IAT or heat soak, worn or over-gapped plugs (tuners often close the gap around 0.020" for boost), carbon buildup, a lean condition, or boost and load overshooting the request.

Air/fuel: lambda and AFR

Lambda is actual air/fuel ratio divided by the stoichiometric ratio, so lambda 1.00 is stoichiometric for any fuel. Target lambda is fuel-independent; the AFR number is not — stoichiometric is about 14.7:1 on gasoline and about 9.7:1 on E85.

  • Wide-open throttle targets rich of stoichiometric for charge cooling and knock margin — commonly around lambda 0.80–0.85 (roughly 11.8–12.5:1 on gasoline), sometimes richer on aggressive pump maps.
  • Cruise and light load run closed-loop at lambda 1.00 for the catalyst.

Commanded is not measured

Most tuned BMWs have no wideband sensor feeding the log at wide-open throttle. The factory front sensors are wideband, but the DME largely stops trusting them under boost and runs open-loop off a fueling model. So a logged wide-open "AFR" is usually commanded or modeled, not measured — it tells you what the DME intended. A fueling-model error (bad injector data, a high-pressure pump dropping off) can leave commanded AFR looking perfect while actual mixture goes lean and knocks. That is why rail pressure is always read alongside AFR.

Reading a lean condition, and heat enrichment

A genuine lean excursion — measured AFR climbing away from a rich target under load — usually travels with a rail-pressure drop and a timing correction a moment later. Going the other way, B58, S55 and S58 engines add component-protection enrichment when the exhaust or catalyst runs hot, so a log that reads unusually rich late in a hot session is often the DME protecting the exhaust, not a fueling fault.

Fuel trims (STFT / LTFT)

Fuel trims are closed-loop corrections applied at part throttle and cruise, not at wide-open throttle. They describe the health of the fuel and air metering during normal driving, not what happened in the pull. Short-term trim (STFT) is the instantaneous correction; long-term trim (LTFT) is the learned average. Positive means the DME is adding fuel because it senses lean; negative means it is pulling fuel because it senses rich.

Normal: STFT hovering near zero and within a few percent at warm idle and cruise; LTFT within roughly ±10%; both banks within a few percent of each other.

Investigate if: LTFT sustained beyond about ±10–15%, or one bank far off the other — points to that bank's injectors, a leak, or metering.

Community-observed rules of thumb, not fixed limits — your calibration and platform set the real thresholds.

Large positive trims point to unmetered air (a vacuum or boost leak), a weak low-pressure pump, or clogged injectors. Large negative trims point to a leaking injector, high fuel pressure, or a MAF reading high. A one-bank skew isolates the problem to that bank's hardware. After an ethanol blend change, trims shift until the DME relearns; a flex-fuel sensor value or the tune's ethanol reading is the direct way to confirm content.

Tool note: some MHD builds display trims and AFR on a 0–50 scale where 25 equals 0% (so 50 is roughly +33%). Check how your app version presents the value before comparing it with a conventional ± percentage.

Fuel pressure: HPFP rail and LPFP low side

These are direct-injection engines with a two-stage fuel system: an in-tank low-pressure pump (LPFP) feeds a cam-driven high-pressure pump (HPFP) that charges the injector rail to very high pressure. Both stages log a pressure, and both can be the limit.

  • High-side rail pressure — commonly cited targets are around 150–200+ bar (about 2,200–2,900+ psi) under load, lower at idle, but the figure is engine- and calibration-specific. The diagnostic is simple: actual should hold target through the pull.
  • Low-side pressure is measured in bar or psi, commonly in the 4–7 bar class. A low-side collapse under load starves the HPFP and shows up as a high-side drop plus a lean condition.

Pump dying vs out of pump

When rail pressure falls away from target near redline, decide which of two things it is:

  • Pump tiring / failing — pressure holds fine at low rpm and low demand, then collapses; often worsening over weeks; sometimes crashing to a fraction of target.
  • Out of pump for the demand — the pump is healthy but the power target, big injectors or high ethanol ask for more volume than it can supply. A map with less fuel demand restores the hold; the hardware needs upgrading for that power.

As a rough reference from the N54 community: high-side pressure that stays above roughly 100 bar under wide-open throttle, and sustained low-side pressure below about 50 psi treated as unacceptable. Use these as direction, not as your platform's spec.

Intake air temperature and heat soak

The DME pulls timing, and can pull boost, as intake charge temperature rises — hotter charge knocks more easily, so IAT-based compensation is expected behavior. Read IAT (or post-intercooler charge temperature) as a trend, not a single number.

  • Single pull from a cool soak is your best-case data. As community-observed ballparks, a stock intercooler might sit 15–25°F over ambient at cruise and rise 70–90°F under a hard pull; a good aftermarket core stays much closer to ambient with a smaller rise. Charge temperatures past about 140°F measurably cost power and trigger compensation. These vary with ambient, core size and airflow.
  • Pull-over-pull is a cooling test. If IAT climbs each run and does not recover between them, the intercooler is undersized for how you are driving.
  • Recovery time — how fast IAT falls back toward ambient after a pull — is a direct measure of cooling-system adequacy.

Rising intake air temperature correlates with late-pull timing correction: as charge temperature climbs, the DME retards timing to preserve knock margin. So when you see a top-end correction, check IAT at the same moment before blaming fuel. See the downpipe guide for how exhaust heat and backpressure feed into this.

Throttle closure and torque intervention

BMW DMEs are torque-model based: the pedal is a torque request, which the DME turns into a load target and then commands throttle, boost, fuel and spark to hit it. The throttle is a primary boost-control device, so it is normal for the plate to sit below 100% at wide-open throttle.

  • Normal — a gentle throttle taper near redline while the DME manages boost and load. Small, smooth, predictable.
  • Torque intervention — a larger mid-pull dip in throttle while the pedal stays flat, because modeled load or torque hit a ceiling (a torque cap, a gearbox limit, a protection limit, or requested load exceeding what is achievable). Often paired with a brief boost dip.
  • Real fault — erratic throttle closure with boost and timing chaos, or specified load diverging from actual load. Something in boost control, fueling or the mechanicals is wrong.

Throttle closure at wide-open throttle correlates with modeled-load or boost overshoot — the DME closes the plate to pull load back under its ceiling, and load or boost overshoot are the common triggers behind a reduced-power or limp event. On the newer MG1 and MD1 DMEs (B58, S58, B48) the torque model and its limit flags behave differently from the older MEVD-generation DMEs, so a B58 that "stops pulling" mid-range is often a load or fill limit rather than a hardware problem — covered next.

VANOS / cam timing on a performance log

Double-VANOS phases the intake and exhaust cams independently; the log shows a commanded (target) and an actual angle for each cam. Oil pressure and a solenoid move the cam to the commanded position.

Normal: Actual lags target slightly during fast transients and settles within a few degrees; small steady-state offsets are common and benign.

Investigate if: Actual consistently fails to reach target, oscillates, or responds slowly — points to VANOS solenoids, low oil pressure, worn units, or timing-chain wear.

Community-observed rules of thumb, not fixed limits — your calibration and platform set the real thresholds.

Independent-diagnostic guidance for the Bosch DMEs on these engines puts tolerable steady-state deviation on the order of ±10°, with a fault only stored beyond that; treat it as a referenced community figure, not an OEM service spec. VANOS matters here because a cam-timing problem during a pull can look like a boost or timing inconsistency — glance at cam target vs actual before chasing the wrong channel.

Load, relative filling and load limiters

"Load" on a BMW log is the DME's air-charge metric — how much air is in the cylinder relative to a theoretical full fill. Older DMEs report a calculated load number; newer ones report relative filling, which can exceed 100% under boost. Either way it maps roughly to how much boost and power the DME is requesting.

  • Recognizing a load-limited pull — power and boost stop climbing even though the turbo has more to give, and specified load flattens at a ceiling while actual load tracks just under it. Nothing looks broken; the model simply stopped asking for more.
  • Torque-model limiters — B58 Gen 2, Supra and S58 expose a fill-limit-reason or limit-state channel that names why the DME is capping output. On a properly tuned car some of those flags trip benignly and are handled in the calibration rather than indicating a fault.

This is the least-covered topic in most datalog guides and the one where a stock-style read fails. If a Gen 2 B58 "won't scale," read it as a load-model question first. The B58 relative filling explainer and the big turbo checklist go deeper.

Platform notes: N54, N55, S55, B58, S58

The channels are the same across platforms; the one or two things that most often show up in each engine's logs are not.

BMW turbo platform differences that matter when reading a datalog: turbo layout, factory fueling, wastegate type, and what most often appears in the log
EngineTurbo & wastegateFactory fuelingWhat shows up in the log
N54Parallel twin turbo; pneumatic wastegates (vacuum-closed)Direct injection only; piezo injectors with index ratingsInjector index and HPFP health; boost-control slop; walnut-blast carbon; timing sensitivity on early knock sensors.
N55Single twin-scroll; pneumatic pre-~2013, electronic afterDirect injection only; solenoid injectorsKnow PWG vs EWG before reading wastegate duty; EWG holds target better up top; flapper wear causes rattle and creep.
S55Twin turbo; electronic wastegatesDirect injection only (no factory port injection)Fuel-system-limited for big power on pump gas; heat-driven timing correction on track; component-protection enrichment when hot.
B58Single twin-scroll; electronic wastegate; closed-deck blockDI only through B58TU; factory DI + port injection from B58TU2 (2022+)Gen 1 (F) vs Gen 2 (G) differ in DME and torque model; Gen 2 hits relative-filling and load limiters at high airflow.
S58Twin turbo, closed-deck; electronic wastegatesDirect injection only, high pressureNewer MG1 DME with fill-limit-reason flags; tuning support is mature, but publicly documented failure-mode logs are still thin, and late DMEs may not be unlockable.

Platform pages with stage detail: N54, N55, S55, B58 and S58.

Which channels to read together

No channel is diagnostic on its own. This is the short version of what to check beside each one before drawing a conclusion.

For each BMW datalog channel, the supporting channels to read alongside it and why
ChannelRead alongsideBecause
Boost actualBoost target, wastegate duty, IAT, baroThe gap to target, and whether the target itself was trimmed.
Wastegate dutyBoost target vs actualDuty pinned with boost short means a flow limit or leak.
Timing correctionLoad, lambda actual, HPFP actual, IAT, throttle plateKnock has a cause — fuel, heat, a lean spike, or turbulence.
Lambda / AFR actualLambda target, HPFP actual, loadA lean reading and a rail-pressure drop point to a fuel limit.
HPFP rail pressureRail target, requested load, lambda actualPressure vs demand tells pump-failing from out-of-pump.
IATTiming correction, boost target, coolant, time between pullsHeat pulls timing and trims the boost target.
Throttle platePedal position, specified vs actual load, boost actualClosure with the pedal flat is the torque model, not you.
Relative filling / loadSpecified load, fill-limit flags, boost actualA flat ceiling with a flag set is a load limit, not hardware.

Worked examples: reading across channels

Each of these is a pattern, not a specific car. The point is the sequence: a signature raises a question, the other channels answer it, a change confirms it.

Boost leak

Signature: actual boost a couple of psi under target through the mid-range, wastegate duty high or pinned, timing steady, part-throttle fuel trims positive. Read: the wastegate is working hard and still missing target, and unmetered air is showing in the trims — the charge system is leaking, not the turbo failing. Confirm: pressure-test the charge pipes; after the fix, boost meets target at normal duty and trims settle.

High-pressure fuel-pump limit

Signature: rail pressure holds target through the mid-range, then falls away up top; commanded lambda flat, measured lambda (if logged) goes lean; a timing correction follows a beat later on the leaning cylinders. Read: the fuel system ran out of headroom for the demand, the mixture leaned, and the DME pulled timing to protect it. Confirm: a revision with less top-end fuel demand restores the pressure hold and the corrections stop — the hardware is the ceiling for more power.

Heat soak over a session

Signature: first pull clean; a later pull shows IAT much higher at the same point, a lower boost target, and a top-end timing correction. Read: nothing is broken — charge temperature rose, the DME trimmed the target and pulled timing for knock margin. Confirm: let the car cool, and the clean pull returns; if it happens every session, the intercooler is the limit.

One tank of weak fuel

Signature: a car that logged near-zero correction last week now shows a steady few degrees of pull across all cylinders from mid-range up, IAT and rail pressure normal. Read: the correction is global and consistent, not per-cylinder or heat-linked — the fuel is weaker than the map expects. Confirm: a tank of known-good fuel, or a higher ethanol blend, and the correction goes away.

Common mistakes reading your own logs

  • Diagnosing from a single sample. One row of data — the first frame, a dropped Bluetooth frame, an airflow glitch — is not a trend. Look for sustained behavior.
  • Reading the fuel channels during a lift. Decel fuel cut zeroes the injectors and sends logged AFR off the scale lean. Only the pedal-down portion is fuel data.
  • Blaming the shift window. An upshift includes a deliberate torque-reduction event — boost drops, timing dips, load falls. Ignore it.
  • Mistaking a traction event for a timing problem. Wheelspin flares rpm with no matching speed, and a partly-on traction system cuts torque. Turn it off and re-log.
  • Comparing absolute and gauge pressure. Your 22 psi and a friend's 22 psi may not be the same reference.
  • Treating commanded AFR as measured. Without a wideband, wide-open lambda is what the DME asked for, not what it got.
  • Changing two things between logs. New map and new fuel and new intercooler at once means the next log cannot isolate anything.

Quick reference: what to log

Log the baseline set for a general health check, then add the rows below when chasing a specific problem.

Which datalog channels to prioritize for a general health check versus chasing a specific boost, fueling, knock, or heat problem
GoalPrioritize these channelsNotes
Baseline health checkRPM, pedal, throttle, load, boost target/actual, timing + correction, lambda target/actual, HPFP target/actual, IATOne clean gear pull plus a short part-throttle log.
Boost problemBoost target/actual, wastegate duty/position, load specified/actual, IAT, baroAdd part-throttle fuel trims to catch a leak.
Fueling problemHPFP target/actual, LPFP pressure, lambda target/actual (wideband if available), injector duty, ethanol contentLog to redline in one gear; the limit shows up top.
Knock / timing problemPer-cylinder timing + correction, load, lambda actual, HPFP actual, IAT, coolantNote fuel octane and ethanol; log two pulls.
Heat / coolingIAT / charge-air temp, coolant, oil temp, timing correction, boost target/actualThree back-to-back pulls with timestamps.

Troubleshooting decision guide

Match the symptom and the log signature to the most likely cause.

BMW datalog symptoms, their supporting-channel signature, and the most likely cause
SymptomLog signatureMost likely cause
Boost under targetWastegate duty pinned + positive part-throttle fuel trimsCharge or boost leak
Wastegate duty pinned, trims normal, nothing else offTurbo at its flow limit or undersized
IAT high or barometric pressure lowTarget was trimmed down — not a fault
Timing correction or a load-limit flag presentTorque cut for knock or a load limit, not a boost fault
Timing correction in the power bandGlobal, steady, all cylindersFuel octane or ethanol content
Rear cylinders, worse when hotHeat soak — check IAT
One cylinder onlyCoil, injector, or plug gap on that cylinder
Lines up with a rail-pressure dropFuel-system limit leaned the mixture
Lines up with a large throttle closureCharge turbulence, most likely not real knock
Throttle below 100% at WOTSmall, smooth taper near redlineNormal boost and load control
Mid-pull dip, pedal flat, brief boost dipTorque-model or load limit
Erratic, with boost and timing chaosReal boost-control or mechanical fault
Power flattens despite more boost (B58 Gen 2 / S58)Specified load flat at a ceiling, actual just under, fill-limit flag setLoad-model limit — a calibration question, not hardware

FAQ

What gear should I datalog in?

Log one gear for the whole pull — third on most manuals and 6-speed autos, fourth on 7- and 8-speed gearboxes. The goal is a steady sweep from about 2,000 rpm to redline with no upshift. Consistency between logs matters more than the exact gear.

How long should a datalog pull be?

One continuous wide-open pull from roughly 2,000–2,500 rpm to redline in a single gear, often under ten seconds. That captures full spool, mid-range and top-end in one trace. Stop the log after you lift, and do not stitch several short stabs together.

How much timing correction is normal on a BMW?

Brief, isolated corrections of a degree or two on pump fuel are common and usually harmless. Sustained pulls near three degrees or more across several cylinders warrant a look — fuel quality, heat, plugs, or a map that is too aggressive. Treat these as community rules of thumb, not fixed limits.

Is timing correction the same as knock retard?

Not quite. Active knock retard is a fast, per-cylinder timing pull the instant the knock sensor detects knock. Adaptive or octane correction is a slow, global pull that means the fuel is weaker than the map expects. Many tools show both under one 'correction' label.

Why is my boost under target?

Common causes are a charge-pipe or intercooler-pipe leak, a wastegate that cannot hold or is worn, a tune the fuel or turbo cannot support, high intake temperatures, or the DME cutting torque because of knock. Wastegate duty, timing and fuel trims in the same log tell you which.

Why does the boost target keep changing during a pull?

Boost target is derived from the torque request, then trimmed for intake air temperature, barometric pressure, gear and coolant temperature. A target that steps down as IAT climbs, or at altitude, is the load model working as designed, not a fault.

Why isn't my throttle at 100% during a wide-open pull?

A small taper near redline is normal boost and load control. A larger mid-pull dip while your foot stays flat is usually the torque model closing the throttle to hold modeled load under a ceiling, or a traction event. Persistent, erratic closure with boost and timing chaos points to a real fault.

Why did my B58 stop making power with more boost?

On a Gen 2 B58 or an S58 the usual reason is a load or relative-filling limit: specified load flattens at a ceiling while actual load tracks just under it, and a fill-limit flag is set. Nothing is broken — the torque model stopped asking for more, and it is a calibration question, not a hardware one.

What wide-open AFR or lambda should I see?

Boosted BMWs target rich of stoichiometric for knock margin — commonly around lambda 0.80–0.85, roughly 11.8–12.5:1 on gasoline and a much lower AFR number on E85 at the same lambda. On most tuned cars the logged value is commanded, not measured, so a wideband is needed to confirm it.

Is dropping fuel rail pressure bad?

Rail pressure that holds its target through the pull is healthy. Pressure that falls away from target as rpm and load climb means the fuel system is at its limit — a tiring high-pressure pump, a pump maxed for the power or ethanol content, or low-side starvation. It often precedes a lean spike and knock.

How hot is too hot for intake air temperature?

Charge temperatures much past about 60°C / 140°F cost power and make the DME pull timing, and a rise that never recovers between back-to-back pulls is the real warning sign. Exact limits depend on ambient, intercooler and airflow, so read the trend, not one number.

MHD or bootmod3 — does it matter for logging?

Both capture the same underlying DME channels; the workflow and channel names differ. bootmod3 toggles absolute versus relative pressure and adds channels from the dashboard; MHD writes a broad CSV and uses a scaled display for some values. Use whichever your tune runs on, and log the same channels every time.

Can I read my own logs instead of using a tuner?

Yes — you can catch problems early and ask better questions, and this guide is meant to help. But condemning or clearing a channel needs context from the calibration and from many cars, so leave the final call on timing, boost and fuel targets to whoever wrote the map.

Sources and references

Channel names, exact ranges and platform behavior change with software versions and model years. Confirm specifics against your own tool and calibration.

Keep reading

Want a second set of eyes on your logs?

A data log review reads your pulls against your hardware and fuel, or start a custom calibration and we tune to your logs directly.

Reviewed by Justin, Owner & BMW Calibration Specialist at Synergy BMW Tuning. Last updated 2026-09.