Remote room thermostat


- updated:07.02.2019

This project serves to control your home heating unit with your mobile phone from anywhere over your home WiFi or mobile network. Basically it can replace your ordinary programmable room thermostat with a remote one. As a remote controller it is used a smart phone with Blynk App installed and configured to serve all of the needs. Communication between your smart phone and your heating system is provided by main unit with an ESP8266 connected to your home WiFi.

It is meant to replace a traditional room thermostat only. The new unit controls only a heater pump and also switches oil burner ON or OFF. All other communication between Oil burner and furnace temperature is controlled over pre-existing electric installation so I left it untouched.


room temperature & humidity indicator

oil burner, heater pump operation indicator

Day / Night / Timer mode

Day / Night temperature set

Day / Night timer set

low temperature notification

sensors error notification

all notifications disabled at night

graph data view

Components Required:

AC-CD 3V3 700mA

ESP8266 07

OLED SSH1106 I2C 1.3" 128x64



MOC3043 x2

BTA12 x2



R 330 x2

R 330 1W x2

R 390 x4

R 680

R 1k

R 10k x2

C 10n/1kV x2

C 1uF


There are some hardware peripheral limitations in this project due to small number of ESP8266's GPIOs.
Room temperature is measured by DHT22 sensor though these sensors are not reliable so watch for proper library. Because of my specific heating system I added another temperature sensor DS18B20 which measures expansion container water temperature though it doesn't controll anything. Oil burner and heating pump are driven by BTA12 triacs with a snubber circuit added. There is also feedback signal from oil burner to indicate whether burner is operating.
In my case, ESP8266 and OLED are located at the furnance side in order to avoid additional electrical installation. Also I2C data will not run on long wires in case you would like to dislocate OLED from the main unit.

Operation basics:

When the system is OFF by the App the circulator pump and the burner are OFF. Otherwise when the system is in the DAY, NIGHT or TIMER operation mode the burner heats the water in the furnance so the heating system is ready to supply the hot water. In TIMER mode the AM and PM timers are used to customize the heat at the desired time period.
Room temperature is read once a minute so if it falls below temperature you'd set in your App the heater pump will start circulating hot water through heat exchangers.


You can find links to libraries in the code. The only problem I had was to find appropriate library for DHT22 sensor because some libraries give faulty measuring values especially humidity values. Therefore the code is designed so to prevent calculating faulty measured values from DHT22 sensor.


Thanks to Blynk App from Play Store installed on my smart phone, this App shows data collected from the sensors, heat pump and oil burner state. It also remotely controls the system manually or automatically.
The desired DAY or NIGHT temperature can be set to handle the system manually. In TIMER mode two timers are used to control DAY or NIGHT temperature automatically.
In case sensor's reading is faulty it will send an alert. There are also notifications about when temperature falls below 20, 18, and 15 celsius. Lastly a graph draws time based activity of previously mentioned I/Os.


Essential operating data are uploaded to private ThingSpeak channel to be easily monitored on the IoT ThingSpeak Monitor widget placed on my smart phone. Therefore I don't need to launch Blynk App each time only to check the data. The data are uploaded each 10 minutes.


In my case I put all the hardware I've built into a proper casing located near the oil burner. I also included an OLED so the important statuses can be read anytime. Only the DHT sensor is located in the living room on the same place where the old thermostat was mounted.
Of course you can put all the electronics in your living room but in my case I did not dispose of the right number of the AC wires in my existing installation to handle oil burner and heating pump from here.

Note: this project was developed and tested for a while to ensure a desired operation. Therefore some outdated scenes can be noted on the App and OLED UI.
Project gallery & downloads:
Project gallery & downloads:
esp8266 blynk WiFi room thermostat
esp8266 blynk WiFi room thermostat
esp8266 blynk WiFi room thermostat
esp8266 blynk WiFi room thermostat
esp8266 blynk WiFi room thermostat
esp8266 blynk WiFi room thermostat
esp8266 blynk WiFi room thermostat
esp8266 blynk WiFi room thermostat
esp8266 blynk WiFi room thermostat
esp8266 blynk WiFi room thermostat
esp8266 blynk WiFi room thermostat
esp8266 blynk WiFi room thermostat
Any comments please leave on YouTube.