Guide updates and tuning notes by email: get the newsletter → Follow us

Home › Guides › How to datalog with HP Tuners VCM Scanner: what to log and how

How to datalog with HP Tuners VCM Scanner: what to log and how

A log shows what the engine actually did with your tune. Here is how to set up VCM Scanner, the exact channels to log and why, which logs to take, and how to send them so we can read every one.

How we put this guide together

A tune file shows what the computer is told to do. A datalog shows what the engine actually did: whether idle holds its target, how hard the fuel trims work, whether knock retard pulls timing, and what the wideband reads at full throttle. Of the 2,012 LS swap questions we pulled from forum threads, 10 asked about logging, widebands, fuel trims or knock retard, and far more about idle, stalls and stumbles could only be answered from a log. Our Tune Report reads VCM Scanner logs the same way every time; this is the channel list and driving plan that reader is built around.

Step 1: Set up VCM Scanner and your interface

You need VCM Scanner (part of HP Tuners VCM Suite), a laptop and your MPVI2, MPVI3 or MPVI4. Logging costs nothing: credits only license a vehicle for writing a tune, so you can log before you buy one.

  1. Connect and poll. Plug the interface into the OBD-II port, key on (engine running is better), open VCM Scanner and connect. Then use Vehicle > Repoll for Supported Parameters. Why: the list then only offers what your computer reports, and a repoll usually fixes channels that read blank.
  2. Build the channel list from Step 2. Keep the base list to about 20–25 channels. Why: every channel shares one connection, and 40+ channels turn the log into a slideshow.
  3. Set the sample rate. Right-click a channel for its polling interval. Leave the fast channels (rpm, MAP, throttle, airflow, trims, spark, knock retard, wideband) at their default fastest rate, aiming for about 10 updates a second. Slow the slow ones (coolant, intake air temp, battery voltage) a little, but no slower than once a second. Why: we treat any value older than about two seconds as stale, so coolant every three seconds leaves holes. Where a channel comes in broadcast and polled versions, pick broadcast: it costs no polling time.
  4. Get the wideband into the log. Without it we can see the fuel the tune asks for at full throttle, never what the engine gets. - Analog wire (most common): run the wideband controller's 0–5 V analog output and its ground into a Pro Link+ cable (MPVI3 and MPVI4 take it straight from the box; an MPVI2 needs the Pro version with a Pro Link). Red is analog 1, blue is analog 2, black is ground. In the channel list open External Inputs, find the Pro Link input you wired and double-click it, then right-click it, choose Transform and pick Oxygen Sensors > Lambda > your controller. - CAN or OBD-II pass-through: some widebands (the AEM X-Series OBD-II gauge, for one) send their reading over the vehicle network instead of a wire. - Gen V (E92): these have factory widebands; log WB EQ Ratio 1 instead of wiring one in. - Log it as lambda, not volts. Volts can't be turned into fuel without your controller's conversion, and AFR on E85 depends on the gauge's fuel scale. Lambda works on any fuel. - Name it so we know it's the wideband. If your scanner lets you rename the channel, call it "Wideband Lambda". If not, say which input it's on in your order notes. Why: narrowband sensors and computed values can read in lambda too, and we only judge full-throttle fuel from a known wideband.
  5. Check every channel moves, then save the channel config and a layout under a clear name.
  6. Save each log as .hpl in VCM Scanner's own format. Send the .hpl, not a CSV. Why: we export it ourselves with "Interpolate Data Gaps" off, so we know how old every reading is. A CSV exported with gaps filled hides them, and its timing becomes a guess.

Step 2: Exactly which channels to log

Names are as VCM Scanner usually shows them; they shift a little between operating systems, so search for the key word if one doesn't match.

Base set, every build:

Channel Why we want it
Engine RPM (SAE) Everything else is placed by rpm
Engine Coolant Temp (SAE) Separates warm-up from warm running
Intake Air Temp (SAE) Heat soak, and the timing the tune pulls for hot air
Intake Manifold Absolute Pressure (SAE) Load, idle vacuum and the speed-density fuel cells
Throttle Position (SAE) Finds idle, cruise and full throttle
Accelerator Pedal Position (drive-by-wire) What you asked for vs what the throttle did
Mass Airflow (SAE) and Mass Airflow Sensor (Hz) g/s for idle, and Hz, the axis the MAF table is tuned on (the one most people miss)
Injector Pulse Width Avg. Bank 1 Injector duty at full throttle
Short Term Fuel Trim Bank 1 and Bank 2 (SAE) How far off the fuel is right now, per bank
Long Term Fuel Trim Bank 1 and Bank 2 (SAE) The learned correction; split banks point at a leak
Fuel System #1 Status (SAE) Trims only mean something in closed loop
Equivalence Ratio Commanded (SAE), or Air Fuel Ratio Commanded The fuel the tune asks for
Your wideband, in lambda The fuel the engine actually got
Timing Advance (SAE) The spark actually used
Knock Retard Whether the computer is pulling timing for knock
Desired Idle Speed Idle judged against its target
Idle Air Control Position (Gen III cable throttle) or the desired idle airflow channel (drive-by-wire) How hard the computer works to hold idle
Vehicle Speed (SAE) Tells idle at a stop from coasting
Trans Current Gear Places every stretch of the log in a gear
Control Module Voltage (SAE) Low voltage slows injector opening
Fuel pressure, if you have a sensor (Fuel Rail Pressure, or a Pro Link input) Tune problem or fuel delivery problem
Engine Oil Pressure, if reported Mechanical health

