Home > Projects > Smart Thermostat

Smart Thermostat

Summary of Smart Thermostat


This article details a smart thermostat project enabling users to control their home heater via Telegram. The system uses an Arduino MKR1000 for connectivity, integrating a DHT22 sensor for environmental data and an LCD screen for local display. It features time synchronization via NTP, persistent storage using FlashMemory, and manual controls through pushbuttons. The project allows weekly scheduling and remote temperature adjustments through chat commands, eliminating the need for external dashboards.

Parts used in the Smart Thermostat:

  • Arduino MKR1000
  • DHT22 Temperature Sensor
  • SparkFun Pushbutton switch 12mm (x3)
  • Resistor 10k ohm (x4)
  • LCD screen
  • 3D Printer (generic)
  • Soldering iron (generic)

Connect your home heater to Internet and chat with it via Telegram!

Smart Thermostat

Things used in this project

Hardware components

Arduino MKR1000
Arduino MKR1000
× 1
DHT22 Temperature Sensor
DHT22 Temperature Sensor
× 1
Pushbutton switch 12mm
SparkFun Pushbutton switch 12mm
× 3
Resistor 10k ohm
Resistor 10k ohm
× 4
LCD screen
× 1

Software apps and online services

Arduino Web Editor
Arduino Web Editor
Arduino IDE
Arduino IDE

Hand tools and fabrication machines

3D Printer (generic)
3D Printer (generic)
Soldering iron (generic)
Soldering iron (generic)

Story

Custom parts and enclosures

Schematics

Code

A smart thermostat you can control from Telegram — Read More

 

Quick Solutions to Questions related to Smart Thermostat:

  • How do I connect the thermostat to the internet?
    You must use the WiFi101 library and configure the SSID and password within the code to connect to your router.
  • Can I program the thermostat for a whole week?
    Yes, the thermostat allows you to program a full week schedule that loops automatically.
  • Does the device save settings when turned off?
    Yes, it uses the FlashStorage library to save data like the desired temperature and schedule in the board's flash memory.
  • What libraries are required for the LCD display?
    The LCD display requires the GFX and ST7735 libraries to function correctly.
  • How does the thermostat get the correct time?
    It makes a UDP call to an NTP server (like time.nist.gov) to set the Real Time Clock (RTC).
  • Can I change the temperature unit to Fahrenheit?
    Yes, you can uncomment the USE_fahrenheit line in the config tab to switch from Celsius to Fahrenheit.
  • How many pushbuttons are used in this project?
    The project utilizes three SparkFun Pushbutton switches.
  • Where can I find the source code for this project?
    The source code is available on GitHub under the repository CasaJasmina/Telegram-Thermostat.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top