📄 Explore the documentation 📄
This is a project of a new LoRa device sensor-node. This device is capable of collecting environment data such as temperature, humidity, soil moisture and ambient as well as sending all data to a LoRa gateway from miles away. As can be seen from the component specifications table, this device is very inexpensive, therefore it is suitable equipment to apply to a wireless sensor network in an agricultural field.
More details can be seen in this publication (Portuguese language).
This device is designed to work automatically without any human intervention.
The PIC16F18426 is perfect for the project, it's a family of Microchip MCUs intended to sensor node devices.
The device has 4 sensors to measure air temperature, ground temperature, air humidity, soil moisture and sunlight or light levels.
The cheap SX1276 transmitter works well at a frequency of 915 MHz, because I'm using it in Brazil.
The electrical and power system is designed for decades of operation, with a combination of a large rechargeable battery and a solar-powered recharge system. It is possible to use this device only with solar energy without battery, the battery is only for power supply when there is no sunlight, such as at night and cloudy days.
Most of the time the device remains in power save state with all peripherals turned off. When it is necessary to perform some task the system is woken up by an interruption. The data send and transmit period can be set between 5 and 80 minutes, so the system is woken up by a timer interrupt, performs the tasks and returns to power save mode.
The device can signal its current status through a flashing blue LED when it is operating normally and red when something is wrong such as low battery, sensor reading failure or incorrect sensor data such as 80ºC temperature.
Component | Description/Documentation | Price (USD) |
---|---|---|
Microcontroller | PIC16F18426 | $1,02 |
LoRa Transmiter | SX1276 | $4,15 |
Solar Panel | Wavgat solar panel 1W/5V | $1,31 |
LED | RGB LED | $0,10 |
Voltage regulator | LM2596 | $0,30 |
Switch | DIP Switch 1 way | $0,16 |
PINS | Header pin male | $0,20 |
MCU Socket | 14-PIN PDIP Socket | $0,50 |
10k Resistors | 10k Resistors | $0,12 |
4.7k Resistor | 4.7k Resistors | $0,05 |
Battery | Panasonic NCR18650B | $4,75 |
Battery Holder | BK-18650-PC2 | $0,49 |
Light Sensor | MAX44009 | $1,55 |
Air Temperature/Humidity Sensor | Sensirion SHT30 | $1,90 |
Soil Moisture Sensor | Capacitive soil moisture sensor v1.2 | $0,76 |
Soil Temperature | DS18B20 | $1,00 |
Total | - | $18,36 |
I would like to thank all the professors I've had since elementary school, this project is the result of a combination of everything you taught me.
The SX1276 LoRa transmitter driver was adapted from https://github.com/sandeepmistry/arduino-LoRa.