LoRa WAN Weather Station - CREŢ Alexandru-Andrei

Introduction

This project intends to design and implement low-cost, energy-efficient weather monitoring stations capable of measuring key environmental parameters such as humidity, temperature and light intensity. Data is transmitted wirelessly using LoRa technology to a central receiver, which collects and stores the data for further analysis.

This system is designed to be scalable, energy-efficient and accessible, with a strong usage possibility in agricultural monitoring, or different environmental studies.

My interest for communication protocols, especially Wirless technologies lay the foundation of this project, which has excellent improvement perspectives. The primary goals are to enable reliably data collection in remote areas while minimizing dependency on constant electricity, internet connection or Wi-Fi infrastructure.

General Description

Hardware Design

Weather Station Components

Category Item Quantity
Microcontrollers Arduino Uno 1
Arduino Pro Mini 1
Power 3.7V Li-ion battery (18650) 1
18650 battery holder 1
Display I²C LCD (16×2) 1
Sensors SHT 1
BH1750 1
Connectivity LoRa SX1278 module 2
Pin Adapter for LoRa modules 2
Misc Jumper wires
PCB board 1
Switch 1

Software Design

The code is published on Github.

There is separate code for the Arduino Uno (the transmitter node) and the Arduino Nano (receiver node).

The transmitter initializes both temperature & humidity and light intensity sensors and prints debug data on the Serial Monitor. The LCD display uses I2C (TWI) protocol in order to print the current environment data. A data packet for LoRa communication is assembled using dtostrf for converting floats to strings and snprintf. In order to limit battery consumption I used Atmega328p's Timer1 in order to send data every 2 seconds. In industrial use, the data could be sent once 5 minutes or more as it would not affect data processing.

The receiver can see packets transmitted from multiple LoRa nodes. The data which is printed on the serial can be retrieved and then processed by using PuTTY.

Results

Conclusions

This project implies brushing up on many skills, including soldering, rigorous documentation and attention to details. I came across many problems such as bad battery holders (which lead to the battery catching fire) or very small LoRa module pins (requiring adapters and very fine soldering skills), but with patience and proper advice things went smoother. There is always room for improvement and I will take into consideration extending the project. A Raspberry Pi could serve as a receiving node, hosting a server or even transmit the nodes' data over the internet. Furthermore, a better Li-ion battery (that does NOT catch fire :DD), a better antenna as well as smaller microcontrollers and a custom PCB could improve the size, energy consumption and reliability of the product.

Resources

pm/prj2025/fstancu/alexandru.cret.txt · Last modified: 2025/05/30 08:53 by alexandru.cret
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0