Leaf-Link: A battery-free energy harvesting forest sensing system with adaptive scheduling and LoRaWAN connectivity
Leaf-Link is a wireless sensing system designed for environmental monitoring. It operates battery-free using super-capacitors energy storage and solar energy harvesting, with adaptive power management hardware and intelligent scheduling based on AsTAR++ scheduler, and communicates over LoRaWAN.
Note: This repository provides supplementary material to the Leaf-Link system described in our conference paper submission. It focuses on details that could not be included in the manuscript due to space constraints.
This repository contains:
- Software: Firmware and scheduler implementation, with configuration files and build instructions
- Hardware: Schematics, BOM, wiring diagrams, etc.
- Implementation and analysis: Docs to reproduce figures and metrics from datasets
- Results: Deployment traces, logs and cleaned datasets
- Failure notes and limitations
The tables below lists all core components for both node variants:
| Component | Specification | Qty |
|---|---|---|
| STM32WLE5CC (RAK3172) | MCU + LoRaWAN radio | 1 |
| BME680 sensor | Temp/Humidity/Pressure/VOC | 1 |
| Supercapacitors | 15 F, 5.5 V each (~0.252 Wh) | 4 |
| Solar panel | 6.0 V, 250 mA | 1 |
| Voltage divider | Resistor pair | 1 |
| Connectors & wiring | JST + custom PCB | - |
| Component | Specification | Qty |
|---|---|---|
| STM32WLE5CC (RAK3172) | MCU + LoRaWAN radio | 1 |
| BME680 sensor | Temp/Humidity/Pressure/VOC | 1 |
| LiPo battery | 3200 mAh, 3.7 V (~11.84 Wh) | 1 |
| Solar panel | 6.0 V, 250 mA | 1 |
| Charging IC | CN3065 | 1 |
| Connectors & wiring | JST + custom PCB | - |
🔎 For detailed schematics, wiring diagrams and component images, see the hardware folder.
The firmware is based on Zephyr RTOS and integrates the AsTAR++ scheduler with LoRaWAN communication.
- Sensing rate:
- Minimum: 2 hours
- Maximum (day/night): 5 minutes
- Voltage thresholds:
- vMin = 3.9 V
- vOptimum = 4.15 V
- vMax = 5.4 V
- Region: EU868
- Spreading Factor: 12
- TX Power: 14 dBm
- Activation: OTAA
- Payload structure: sensor measurements (BME680), capacitor voltage and node status flags
🔎 For firmware source, scheduler code and build instructions, see the hardware folder.
Key results are summarised below; full sets of traces are available in the results folder.
Battery-free nodes achieved stable operation with adaptive scheduling, while battery-powered nodes stalled after deep depletion.
End-to-end message reliability reached 97–98% after server fixes.
Capacitor voltages show smooth recovery even under low-light conditions.
In addition to node-specific issues reported in the manuscript, we list further bugs observed during deployment.
- Software crashes: Rare resets (<1% of total operation time) traced to LoRaWAN stack instability.
- Backend bug: Initial rejection of packets with NULL SNR values caused early data loss (~3% of total packets). Fixed mid-deployment.
- Canopy sensitivity: Nodes under denser canopy harvested ~30–40% less energy, resulting in longer duty cycles.