Add for boost: a 2- or 3-bar MAP channel that reads into boost (on a P01/P59 with a custom operating system, search "bar" in the channel list and repoll if it reads 0 kPa; on E38/E67 the SAE MAP channel reads boost once the sensor is scaled), the charge-air temperature after the intercooler (IAT2 on supercharged factory engines). Why: boost fuel and spark are judged against the pressure and heat the engine saw. More: how to set up the scanner for a 2- or 3-bar MAP sensor.

Add for E85 or flex fuel: ethanol content (the alcohol or ethanol percentage channel from the flex sensor). Why: fuel and spark depend on what's in the tank today, and trims that move with ethanol point at the flex tables, not the airflow.

Add for automatics: TCC slip speed, transmission fluid temperature and commanded line pressure. Why: lockup, shift firmness and slipping only show up there, and fluid temperature changes how the transmission behaves.

Step 3: Which logs to take, and how

One log per job, each file named for it (cold-start.hpl, warm-idle.hpl, cruise-tipin.hpl). Bring a helper or mount the laptop; never watch the screen while driving. If you just flashed a file or reset the fuel trims, drive 15–20 minutes first so the long-term trims have relearned before you log.

  1. Cold start. The engine sat overnight, fully cold. Start logging before you turn the key, start it, and let it idle untouched for the first 2–3 minutes. Why: hard starts and first-minute stalls come from cranking and warm-up tables that only run cold.
  2. Warm restart. Drive until fully warm, shut it off, wait 10–15 minutes with the hood closed, then log the restart and a minute of idle. Why: a long crank or rich stumble after heat soak never shows in a cold-start log.
  3. Warm idle, 3–5 minutes. Fully warm (coolant 180°F or more). An automatic idles in park, then in drive with your foot on the brake; then turn the A/C on. Why: warm, in gear and with load are each a different idle table.
  4. Part-throttle cruise. Hold steady speeds for a minute or more each: around town and on the highway, a few gears and loads. Why: fuel trims are judged at steady closed-loop cruise; stabs followed by long coasts give us nothing to average.
  5. Light and moderate tip-ins. From a steady cruise, roll into the throttle lightly, back out, settle for 10 seconds, then a moderate tip-in. Do the same from a stop. Repeat each three times. Why: a lean stumble on acceleration only counts if it repeats in the same place.
  6. Full throttle only where it's safe and legal: on a dyno or a track, never on the street. One pull, in one gear (third is typical), from about 2,000 rpm to your shift point, with the wideband in the log. Don't make a pull just for us; if you already log one, send it.
  7. Boosted cars: never go to full throttle without a working wideband and knock retard in the log. Why: boost turns a lean spot or knock into damage in seconds, and those two channels are how you catch it.

Every tune still ends on a dyno: logs get the file right for driving, and the dyno is where full-throttle fuel and spark are finished safely.

Step 4: Send it to us

  • Tune Report: attach up to three logs (.hpl or .csv, up to 8 MB each) with your file when you order. With only three slots, send the cold start, the warm idle, and the cruise and tip-in log.
  • Start-up File and Full Custom: use Send us logs on your order page, up to three files at a time, before we build your file or after you flash it. On Full Custom each set of logs you send gets an updated file, one revision each.
  • File over 8 MB? Split the session into shorter logs.

We convert each .hpl, then read warm-up, idle against its target, fuel trims by rpm and load per bank, knock retard, full-throttle runs, injector duty, intake air temperature and, with a wideband, commanded against measured fuel. Our lead shop tuner checks it before you see it. If a channel was missing, your report lists what to add next time and why.

Rather have us do it? Send your file and logs and get a Tune Report on what to fix first, or let us build the file: a Start-up File gets it running, Full Custom tunes it from your logs.

Common mistakes

  • The wrong channel set. A layout made for another job often misses Desired Idle Speed, MAF Hz or the loop status, and without them idle and trims can't be judged.
  • Logging too slow. A 40-channel list updating twice a second misses the stumble you're chasing.
  • No wideband. Without it no one can say what the engine gets at full throttle. Narrowbands only read accurately near stoich. More: do I really need a wideband?
  • Logging idle on a cold engine. Warm-up settings are still active below about 160–180°F, so trims and idle aren't final yet.
  • One long log with everything mixed together. A 45-minute drive with idle, errands and a pull in random order is easy to misread. One job per log, named for the job.

Logging and wideband questions