Fire Prevention & Alarm System
Prevent wildfires by measuring relevant data and notifying authorities
Author: Răzvan-Ștefan Costea
GitHub Project Link: https://github.com/UPB-PMRust-Students/proiect-RazvanDire
Description
A system that takes periodic measurements of atmospheric pressure, temperature, humidity and light intensity levels. When a certain combination of parameters is reached, based on accepted scientific research, local authorities are notified and an alarm is started.
The system is intended to be used in areas that are arid and/or prone to wildfires. As such, the system runs on batteries and has a GPS module, so it can be located.
- two different sensors take the measurements
- the latest measurements are displayed on an LCD screen for passersby
- the Wi-Fi module allows the system to broadcast its coordinates, provided by the GPS module
- the audible-visual alarm is provided by a buzzer and flashing LEDs
Motivation
One of the biggest environmental threats that the modern world faces is global warming. The increase in temperatures and decrease in rainfall that result can cause massive wildfires, as we saw in California in January 2025. These wildfires destroy natural habitats and endanger thousands, which only exacerbates the problem further. The goal of my project is to identify conditions that might lead to wildfires and take preventive action, so we stop them before they happen. Furthermore, all the money and effort that would've gone towards putting out those fires and relocating people can be used to "cure" the root problem, global warming, instead of just "treating the symptoms".
Architecture
Log
Week 5 - 11 May
Week 12 - 18 May
Week 19 - 25 May
Hardware
- Raspberry Pi Pico 2W:
- the microcontroller
- reads data from the sensors and activates the buzzer and the LEDs when certain parameters are reached
- sends the measurements to the LCD screen and the coordinates from the GPS via Wi-Fi
- BME280:
- pressure, temperature and humidity sensor
- takes periodic measurements and sends the data to the MCU
- TSL2561:
- light intensity sensor
- measures visible and infrared light intensity
- takes periodic measurements and sends the data to the MCU
- GY-NEO6MV2:
- GPS module
- provides the GPS coordinates of the system
- LCD screen:
- displays the data measured by the sensors for passersby
- Buzzer & LEDs:
- the audible-visual alarm: when certain parameters are reached, the alarm is triggered
Schematics
Bill of Materials
Device | Usage | Price |
---|---|---|
Raspberry Pi Pico 2W | The microcontroller and debugger | 39.66 RON × 2 |
BME280 | Pressure, temperature and humidity sensor | 73.99 RON |
TSL2561 | Light intensity sensor | 22.99 RON |
GY-NEO6MV2 | GPS Module | 44.95 RON |
Breadboard | Connect all the components | 9.98 RON |
LCD screen | Display the sensors' measurements | 16.34 RON |
Buzzer | Audio alarm | 1.40 RON |
LED | Visual alarm | 0.39 RON × 2 |
Pin header | Connect components to the breadboard | 0.99 RON × 3 |
Battery holder | Power the circuit | 3.95 RON |
Total | - | 256.67 RON |
Software
Library | Description | Usage |
---|---|---|
embassy-rp | HAL targeting the RP2350 | Access to the peripherals |
embassy-time | Timekeeping, delays and timeouts | Create timers |
embassy-net | Async network stack | Send messages over Wi-Fi |
embassy-executor | An async/await executor | Create different tasks |
lcd1602-rs | Display library | Used for my 16 characters on 2 lines LCD screen |
heapless | Statically allocated data | Used to write strings for my LCD |