Remote LoRa Water Monitoring System
An end-to-end, full-stack IoT telemetry solution designed, engineered, and deployed as a solo systems architect.
Full-Stack IoT Altium / RF Design Embedded C Python / Web UI
South African livestock farmers frequently drive hundreds of kilometres a week solely to verify water levels in remote grazing camps. To eliminate this operational inefficiency, I engineered a complete, automated remote water monitoring system.
Operating as the sole systems architect and developer for my final-year engineering project, I executed the entire product lifecycle - from conceptualising the RF hardware and writing the bare-metal firmware, to designing a locally hosted, front-end dashboard for the end-user.
The resulting system was successfully deployed and tested in harsh, real-world conditions on a farm in the Western Cape, proving its viability as a scalable agricultural IoT product.
1. Hardware & RF engineering (Field Device)
Rather than relying on pre-built development boards, I engineered a highly customised, solar-powered field device from the MCU level up to optimise power consumption and physical footprint.
- MCU & Power architecture: Built around the STM32WL55CC (a sub-GHz wireless MCU). I designed a dual-stage voltage regulation system (1.5V and 2.5V rails) driven by a 3.7V Li-Ion battery, complete with a custom solar charge controller circuit.
- Custom RF impedance matching: Calculated and routed a custom 50-ohm RF transmission line on a 4-layer FR-4 substrate. I designed a highly specific LC matching network and integrated an RF switch to optimise the 868MHz signal for maximum range.
- Antenna & RF lab validation: Conducted rigorous laboratory testing to validate the RF front-end. I utilised network analysers to verify the 50-ohm impedance matching and measure the Voltage Standing Wave Ratio (VSWR) of the selected antennas. Additionally, spectrum analysers (including hand-held FSH4 units) were employed to measure output transmit power, verify the 868MHz carrier frequency, and conduct empirical free-space path loss testing. Mixed-signal debugging and transient analysis were performed using oscilloscopes to ensure stable power delivery and clean SPI communications.
- Design for environment: Engineered and 3D-printed a UV-resistant, weather-proof, and animal-proof enclosure, alongside a custom mechanical sensor mount for the water troughs.
2. Embedded firmware (C/C++)
To achieve sustainable, long-term deployment without battery replacement, the field device firmware was written in C using STM32CubeIDE and programmed via JTAG/SWD.
- LoRa PHY optimisation: Configured the Sub-GHz PHY layer parameters (Spreading Factor, Bandwidth, explicit header modes) to prioritise maximum transmission range (tested successfully up to 2.9km) over high data rates, perfectly tailoring the protocol to the agricultural application.
- Power efficiency: Implemented software-controlled power switching. The firmware actively shuts down power to the sensors, the 1.5V regulator, and the radio modules during the 6-hour intervals between transmissions, drastically extending battery life.
3. Base station & Full-stack dashboard
I architected a central Base Station to receive, process, and visually present the telemetry data to the farmer without requiring external internet connectivity.
- Custom Raspberry Pi HAT: Designed and manufactured a custom PCB HAT for a Raspberry Pi 3, integrating an SPI-driven RFM95W LoRa transceiver to act as the central receiver.
- Python backend & Data pipeline: Authored a Python-based backend to validate incoming LoRa packets (performing CRC checks, payload length validation, and encryption byte verification) before logging the telemetry to a local CSV database.
- Front-end user interface: Developed a locally hosted, graphical dashboard using HTML, CSS, and JavaScript. The UI automatically updates, mapping trough levels over a 48-hour period and triggering bright red visual alarms if a trough runs dry.
- Automated alerting: Integrated a bash-scripted alert protocol to send automated email warnings to the farmer when critical water levels or hardware fault states are detected.
4. Real-world deployment & Project management
A significant aspect of this project was managing the end-to-end delivery pipeline. Over a highly constrained timeline, I managed procurement (navigating global component shortages), negotiated alternative parts, conducted system-level validation, and executed the physical installation in Swellendam.
Project assets & Video presentation
To see the hardware and full-stack software operating in real-time, please view the project presentation video below.
Downloadable documentation: