 
   //Cast to long as Arduino int is only 16 bits wide. Not enough to hold this result
   long numerator =  ((long) ((batteryMilliVolt - MIN_BATTERY_MILLIVOLT))) * 100;
-  int batteryPercent = numerator / batteryRange;
-
-
-  batteryPercent = getNewAverageReadingFromCurrentReading(percentReadings, &percentIndex, &percentTotal, numReadings, batteryPercent);
-
-  if(batteryPercent < 0 || batteryPercent >= 100){
-    uView.setCursor(35,32);
-  } 
-  else {
-    uView.setCursor(47,32);
-  }
-
-  uView.print(batteryPercent);
-  uView.print("%");
-
+
+  if(currentState != SETTING_TIME || settingTimeProcess != T_VOLTAGE || blinkOn){
+
+    if(showVoltage){
+        uView.setCursor(35,32);
+        float batteryVolt = batteryMilliVolt / 1000.0;
+        uView.print(batteryVolt);
+        uView.print("V");
+    } 
+    else {
+
+      int batteryPercent = numerator / batteryRange;
+
+
+      batteryPercent = getNewAverageReadingFromCurrentReading(percentReadings, &percentIndex, &percentTotal, numReadings, batteryPercent);
+
+      if(batteryPercent < 0 || batteryPercent >= 100){
+        uView.setCursor(35,32);
+      } 
+      else {
+        uView.setCursor(47,32);
+      }
+
+      uView.print(batteryPercent);
+      uView.print("%");
+    }
+  }
 }
 
 void writeButtonStateToDisplayBuffer(boolean blinkOn){

volatile CLOCK_STATE currentState = NORMAL;

typedef enum {
  T_HOUR, T_MINUTE} 
SETTING_TIME_STATE ;
SETTING_TIME_STATE settingTimeProcess;


  return average;
}

void writeVoltageAndTempToDisplayBuffer(int batteryMilliVolt, float temperature, boolean blinkOn){
  uView.setFontType(0);
  uView.setCursor(0,32);

