Introduction: ESP8266 WiFi Touch Screen Thermostat

In this tutorial we will show how to build WiFi controlled thermostat with ESP8266, Arduino and touch screen display. Thermostat will also show other info, like weather forecast and temperature outside. Total cost for thermostat is about 40EUR, which is price for basic commercial thermostat in shop.

Basic features:

  • 6 modes - Auto, Off, LOLO, LO, HI, HIHI
  • Touch screen
  • WiFi connected
  • Four set temperatures (LOLO, LO, HI, HIHI) and weekly schedule
  • Time display
  • Additional data display - temperature in other room, air pressure and weather forecast

See more tutorials at

Step 1: Materials

  • Arduino Mega 2560
  • ESP8266 WiFi module
  • BMP180 Digital Barometric Pressure Sensor
  • DHT22 Digital Temperature And Humidity Sensor
  • 1 Channel Isolated 5V Relay Module
  • RTC DS1302 Real Time Clock Module
  • 3.2" TFT LCD Module Touch Panel+ TFT 3.2" LCD Shield Expansion Board For Arduino

Step 2: Connections

Connect Arduino and TFT shields together. Then add ESP8266 module. Then add ESP8266 to Arduino. See Connenct 5V Arduino and ESP8266 tutorial for details.

DHT22 connections

Arduino DHT22



8->2 DATA

BMP180 connections

Arduino BMP180 module





RTC DS1302 connectios

Arduino DS1302






See ESP8266 WiFi thermostat for details.

Step 3: Programming

Download program from GitHub. Current program version can be complied with Arduino 1.0.6. If you want to use Arduino 1.6 and above please use latest version of UTFT library.

Step 4: EasyIoT Server Setup

This step is optional if you want remote access to your thermostat from computer or smartphone.

Go in EasyIoT server (Windows or Raspberry Pi platform) and add new thermostat in configuration. If you done everything correctly you should see thermostat in Web interface.

See ESP8266 WiFi thermostat for details.

Automation Contest

Participated in the
Automation Contest