P207 23:31:30 13 FEB
ARDUINO LORA MONITORING SYSTEM
11 JAN 2022

I rent a small drumming practice space that I share with several other musicians on a timetable basis. I built this monitoring system to understand how often people were using their booked time slots and how the room’s environmental conditions changed over time. Since the space has no Wi-Fi and unreliable mains power, the project became an interesting challenge involving low-power hardware, long-range radio communication, and remote data collection.

The Arduino monitoring hardware with sensors and radio module

Sensor node

The sensing node is built around a 3.3V Arduino Pro Mini with sensors for PIR motion, humidity, temperature, and ambient light. Every ten minutes, it wakes up, collects readings, packs them into a small JSON payload, transmits the result by radio, and returns to sleep. I spent a significant amount of time reducing its power consumption so the device could run for roughly six months from three AA batteries. For this project, reliable long-term monitoring mattered more than collecting readings more frequently.

Communication and data collection

Without Wi-Fi in the practice space, the Arduino could not upload its readings directly. Instead, it sends them over LoRa, a long-range, low-power radio technology, to a Raspberry Pi receiver around 2km away. The network-connected Pi forwards the readings to a ThingSpeak backend for storage and visualisation, allowing users to inspect the data remotely.

Separating these responsibilities kept the remote sensing node simple and power-efficient while still providing a complete pipeline for collecting and inspecting the data.

Charts showing the environmental data collected from the practice space

Reflection

Ultimately, I retired the project because the radio connection proved unreliable over 2km in an urban environment. However, building and operating it was a useful learning experience in end-to-end monitoring systems, particularly the practical constraints around battery life, radio communication, remote ingestion, and data visualisation.

View the project on GitHub