       //Serial.println("Temp OK");
       double sensorVal = double(DHT.temperature);
       dtostrf(sensorVal, 2, 0, CurrentTemperature);
-      //Serial.println(PreviousTemperature);
-      //Serial.println(CurrentTemperature);
-      sensorVal = double(DHT.humidity);
-      dtostrf(sensorVal, 2, 0, CurrentHumidity);
       if (memcmp(CurrentTemperature, PreviousTemperature, 4) != 0)
       {
         UpdateTemperature();
+        // Do we need to turn the heating on?
+        if (sensorVal < ReqTemp - 1)  {
+          HeatingOn = true;
+        }
+        if (sensorVal > ReqTemp + 1) {
+          HeatingOn = false;
+        }
+        DrawFire(HeatingOn);
       }
-  }
-}
+      sensorVal = double(DHT.humidity);
+      dtostrf(sensorVal, 2, 0, CurrentHumidity);
+  }
+}
+
+void ReadTime()
+{
+  String TimeToDisplay = "";
+  if (PreviousHour != hour())
+  {
+    TimeToDisplay = "";
+    TFTscreen.setTextSize(2);
+    TFTscreen.stroke(Black);
+    TimeToDisplay += Time2Digit(PreviousHour);
+    TFTscreen.text(TimeToDisplay.c_str(), TimeStartPointX, TimeStartPointY);
+
+    TimeToDisplay = "";
+    TimeToDisplay += Time2Digit(hour());
+    TFTscreen.stroke(White);
+    TFTscreen.text(TimeToDisplay.c_str(), TimeStartPointX, TimeStartPointY);
+
+    PreviousHour = hour();
+  }
+  if (PreviousMinute != minute())
+  {
+    TimeToDisplay = "";
+    TFTscreen.setTextSize(2);
+    TFTscreen.stroke(Black);
+    TimeToDisplay += Time2Digit(PreviousMinute);
+    TFTscreen.text(TimeToDisplay.c_str(), TimeStartPointX + 35, TimeStartPointY);
+
+    TimeToDisplay = "";
+    TimeToDisplay += Time2Digit(minute());
+    TFTscreen.stroke(White);
+    TFTscreen.text(TimeToDisplay.c_str(), TimeStartPointX + 35, TimeStartPointY);
+
+    PreviousMinute = minute();
+
+  }
+  TimeToDisplay += Time2Digit(hour());
+  TimeToDisplay += ":";
+  TimeToDisplay += Time2Digit(minute());
+  TimeToDisplay += ":";
+  TimeToDisplay += Time2Digit(second());
+  Serial.println("Time is " + TimeToDisplay);
+
+  // Display the time on the screen.
+
+}
+
+void DrawFire(bool Flame)
+{
+  //Do we need flame?
+  if (Flame)
+  {
+    TFTscreen.drawBitmap(TFTscreen.width() - 45, 36, CampFireFlames, 40, 44, Red);
+  }
+  else
+  {
+    TFTscreen.drawBitmap(TFTscreen.width() - 45, 36, CampFireFlames, 40, 44, Black);
+  }
+
+  TFTscreen.drawBitmap(TFTscreen.width() - 45, 80, CampFireLogs, 40, 12, Brown);
+}
+
+String Time2Digit(int Number)
+{
+  String StringToReturn = "";
+  if (Number >= 0 && Number < 10) {
+    StringToReturn += "0";
+  }
+  StringToReturn += Number;
+  return StringToReturn;
+}
+
 void UpdateTemperature()
 {
   Serial.println("Temp Diff");

void Display1(int Pos)
{
  Display8(Pos);
  DisplayTop(Pos, 0x0000);
  DisplayTopLeft(Pos, 0x0000);
  DisplayCenter(Pos, 0x0000);
  DisplayBottom(Pos, 0x0000);
  DisplayBottomLeft(Pos, 0x0000);
}
void Display2(int Pos)
{
  Display8(Pos);
  DisplayTopLeft(Pos, 0x0000);
  DisplayBottomRight(Pos, 0x0000);
}

void Display3(int Pos)
{
  Display8(Pos);
  DisplayTopLeft(Pos, 0x0000);
  DisplayBottomLeft(Pos, 0x0000);
}
void Display4(int Pos)
{
  Display8(Pos);
  DisplayTop(Pos, 0x0000);
  DisplayBottomLeft(Pos, 0x0000);
  DisplayBottom(Pos, 0x0000);
}
void Display5(int Pos)
{
  Display8(Pos);
  DisplayTopRight(Pos, 0x0000);
  DisplayBottomLeft(Pos, 0x0000);
}
void Display6(int Pos)
{
  Display8(Pos);
  DisplayTopRight(Pos, 0x0000);
}
void Display7(int Pos)
{
  Display8(Pos);
  DisplayTopLeft(Pos, 0x0000);
  DisplayCenter(Pos, 0x0000);
  DisplayBottomLeft(Pos, 0x0000);
  DisplayBottom(Pos, 0x0000);
}

void Display8(int Pos)
{
  DisplayTop(Pos, 0xFFFF);
  DisplayTopLeft(Pos, 0xFFFF);
  DisplayTopRight(Pos, 0xFFFF);
  DisplayCenter(Pos, 0xFFFF);
  DisplayBottom(Pos, 0xFFFF);
  DisplayBottomLeft(Pos, 0xFFFF);
  DisplayBottomRight(Pos, 0xFFFF);
}
void Display9(int Pos)
{
  Display8(Pos);
  DisplayBottomLeft(Pos, 0x0000);
}
void Display0(int Pos)
{
  Display8(Pos);
  DisplayCenter(Pos, 0x0000);
}
void DisplayTop(int Pos, uint16_t Color)
{

*/

// Setup the includes
#include <Wire.h>
#include <SPI.h>
#include <TFT.h>  // Arduino LCD library
#include <dht.h> // DHT11 Library
#include <TimeLib.h>
#include <DS1307RTC.h> // RTC Library
//#include <IRremote.h> // IR Library

