When disasters hit, one thing fails almost instantly: communication. Cell towers collapse, power goes out, and people get cut off. This project was built to solve that exact problem a low-cost, long-range communication network that works even with zero internet, zero mobile network, and zero power grid.
Below is the full system I designed, built, programmed, and tested.
Project Overview
This system is a hybrid ESP32–LoRa mesh-like network designed for disaster zones.
It sends critical alert messages + GPS coordinates across long distances using battery-powered wireless nodes.
The network has three specialized nodes:
- Transmitter Node (Sensor Node – ESP32)
- Relay Node (Intermediate Repeater – ESP8266)
- Receiver Node (Base Station – ESP8266)
Each node is optimized for its role ,keeping the system cheap, scalable, and reliable.
Transmitter Node (ESP32 + GPS + Sensors)
Role: Detect events → collect GPS → send alert via LoRa.
Hardware
- ESP32
- SX1278 LoRa module
- GPS module
- Flame sensor
- Accelerometer (shock detection)
- Li-ion battery + power management
Figure 1 illustrates the block diagram for the transmitter circuit, centered around the ESP32 microcontroller. This central processor interfaces with multiple input modules: it receives location data from the GPS Module (via UART), fire alerts from the Flame Sensor, and shock/motion data from the Accelerometer (via I2C). When an event is triggered, the ESP32 formats a data packet and sends it to the LoRa SX1278 transceiver (via SPI) for long-range wireless transmission. The entire node is powered by a dedicated battery and power management system.
- What It Does
- Continuously monitors:
- Fire
- Sudden vibrations/shocks
- Reads accurate GPS coordinates
- Formats a compact alert packet
- Sends it over LoRa to the nearest relay node
Firmware Algorithm (Transmitter Node - ESP32)
Figure 2 shows the transmitter's flowchart. Upon startup, the ESP32 initializes all sensors (GPS, flame, accelerometer) and the LoRa module. It then enters a continuous loop, monitoring sensor data against predefined thresholds. If a fire or seismic threshold is breached, the node immediately acquires its GPS location, formats an alert packet with the event data, and transmits it via LoRa before returning to its monitoring state.
Packet structure:
[ Event | Latitude | Longitude]
This is the “brain” of the system ,fully automatic, no internet needed.
Relay Node (ESP8266 + LoRa)
Role: Extend communication range by forwarding packets.
Hardware
-
ESP8266
-
SX1278 LoRa module
-
RX/TX indicator LEDs
-
Battery/solar power support
How It Works
-
Always in listening mode
-
When it receives a packet:
-
Flash RX LED
-
Immediately re-transmit the same packet
-
Flash TX LED
Firmware Algorithm (Relay Node - ESP8266)
Figure 3.3 shows the flowchart for the Intermediate/Relay Node, which acts as a "store- and-forward" repeater. The ESP32 initializes its LoRa module and the RX/TX status LEDs, then enters an infinite listening loop. Upon receiving a valid LoRa packet, it immediately flashes the RX LED to signal reception. It then re-transmits the identical packet via LoRa to extend the network's range, flashes the TX LED to signal transmission, and immediately returns to its listening state.
Relay nodes are intentionally simple and cheap so many can be deployed across an area ,on trees, poles, rooftops forming a long-range communication chain.
Receiver Node (Base Station – ESP8266)
Role: Display alerts and notify rescue teams.
Hardware
-
ESP8266
-
SX1278 LoRa module
-
OLED display
-
Buzzer
Features
-
Continuously listens for incoming alerts
-
Parses event + coordinates
-
Displays the alert on OLED
-
Activates buzzer for an audible alarm
-
No PC or software needed — plug and use
This acts as the command center for emergency teams.
Communication Flow (Simple Explanation)
-
Event detected (fire or shock)
-
Transmitter reads GPS location
-
ESP32 sends alert via LoRa
-
Relay nodes repeat the packet, extending the range
-
Base station receives it
-
OLED shows:
-
Event type
-
Coordinates
-
-
Buzzer rings for emergency notification
This chain works even in remote areas, collapsed cities, forests, or mountains.
Firmware Overview
Transmitter (ESP32)
-
Initialize sensors + GPS + LoRa
-
Monitor thresholds
-
Build & send alert packet
-
Return to monitoring state
Relay Node
-
Listen → receive → retransmit
-
Very lightweight firmware
Receiver Node
-
Listen
-
Parse packet
-
Update OLED
-
Trigger buzzer
All nodes run fully offline, no cloud, Wi-Fi, or external services.
Tools Used
-
Arduino IDE – coding + debugging
-
Serial Plotter – tuning accelerometer thresholds
-
Serial Monitor – packet flow validation
-
Draw.io – diagrams & flowcharts
-
Notion – project management
-
Smartphone GPS App – accuracy testing
Testing & Results
✔ Long-Range Communication
-
Achieved 1 km in semi-urban environment (LoS)
Figure displays the Arduino IDE's Serial Monitor, serving as the debugging terminal for the Transmitter node. This screenshot captures the live data output, showing the successful acquisition of GPS coordinates, the status of the flame sensor and the dynamic values from the accelerometer (imitating seismic activity). Most importantly, it provides the LoRa status, confirming that the formatted alert packet has been successfully queued and transmitted.
|
Figure shows the Arduino IDE's Serial Monitor for the Receiver (Base Station) node. This screenshot validates the final step of the communication link, displaying the incoming alert data as it is received via LoRa. It shows the successfully parsed information, such as " FIRE" and the associated GPS coordinates, confirming a successful end-to-end data transmission from the transmitter. |
✔ Accurate GPS Transmission
-
Verified against mobile GPS
-
Reliable coordinate packet delivery
Figure demonstrates the live testing and validation of the transmitter's GPS module. The ESP32 transmitter node (foreground) has successfully acquired a GPS lock. The tablet screen in the background is used to verify these coordinates on a map, showing the precise location (blue dot) of the transmitter. This confirms the system's critical geotagging capability. |
✔ Multi-Hop Relaying
-
Packets successfully forwarded through relay chain
-
No duplication or loss after filtering
✔ Power Efficiency
-
LoRa modules run easily on battery
-
Designed for solar charging compatibility
✔ Field-Ready Workflow
-
Alerts are clear, loud, and easy to interpret
-
No technical knowledge required for rescuers.
Why This System Matters
This project solves a real-world problem:
-
Works without infrastructure
-
Ultra low power
-
Very long range
-
Affordable to deploy in large numbers
-
Reliable during emergencies
It provides a communication backbone in environments where traditional systems fail.
Future Upgrades
Here’s what I plan to add next:
-
AES-encrypted packets
-
Solar-powered enclosures
-
Mobile app for live map visualization
-
Self-healing mesh routing
-
Additional sensors (gas, temperature, water level)
-
Custom compact PCBs for deployment.
This project demonstrates a robust, low-cost, offline communication system using ESP32, ESP8266, and LoRa. It can detect disasters, transmit real-time alerts with location, extend coverage through relays, and notify command centers without needing any existing network.
It’s reliable, scalable, and built for real-world disaster scenarios.
0 Comments