WiFi thermostat project at Github: WiFi thermostat
ESP8266 ESP32 WiFi DS18B20 OneWire Dallas HTML Webserver WebSocket JSON mDNS UART

Launch of the WiFi thermostat project - ESP8266 / ESP32


The WiFi thermostat project exists in several versions, which are available on Githube in the repository of the whole project. Versions differ in functionality only in advanced usage options and remote firmware update options. The firmware is available in compiled - binary form, which is executable for the target platform. Therefore, it is tested in advance, compiled for you. The firmware is universal, which guarantees that it will work with the cloned binary program on all microcontrollers in the same way.

The free version is available only in the form of a compiled - binary program without access to an application written in .ino format.


Firmware distribution based on supported WiFi platforms


  • ESP8266 - target platform with ESP8266 chip in versions 12E to 12F (conditioned by flash DIO method)
  • ESP32 - target platform with ESP-32S chip (AI-Thinker), ESP-WROOM32 (Espressif Systems)

  • Firmware distribution by function


    The name of the firmware folder Firmware features
    WiFi_TERMOSTAT Thermostat project. Possibility to set and control domestic heating in automatic mode
    WiFi_TERMOSTAT_mDNS Thermostat project. Possibility to set and control home heating in automatic mode. mDNS record for the possibility of starting the thermostat on the local domain within the LAN network
    WiFi_TERMOSTAT_MANUAL_experimental Thermostat project. Possibility to set and control home heating in automatic mode. Experimental possibility of manual control of SW output by a button from a web server. Automatic / manual mode switching.
    WiFi_TERMOSTAT_OTA Thermostat project. Possibility to set and control home heating in automatic mode. mDNS record for the possibility of starting the thermostat on the local domain within the LAN network with the possibility of updating the firmware via the Web OTA Updater service.

    To upload a binary program to the ESP platform, it is necessary to use the ESPTOOL tool. For example, the tool also uses the Arduino IDE environment to load the program after compilation, or the development framework from Espressif Systems - ESP-IDF. With the ESP32 platform, it is necessary to hold down the BOOT button or start a pulldown on GPIO 0 until the beginning of the recording process (if the board does not have a BOOT button output). An automated - executable .bat script (example for the COM7 port) is prepared in the folder of each firmware, which runs the enclosed ESPTOOL and loads the program with the specific firmware located in the given folder. The destination port must be changed based on the COM port on which your board / microcontroller will log in. The program implementation assumes that the board has loaded the basic parts of the flash memory - the partition table and the like ... The binary program is exclusively a thermostat application without other bundled parts of the program. After loading the program, the ESPTOOL program window will automatically close and perform a software restart of the ESP platform, which will then boot the new firmware and prepare the WiFi thermostat for use.

    XLoader - Arduino - AVRDUDE - Termostat - Ethernet
    After successful loading of the binary program - firmware, the thermostat is fully ready for operation.

    If the data on the existing WiFi network is not stored in its flash memory (for example, also from a sketch recorded before), it will start broadcasting its own SSID - WiFi_TERMOSTAT_AP . After connecting to a WiFi network with a smartphone / computer, the WiFi Manager web interface is available at 192.168.4.1 , which provides the option of configuring a WiFi thermostat for your home WiFi network. In the interface it is possible to enter the name and password of the existing WiFi network to which the WiFi thermostat will connect.

    The thermostat function is only started after connecting the ESP microcontroller to your LAN network! After assigning an IP address for connectivity on your network.
    After connecting to the home WiFi network, the ESP stops broadcasting the SSID, switches to STA (Station) mode and already works in thermostat mode The entered data about the WiFi network are stored in the flash memory of the thermostat and it is no longer necessary to enter them again when restarting the thermostat, power failure, device restart. If the network is not available, ESP will start broadcasting its own SSID again: WiFi_TERMOSTAT_AP and you can re-enter your credentials. The thermostat is available on its IP address (which it prints every 10 seconds also on the UART), or on the local mDNS -> http: //WiFi-termostat.local . The mDNS service only works after connecting to an existing WiFi network. Once the thermostat is transmitting its own SSID, it is not possible to access the device via a domain name. The program works on the basis of the project wiring diagram and the logic from the description.


    WiFi network thermostat in AP mode - Windows Client

    ESP - WiFi termostat - vysielanie SSID pre konfiguráciu na existujúcu WiFi sieť
    WiFi network thermostat in AP mode - Android Client

    WiFi termostat - ESP8266 AP - Android - pripojenie k sieti
    WiFi network thermostat in AP mode - Captive portal - redirect to the WiFi Manager configuration page

    WiFi termostat - ESP8266 AP - Captive Portal
    WiFi Manager - WiFi network configuration - main menu - WiFi thermostat

    WiFi termostat - WiFi Manager - konfigurácia existujúcej WLAN siete
    WiFi Manager - selection of WiFi network with signal strength - RSSI - password setting

    WiFi termostat - WiFi Manager - konfigurácia existujúcej WLAN siete
    WiFi thermostat - HTTP webserver - functional thermostat after connection to the LAN network

    Fungujúci WiFi termostat na IP adrese v lokálnej WiFi sieti
    WiFi Manager - UART output - system information and logic listing

    ESP - WiFi termostat - UART výpis - logika systému - ovládanie kotla, pridelená IP adresa v domácej LAN sieti