Thermostat system based on ESP32 and ILI9341 touch LCD
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.vscode
lib
schema
src
.gitignore
.travis.yml
README.md
platformio.ini

README.md

ESP32 thermostat witch touch LCD

WiFi thermostat based on the ESP32 (Espressif WROOM-32 Developer Kit), using SHT3X(SHT31-D) temperature/humidity sensor and ILI 9341 TFT LCD Touch display. Data are sent to the Thingspeak server and to the Blynk. Thermostat can be controlled by the Blynk application or directly by touch on the LCD. Project is free to use, coded in C++, created in Visual Code with PlatfomIO IDE.

The project is not yet complete and is still being developed!

To build a project, you need to download all the necessary libraries and create the settings.cpp file in the src folder with specific settings:

// Thermostat project settings
struct Settings
{
    const char *ssid = "WIFI ssid";
    const char *password = "WIFI password";
    const char *blynkAuth = "blynkAuthDevice1";
    const char *blynkAuthOutdoor = "blynkAuthDevice2";
    const char *blynkAuthBedroom = "blynkAuthDevice3";
    const char *hostNameOTA = "OTA host name";
    const char *passwordOTA = "OTA password";
    const char *version = "0.1.0";
};

LCD Touch panel library & wiring:

I'm using awasome TFT_eSPI library from Bodmer. You must update User_Setup.h file to set display type and pins. There is ESP32 section, my setup for this section is following:

// ###### EDIT THE PIN NUMBERS IN THE LINES FOLLOWING TO SUIT YOUR ESP32 SETUP   ######

// For ESP32 Dev board (only tested with ILI9341 display)
// The hardware SPI can be mapped to any pins
#define TFT_MISO 19
#define TFT_MOSI 23
#define TFT_SCLK 18
#define TFT_CS   15  // Chip select control pin
#define TFT_DC    2  // Data Command control pin
#define TFT_RST  -1  // Set TFT_RST to -1 if display RESET is connected to ESP32 board RST
#define TOUCH_CS  4  // Chip select pin (T_CS) of touch screen

For wires connection between the display and the ESP32 look to the schema..

5V relay vs 3.3V ESP32 pins

When you have 5V relay, there is a need to think about 3.3V ESP32 pins. You can't just connect ESP32 pin to source pin of the relay, it would not work. One way is insert MOSFET between ESP32 pin and source pin of the relay. Other solution is just use the 3.3V relay, or solid state relay. More information is here.

Currents list:

Schema:

Schema