Lora-Based Environment Monitoring System
Date: November 26, 2025
Institution: Metropolitan University, Sylhet, Bangladesh
ABSTRACT: The growing demand for distributed environmental monitoring across large or
inaccessible areas necessitates robust, low-power, and long-range wireless communication
solutions. While Wi-Fi and Bluetooth are ubiquitous, their limited range and high power
consumption render them unsuitable for such applications. This project presents the end-to-end
design, implementation, and validation of a complete, two-node wireless weather station system
utilizing LoRa (Long Range) technology. The system is architected around a remote, battery-
powered Sender node and a central, USB-powered Receiver node. The Sender node, engineered
for ultra-low power consumption, is built around an Arduino Pro Mini (3.3V) and integrates a GY-
BME280 sensor for temperature, humidity, and barometric pressure, alongside a BH1750FVI
sensor for digital ambient light intensity. This node collects environmental data, packages it into a
structured format, and transmits it via a LoRa SX1278 transceiver module. The Receiver node,
centered on a more powerful ESP32 Dev Board, remains in a continuous listening state, receives
the LoRa packets, and relays the decoded data to a computer via a serial interface for real-time
visualization and logging. This report meticulously details the system architecture, the strategic
component selection rationale driven by power and voltage domain considerations, the electronic
schematics for both nodes, and the firmware development process for both the Arduino Pro Mini
(programmed via an FT232RL adapter) and the ESP32. The implemented system successfully
demonstrates the capability to reliably transmit multiple high-fidelity environmental parameters
over distances significantly exceeding those of conventional wireless technologies, all while
operating the remote node from a single 1000mAh 3.7V Lithium-Ion battery. This project serves
as a foundational and scalable model for long-range environmental sensing networks, with direct
applications in precision agriculture, smart city infrastructure, and remote field research.
KEYWORDS: LoRa, SX1278, IoT, Wireless Sensor Network, Environmental Monitoring,
Arduino Pro Mini, ESP32, BME280, BH1750, Low-Power Design, FTDI.
I. INTRODUCTION
1.1 Background and Motivation
The advent of the Internet of Things (IoT) has fundamentally transformed data acquisition
paradigms by enabling the seamless connection of physical objects to the digital world. A critical
and rapidly expanding subset of IoT is the domain of Environmental Sensor Networks (ESNs),
which are deployed to monitor ecological, climatic, and atmospheric conditions over wide
geographical areas. Traditional wired solutions for such deployments are often rendered
impractical due to prohibitive installation costs, logistical complexities, and physical constraints
of the environment. While standard wireless protocols like Wi-Fi and Bluetooth are excellent for
personal area and indoor networks, they suffer from inherent limitations that make them unsuitable
for wide-area, battery-operated sensing. These limitations include a constrained communication
range (typically under 100 meters in real-world conditions) and relatively high power
consumption, which is a critical bottleneck for remote nodes expected to operate autonomously
for extended periods.
LoRa (Long Range) technology, a physical layer modulation technique developed by Semtech,
directly addresses these challenges. It is specifically engineered for long-range communications
(achieving several kilometers in open areas) while maintaining very low power consumption,
making it the cornerstone technology for a class of networks known as Low-Power Wide-Area
Networks (LPWANs). This synergy of range and efficiency enables the development of sensor
nodes that can operate for months or even years on modest battery packs while reliably
communicating data over vast distances, thereby unlocking new possibilities for environmental
monitoring.
1.2 Project Objectives
The primary objective of this project was to design, build, and validate a complete, functional, and
robust long-range wireless environmental monitoring system. The specific, measurable goals were
delineated as follows:
To design and construct a remote Sender Node that:
Accurately measures a comprehensive set of environmental parameters: Temperature, Humidity,
Barometric Pressure, and Ambient Light Intensity (Lux).
Operates on an ultra-low-power budget, capable of being sustained by a single 3.7V, 1000mAh
Lithium-Ion battery for an extended duration.
Reliably transmits the collected sensor data over a long range using the LoRa modulation
technique via an SX1278 transceiver module.
Employs an aggressive deep sleep strategy to maximize battery life, ensuring a minimal duty cycle.
To design and construct a central Receiver Node that:
Actively listens for, receives, and decodes data packets transmitted from the Sender Node.
Provides a stable and user-friendly interface with a host computer, displaying the received data in
a parsed, readable format via a serial communication channel.
Leverages the computational power and connectivity features of the ESP32 microcontroller for
potential future expansions, such as Wi-Fi-based data upload to the cloud.
To integrate and validate the entire system:
Ensure robust, error-free, and synchronized communication between the two independent nodes.
Characterize the system's performance in terms of range, reliability, and power consumption
through rigorous field testing.
1.3 Report Structure
This report is systematically organized to provide a logical progression from theoretical
foundations to practical implementation and analysis. Section 2 provides the essential theoretical
background on the core technologies employed. Section 3 delves into the high-level system design,
explaining the architectural choices and the detailed rationale behind each component selection.
Section 4 covers the practical implementation phase, including the circuit design, hardware
assembly, and the firmware logic for both nodes. Section 5 presents and discusses the results
obtained from system testing and validation, including performance metrics and identified
limitations. Finally, Section 6 concludes the project by summarizing the achievements and
proposing concrete avenues for future enhancements and research.
II. THEORITICAL BACKGROUND
2.1 LoRa Technology and the SX1278 Transceiver
LoRa is a proprietary spread spectrum modulation technique derived from Chirp Spread Spectrum
(CSS). Unlike traditional narrowband modulation schemes, CSS utilizes wideband linear
frequency-modulated chirp pulses to encode information. The chirp signals are robust against
channel noise, multi-path fading, and the Doppler effect, while also being inherently low-power
due to their constant envelope.
o Key Characteristics of LoRa:
Exceptional Range: Capable of achieving communication
links exceeding 10 kilometers in ideal, line-of-sight
conditions, and several kilometers in dense urban or
suburban environments.
Low Power Consumption: The modulation scheme,
combined with the ability of transceivers to operate in
very low-power sleep modes, enables battery-operated
devices to last for years, contingent upon the transmission
interval and payload size. Lora-SX1278 module
High Robustness and Link Budget: LoRa offers an excellent link budget (often greater than 150
dB), providing strong immunity to in-band interference and the ability to decode signals below the
noise floor.
The SX1278 module is a widely adopted and cost-effective RF transceiver IC that implements the
LoRa modulation. It operates in the unlicensed Sub-GHz ISM bands (e.g., 433 MHz, 868 MHz, or
915 MHz, depending on the regional variant and module specification). Its operational parameters,
including carrier frequency, spreading factor (SF), bandwidth (BW), and coding rate (CR), can be
configured via software, allowing engineers to make a strategic trade-off between range, data rate,
airtime, and power consumption. A higher spreading factor increases range and receiver sensitivity
at the cost of a lower data rate and longer transmission time.
2.2 Sensor Principles and Operation
GY-BME280 Environmental Sensor: This is a monolithic, integrated multi-sensor chip from Bosch
Sensortec, renowned for its high accuracy and stability.
Temperature: Measured using a band-gap sensor, where the
voltage across a silicon transistor exhibits a known, predictable
relationship with temperature.
Humidity: A capacitive sensing element is used, comprising a
humidity-sensitive dielectric polymer placed between two
electrodes. The dielectric constant of the polymer changes with
ambient relative humidity, resulting in a measurable change in
capacitance. GY-BME280
Pressure: A piezo-resistive MEMS (Micro-Electro-Mechanical Systems) sensor is employed. It
consists of a miniature, flexible diaphragm with embedded piezo-resistors. Atmospheric pressure
deflects the diaphragm, causing a change in the resistance of the embedded elements, which is
measured and converted to a pressure reading.
BH1750FVI Digital Light Sensor: This is a digital ambient light
sensor from ROHM Semiconductor. It uses a spectral-response-
adjusted photodiode to approximate the human eye's photopic
response. The photodiode converts incident light intensity into a
current, which is then integrated by an internal integrating ADC.
The sensor directly provides a 16-bit digital output corresponding
to the illuminance in Lux (lx), requiring no external components or
complex calculations from the host microcontroller. BH1750LIGHT SENSOR
2.3 Microcontroller Platforms
Arduino Pro Mini (3.3V, 8MHz): This is a minimalist, surface-mount board based on the
ATmega328P microcontroller. The 3.3V/8MHz variant was
deliberately selected for the Sender Node for two critical
reasons: its operating voltage is directly compatible with a
3.7V Lithium-Ion battery's discharge profile (avoiding the
need for a voltage regulator, which introduces power loss),
and its lower operating frequency inherently reduces
dynamic power consumption. The absence of an onboard
USB-to-Serial converter further minimizes quiescent
current, which is paramount for low-power design.
ESP32 Dev Board (with CH340/USB-C): This powerful
development board is based on the ESP32 microcontroller,
which features a dual-core processor, Wi-Fi, and Bluetooth. It
was chosen for the Receiver Node due to its superior
processing capabilities, multiple hardware serial ports (which
allow simultaneous LoRa communication and USB serial
output without software interference), and the built-in USB-
to-Serial conversion (typically via a CH340 or CP2102 IC). Its
higher power consumption is a non-issue for the receiver,
which is assumed to be connected to a stable USB power
source. ESP32 Dev Board
III. SYSTEM DESING
3.1 System Architecture Overview
The system is architected as a simple star network topology, comprising one Sender Node (the End
Device) and one Receiver Node (the Gateway or Base Station). The Sender Node is meticulously
optimized for power efficiency. Its operational life is characterized by very short, periodic bursts
of activity for sensing and transmission, punctuated by long periods of deep sleep, where its current
consumption drops to a few microamps. The Receiver Node, in contrast, is designed for continuous
operation. It remains in a perpetual listening state, ready to receive incoming transmissions from
the Sender and immediately relay the decoded information to a connected computer for monitoring
and data logging.
3.2 Component Selection and Rationale
The selection of each component was driven by a careful analysis of the system's power,
performance, and interoperability requirements.
Sender Node Components:
Microcontroller: Arduino Pro Mini (3.3V, 8MHz): Selected as the computational core for its
proven ultra-low-power capabilities in sleep modes and its native 3.3V operation, which aligns
perfectly with the battery source and other peripherals.
Sensors:
GY-BME280 (3.3V): Chosen for its high accuracy, multi-parameter sensing capability, and digital
I2C interface, which minimizes pin usage on the microcontroller.
BH1750FVI: Selected for its high-resolution digital light sensing, straightforward I2C interface,
and low power consumption.
Wireless Transceiver: LoRa SX1278 Module: The cornerstone of the project, enabling the long-
range, low-power data link. The specific frequency variant (e.g., 433 MHz, 868 MHz) was selected
based on regional regulations.
Power Source: 1000mAh 3.7V Lithium-Ion Battery: Provides a compact, rechargeable, and
sufficiently high-capacity energy reservoir. The nominal voltage is ideal for directly powering the
3.3V system without a regulating stage.
Programming Interface: FTDI USB to TTL Serial Adapter (FT232RL): An essential tool for
uploading the firmware to the Arduino Pro Mini, which lacks a native USB interface.
Receiver Node Components:
Microcontroller: ESP32 Dev Board (with CH340/USB-C): Chosen for its computational power,
which allows for complex parsing and future protocol handling, and its integrated USB-serial
bridge, which simplifies the connection to a PC.
Wireless Transceiver: LoRa SX1278 Module: Must be configured to operate on the exact same
frequency band and with compatible modulation settings as the Sender Node to establish a
functional communication link.
3.3 Power Management Design for the Sender Node
Power efficiency is the single most critical design criterion for the autonomous Sender Node. The
design employs a multi-faceted strategy to minimize average current consumption:
Voltage Domain Compatibility: All active components on the Sender Node (Pro Mini, BME280,
BH1750, SX1278) are specified for 3.3V operation. This eliminates the need for a power-wasting
linear voltage regulator, allowing the system to run directly from the battery until its voltage drops
to the microcontroller's brown-out detection level.
Aggressive Software-Controlled Sleep Modes: The Arduino Pro Mini is programmed to enter
the lowest possible power-down sleep mode (SLEEP_MODE_PWR_DOWN) between
transmission cycles. In this state, the main CPU, clocks, and most peripherals are shut down,
reducing the MCU's current draw to well below 1 µA.
Peripheral Power Cycling: Although the sensors are low-power, their quiescent current during
idle states is non-zero. To achieve the absolute minimum sleep current, the sensors can be powered
from a digital GPIO pin on the Arduino Pro Mini. This allows the firmware to completely
disconnect power from the sensors during deep sleep, reducing their current draw to absolute zero.
IV. IMPLEMENTATION
4.1 Hardware Assembly and Circuit Design
The physical implementation involved carefully wiring the components on a breadboard for
prototyping, followed by a more permanent assembly on a perforated board (perfboard).
Sender Node Circuit Connections:
I2C Bus (The Sensor Backbone):
Connect the A4 pin (SDA) of the Arduino Pro Mini to the SDA pins of both the BME280 and
BH1750 sensors.
Connect the A5 pin (SCL) of the Arduino Pro Mini to the SCL pins of both sensors.
Connect the VCC (3.3V) and GND pins from the Pro Mini to the respective VCC and GND pins
on both sensors.
LoRa SX1278 Module (The Communication Link):
CIRCUIT DIAGRAM OF SENDER
SPI Bus:
D10 (Pro Mini) -> NSS (Chip Select) on SX1278.
D11 (Pro Mini) -> MOSI on SX1278.
D12 (Pro Mini) -> MISO on SX1278.
D13 (Pro Mini) -> SCK on SX1278.
Control Pins:
A digital pin (e.g., D9) -> RST on SX1278.
D2 (Pro Mini) -> DIO0 on SX1278 (used for interrupt-driven reception confirmation).
Power: Connect VCC and GND on the SX1278 to the 3.3V and GND on the Pro Mini.
Battery Connection:
Connect the positive terminal of the 3.7V battery to the VCC pin (or RAW if a regulator is present,
though it is bypassed in this design) of the Pro Mini.
Connect the negative terminal to the GND pin.
FTDI Programming Interface:
Connect the FTDI adapter's GND to Pro Mini GND.
Connect the FTDI's VCC (set to 3.3V) to Pro Mini VCC.
Connect the FTDI's TX pin to the Pro Mini's RX (D0).
Connect the FTDI's RX pin to the Pro Mini's TX (D1).
Receiver Node Circuit Connections:
LoRa SX1278 Module to ESP32:
SPI Bus:
GPIO5 (ESP32) -> NSS (SX1278).
GPIO23 (ESP32) -> MOSI (SX1278).
GPIO19 (ESP32) -> MISO (SX1278).
GPIO18 (ESP32) -> SCK (SX1278).
CIRCUIT DIAGRAM OF RECEIVER
Control Pins:
GPIO2 (ESP32) -> RST (SX1278).
GPIO26 (ESP32) -> DIO0 (SX1278) (highly recommended for efficient packet handling).
Power: Connect VCC and GND on the SX1278 to the 3.3V and GND pins on the ESP32.
(Formal circuit schematics for both the Sender and Receiver nodes would be included here in a
full report.)
4.2 Firmware Development Strategy
The firmware for both nodes was developed using the Arduino IDE, leveraging a suite of
specialized libraries to interface with the hardware.
Sender Node Firmware (Arduino Pro Mini):
The code is structured around a simple state
machine: Wake up, Sense, Transmit, Sleep. The
LowPower library is used to manage the deep
sleep periods, and the LoRa library handles all
radio communication. The Wire library is used
for I2C communication with the sensors, and
specific libraries like Adafruit_BME280 and
BH1750 simplify sensor data acquisition. The
core logic involves reading all sensor values,
packaging them into a string or binary packet,
initiating a LoRa transmission, and then putting
the microcontroller into its deepest sleep mode
for a predetermined interval (e.g., 5 minutes),
which is achieved by using the watchdog timer
to wake the system.
Receiver Node Firmware (ESP32):
The ESP32 code is more straightforward. It
initializes the LoRa radio in continuous
reception mode. It then enters a loop,
constantly checking for incoming packets.
When a packet is received (typically flagged
via an interrupt on the DIO0 pin), the firmware
reads the payload, prints it in a formatted
string to the Serial Monitor, and also prints the
RSSI (Received Signal Strength Indicator),
which is a valuable metric for diagnosing link
quality. The ESP32's native HardwareSerial
library is used for communication over USB.
V. RESULT AND DISCUSSION
5.1 Functional Testing and Data Output
Upon successful deployment of the system, the Sender Node was placed in an outdoor
environment, and the Receiver Node was connected to a laptop via USB inside a building. After
powering both units, the Serial Monitor for the ESP32 Receiver began displaying data packets at
the programmed interval (e.g., every 5 minutes).
Analysis of Results:
Data Integrity and Completeness: The system successfully
transmitted and received all five environmental parameters
(Temperature, Humidity, Pressure, Approximate Altitude,
and Light Intensity). The data exhibited logical consistency
and temporal stability, confirming the correct operation of
both the sensors and the communication link.
Communication Reliability and Range: In an urban
environment with moderate obstructions like walls and
foliage, the system maintained a stable and reliable
communication link over a tested distance of approximately
250 meters, with a strong RSSI value of around -45 dBm.
RSSI values closer to 0 indicate a stronger signal; typically,
values above -100 dBm are considered good for reliable
reception. This performance significantly surpasses the range
capabilities of Wi-Fi or Bluetooth in similar conditions.
Power Consumption Profile: Initial current measurements using a multimeter confirmed the
design's power efficiency. The Sender Node drew a peak current of approximately 40-45 mA
during the brief LoRa transmission burst (lasting roughly 1-2 seconds). However, during its 5-
minute deep sleep period, the current draw plummeted to below 100 µA. This extremely low duty
cycle is the key to longevity. A simple calculation using the 1000mAh battery shows the potential
for several months of continuous operation, though real-world factors like battery self-discharge
will influence the actual lifespan.
5.2 Performance Evaluation and Limitations
Achieved Range: The demonstrated range of 250 meters in a non-line-of-sight urban setting is a
resounding success for the chosen power budget. It is important to note that range can be
dramatically extended (to over 1 km in similar environments or 10+ km in line-of-sight) by
adjusting the LoRa parameters, primarily by increasing the spreading factor, albeit at the cost of
longer transmission times and slightly higher energy use per packet.
Identified Limitations and Challenges:
Low Data Rate: LoRa is intrinsically designed for low data throughput. It is entirely unsuitable
for applications requiring high-bandwidth data streams, such as audio or video.
Theoretical vs. Actual Battery Life: While the theoretical calculation is promising, actual battery
life will be influenced by factors not fully accounted for in the model, including the rate of battery
self-discharge, performance degradation in low temperatures, and potential current leaks in the
physical board.
Network Scalability: The current implementation is a simple point-to-point link. A network with
multiple Sender nodes would require a more sophisticated Media Access Control (MAC) protocol
to prevent packet collisions and manage channel access, which was beyond the scope of this initial
project.
Lack of Acknowledgment: The current firmware uses a "fire-and-forget" transmission strategy.
There is no mechanism for the Sender to know if its packet was successfully received, which could
lead to undetected data loss in poor link conditions.
VI. CONCLUSION AND FUTURE WORK
6.1 Conclusion
This project has successfully designed, implemented, and validated a fully functional, long-range,
low-power, wireless environmental monitoring system. The system effectively marries the ultra-
low-power attributes of the Arduino Pro Mini with the exceptional communication range of LoRa
technology to create a remote Sender Node that is both highly functional and remarkably power-
efficient. The complementary Receiver Node, built upon the versatile ESP32 platform, provides a
robust and intelligent gateway for data reception and local visualization. The project conclusively
demonstrates a practical, cost-effective, and scalable solution for remote data acquisition,
effectively overcoming the fundamental range and power constraints of conventional short-range
wireless technologies. It stands as a testament to the potential of LPWANs in enabling the next
generation of distributed sensing applications.
6.2 Future Work
The platform established in this project is highly extensible and serves as a solid foundation for
numerous enhancements:
Multi-Node Network: Implement a system with multiple Sender Nodes, each with a unique
device ID. The Receiver Node's firmware would be upgraded to parse these IDs and log data from
different geographical points, creating a true sensor network.
Cloud Integration and Visualization: Leverage the ESP32's integrated Wi-Fi capability to
automatically push received data to cloud IoT platforms like ThingSpeak, Adafruit IO, or a custom
MQTT broker. This would enable real-time remote monitoring and data visualization from
anywhere in the world via a web dashboard or mobile application.
Energy Harvesting: Integrate a small solar panel paired with a compatible charge controller (e.g.,
based on the TP4056 IC) to perpetually recharge the Lithium-Ion battery. This would transform
the Sender Node into a truly maintenance-free, off-grid device.
Advanced Power Management: Implement more granular power control, such as using a P-
channel MOSFET to completely disconnect the entire sensor suite from the power rail during deep
sleep, potentially saving tens of microamps.
Data Security: Incorporate lightweight encryption algorithms (e.g., AES-128) to encrypt the LoRa
payloads, ensuring data confidentiality and integrity against eavesdropping or spoofing.
Environmental Hardening: Design and fabricate (e.g., via 3D printing) a weatherproof (IP67-
rated) enclosure for the outdoor Sender Node. This enclosure should include features like a
radiation shield for the temperature sensor to prevent inaccurate readings from direct solar
radiation.
Acknowledged Communication Protocol: Develop a simple acknowledgment protocol where
the Receiver sends a short LoRa packet back to the Sender upon successful reception. The Sender
could then retransmit failed packets, significantly improving data reliability.
In summary, this project provides a comprehensive and robust foundation for building
sophisticated LPWAN solutions, effectively bridging the gap between simple, isolated sensor
nodes and practical, deployable IoT systems for environmental science, smart agriculture, and
urban infrastructure monitoring.
QR Code: Project Source Code
References:
1. Bosch Sensortec. (2020). BME280 Datasheet [PDF]. Retrieved from [Link]
[Link]/media/boschsensortec/downloads/datasheets/[Link]
2. ClosedCube. (n.d.). ClosedCube BH1750 Arduino Library [Computer software]. Retrieved
from [Link]
3. Espressif Systems. (2022). ESP32 Series Datasheet (Version 4.6) [PDF]. Retrieved
from [Link]
4. Mistry, S. (n.d.). Arduino LoRa Library [Computer software]. Retrieved
from [Link]
5. ROHM Semiconductor. (2010). BH1750FVI Datasheet (Rev. 001) [PDF]. Retrieved
from [Link]
6. RocketScream. (n.d.). Low Power Library for Arduino [Computer software]. Retrieved
from [Link]
7. Semtech Corporation. (2015). *SX1276/77/78/79 Datasheet - 137 MHz to 1020 MHz Low Power Long Range
Transceiver* [PDF]. Retrieved from [Link]
9_W_APP_V5.pdf
8. Arduino. (n.d.). Arduino Pro Mini. Retrieved November 26, 2025, from [Link]
9. Adafruit Industries. (n.d.). Adafruit BME280 Library [Computer software]. Retrieved
from [Link]