   display.setCursor(0,0);  
 
 
+  powerValuesTotal = powerValuesTotal - powerValues[powerValuesIndex];         
+  powerValues[powerValuesIndex] = outputWattRaw;
+  powerValuesTotal = powerValuesTotal + powerValues[powerValuesIndex];       
+  powerValuesIndex++;                    
+
+  // if we're at the end of the array...
+  if (powerValuesIndex >= PAST_POWER_TO_AVERAGE) {
+    powerValuesIndex = 0;                           
+  }
+
+  powerValuesAverage = powerValuesTotal / PAST_POWER_TO_AVERAGE;         
+
+
+
+
   display.print("Out Power:   ");
-  display.print(outputWatt, 3);
+  display.print(powerValuesAverage, 3);
   display.println("W");
   
   display.println();

  float outputVolt = ina219.getBusVoltage_V();
  float outputAmp = ina219.getCurrent_mA() / 1000;

  float outputWatt = outputVolt * outputAmp;

  float shuntVolt = ina219.getShuntVoltage_mV() / 1000;
  float sourceVolt = outputVolt + shuntVolt;

  String output = "";
  char buff[10];
  
  String outputWattString = dtostrf(powerValuesAverage, 0, 3, buff);
  output += outputWattString;
  output += " ";

