Tuning Guide



Looking for the DIY EFI Tuners Guide?  Say no more.  Here it is!

DIY EFI Tuners Guide Banner with Carl tuning our 1967 Camaro


Tuning the VVTuner Standalone VVT Controller for Miatas.

Once properly installed and communication has been established between the tuning laptop and VVTuner, the controls and use will be fairly straight-forward if you’ve even done any tuning before. When you open the VVTuner software, you’ll see a 12×12 advance target table, PID tuning parameters, and system status indicators.

The 12×12 advance target table allows real time adjustment of target advance at any point along the X and Y axis. Engine speed (RPM) is represented along the X-axis while engine load (MAP) is represented along the Y-axis. As both the engine speed and load change, a corresponding cell is targeted in the table. The target cell represents the closest camshaft advance data point for the engine’s current RPM and MAP.  The value within the target cell is interpolated (averaged) between the target cell and the cells to its top, top right, and left.  To command more camshaft advance, insert a larger number in the cell.  To command less advance, insert a smaller number.

Status values displayed along the top of the screen include engine speed (RPM), engine load (MAP), target advance (degrees), current advance (degrees), and the duty cycle of the signal sent to the OCV. Along the status bar at the bottom of the screen, the indicators display serial connection status, engine status, battery voltage, logging status, and VVTuner CCM version.

VVTuner’s advance control implements a closed loop feedback algorithm with PID loop to insure that the amount of advance commanded results in the actual advance.  VVTuner constantly monitors the real time target advance value and compares it against the actual value observed by reading the crank and cam position sensors.  Any difference between target advance and actual observed values is considered an error.  The PID loop will attempt to correct the error.  The PID parameters allow real time adjustment of how the error is corrected.  PID is comprised of 3 terms:

  • P.  This term tells the VVTuner how aggressively it needs to correct.  A higher value here will result in possible quicker correction, but too high of a value can result in overshoot of target and possible oscillations.  Too low of a value may result as never being able to reach target.
  • I.  This term tells the VVT tuner how much “acceleration” is needed to bring the observed advance to target advance if the error is large.  A larger I value will result in quicker corrections, but too much I value may result in unsteady operation.
  • D.  If I is acceleration, then D is the brakes.  The D term will slow corrections down as the observed advance approaches the target.  The D term can be implemented to reduce overshoot of target, however too much D term could result in undershoot or the ability to never reach the target.

The idea is to eliminate any advance error as quickly as possible by quickly bringing observed advance to target advance, but slowing down the correction as the error approaches zero such that the target is achieved quickly and without and undershoot, overshoot, or oscillations around the target.  The values preprogrammed to VVTuner were found to work well with a standard 2001-2005 Miata VVT motor after extensive research.  However, as no two engines are alike, you may need to alter the PID values.  Please note that when any of the three parameters are adjusted, the loop is re-initialized and the PID I-value accumulation is reset to its starting point.