This project is a fire detection system that continuously monitors ambient temperature using a DHT11 sensor connected to an ESP8266 microcontroller. When the sensor reading exceeds a set temperature (50 °C for example), a buzzer is activated and an SMS alert is sent via a SIM800L GSM module to a predefined phone number. This device provides immediate local warning and remote notification, helping to prevent fire-related incidents in homes or workspaces.
The system consists of both hardware and software modules working together:
Component | Description | Link |
---|---|---|
ESP8266EX + CH340 | Microcontroller board (Plusivo) | Link |
DHT11 Temperature Sensor | Digital temperature and humidity sensor | Link |
SIM800L GSM Module | GSM communication module | Link |
1571563-8 | Push Button | Link |
Passive Buzzer | Passive Buzzer | Link |
LM2596 Converter | Adjustable voltage regulator module | Link |
Schematic made in Fusion 360. The ESP8266 was made manually because there seems to be no schematic for it on the internet.
- Temperature Sensor DHT11
- Button (Reset Alarm)
- Passive Buzzer
- SIM800L GSM Module
- ESP8266 (NodeMCU)
The firmware is developed in the Arduino IDE targeting the ESP8266 platform.
- DHT11 Temperature Sensor
- Alarm System (Passive Buzzer and Button)
- SIM800L GSM Module
Libraries Used
- `Adafruit_Sensor.h`, `DHT.h`, `DHT_U.h`: For interfacing with the DHT11 temperature sensor. - `SoftwareSerial.h`: Enables serial communication between the ESP8266 and the SIM800L GSM module.
Working on this project was both challenging and fun. At first, I wasn’t sure if everything would work together, especially the SIM800L module, which needed a lot of trial and error to set up properly. I also had to be careful with wiring and power, since I didn’t want to damage any components.
I learned a lot about how to use interrupts, how UART communication works, and how to read data from the DHT11 sensor. I also got some practice debugging both hardware and software issues, which sometimes took a while but felt great once they were solved.
In the end, I managed to build a system that detects high temperatures, triggers an alarm, and sends an SMS alert. It even has a button to silence the alarm, which works using interrupts.
Even though it’s a simple version, I think it’s a good starting point, and I’m happy with how it turned out. With more time, I’d like to improve the design and maybe add more features. Overall, it was a great learning experience.
ESP8266 with DHT11 – Newbiely guide – A detailed tutorial on how to connect and read temperature from a DHT11 sensor using the ESP8266.
SIM800L GSM Module with Arduino – Last Minute Engineers – A complete guide for using the SIM800L module to send SMS messages via AT commands.
ESP8266 Interrupts – Official Documentation – Official Arduino documentation on using interrupts.
LM2596 datasheet and guide – Technical overview of the LM2596 buck converter module