Having gained some experience with my weather station project described in the APRS LoRa weather station article, and having a few LoRa RFM95W modules, I decided to carry out a feasibility test for a very low-power mini weather station. The initial results were very encouraging, so I continued my project until I had a mature design. |
Features :
- LoRa transmission via APRS network
- very low standby power consumption, 6-7uA!
- use of RFM95W LoRa module
- using a BOSCH BME280 module
- Arduino pro-mini microcontroller
Building:
I used a PCB developed by the University of Pau for their "Low-cost LoRa IoT framework" project, the Gerber files of which are available here.
The BME280 sensor is connected to pins A4 SDA and A5 SCL of the Arduino pro-mini.
The RFM95W LoRa module is soldered directly to the PCB.
To keep power consumption to a minimum, the Arduino pro-mini was chosen as it has only the bare minimum.
After removing the 2 LEDs and the 3.3V voltage regulator, the result is a very low-power module.
Power is supplied by a set of AA or Li-Ion batteries.
Software :
Written using VSC and PlatformIO.
The libraries used are declared in the platformio.ini file and were chosen for their small size and ease of use.
The module is woken up every 8s (limit of the lowpowerLab library) and increments a counter.
When the counter reaches the desired value (TXPERIOD / 8), a measurement of the battery voltage + that of the BME280 sensor is triggered, and LoRa data is transmitted on the desired frequency to the APRS network.
The software is available for download on my Github.
Configuration :
Latitude and longitude are entered in APRS format. They are easily obtained using my QRA LOCATOR card.
TXFREQUENCY frequency is entered in Hz.
TXPOWER transmission power is entered in dBm (max 20).
TXPERIOD transmission period is entered in s (default 300 = 5 min).
As the Arduino pro-mini has no USB interface, the module is programmed using a USB-TTL interface via the module's side connector.
Usage :
Once the software has been configured and injected into the Arduino pro-mini, there's nothing special to do.
If the assembly is to be installed outdoors, it's a good idea to protect it from the elements, especially the BME280 module. See my article APRS weather station