Industrial IoT
Node-RED
Mining
SCADA
Solar Powered
Remote Mining Operation | Irrigation Automation
Northern Territory, Australia · Remote Technical Developer
// my role
I was the remote technical developer on this project, responsible for building the entire automation system in Node-RED, designing the control logic and dashboard UI, and remotely configuring all networking and infrastructure from scratch. The hardware was selected and physically installed by the on-site contracting team in the NT. I consulted on system requirements and limitations, then took over to configure, integrate, and bring everything online remotely, including building a full simulation environment for testing all logic before deployment.
// the challenge
A remote gold mine in the Northern Territory needed a fully unattended irrigation system running around the clock across a solar-powered wireless network. Industrial pumps worth tens of thousands of dollars could never run dry or without open valves, as a failure would cause catastrophic damage. The system had to handle solar-powered nodes that drop offline, day/night operational mode switching, weekly automatic pump changeovers, and manual override capability without bypassing critical safety interlocks. On top of that, the client required 5 DAEnetIP2v2 relay boards operating in a daisy chain configuration, something the boards don't natively support. Keeping all five boards in sync and actively verifying their states across the chain added a significant layer of complexity to the control logic.
// the solution
I designed a three-layer control architecture built on Node-RED: a Scheduler (cron-based time events), a State Manager (centralised operational state), and an Enforcer (15-second hardware validation loop). The Enforcer is the safety backbone, ensuring physical relay states always match intended state. No command, whether scheduled, manual, or emergency, can bypass it.
The system controls 5 DAEnetIP2v2 relay boards over a Ubiquiti wireless mesh network, managing two industrial pumps and multiple motorised valve groups. Since the boards don't support native daisy chaining, I architected a state synchronisation system that actively polls and verifies the relay state of each board, ensuring all five stay consistent regardless of network latency or temporary dropouts. Day mode alternates valve groups every 2 hours, night mode runs continuous single-valve irrigation, and weekly pump changeover follows safe sequencing: pump off, valves drain for 30 seconds, switch pump, restart.
// safety interlocks
Pump protection was the single most critical requirement. Multiple layers of protection were implemented: valve-first interlock (pumps only start if a valve is confirmed open), shutdown sequencing (pump stops first, valves drain 30s before closing), network fault tolerance (circuit breaker pattern prevents crashes from relay board timeouts), and board offline detection with automatic emergency pump shutdown within 20 seconds of communication loss.
// hardware & infrastructure
The on-site team installed the hardware, and I remotely configured and brought the complete network and power infrastructure online. The wireless backbone uses a Ubiquiti Rocket Prism 5AC Gen2 access point at the main shed operating in point-to-multipoint mode, broadcasting at 5.8GHz with WPA2-AES security and AirMax protocol. NanoBeam and LiteBeam AC stations at each remote field node connect back to the central AP, providing reliable long-range wireless across the mine site. Static IPs in the 192.168.x.x range keep all devices addressable, with a dual-network architecture: WiFi (192.168.1.x) for operator dashboard access and Ethernet (192.168.2.x) as a dedicated channel to all five DAE relay boards.
Each remote field node runs entirely off-grid on solar with a 415W panel generating 2.0 to 2.4 kWh/day (over 10x the ~222 Wh daily requirement), paired with a 100Ah LiFePO₄ battery providing 1,200 Wh of usable storage. That gives each node 5+ days of autonomous runtime with zero solar input. Power management runs through a Victron MPPT 100|50 charge controller and Orion DC-DC converter, with the battery feeding PoE to the Ubiquiti radio and powering the Denkovi relay module. Valve actuators only draw power during switching events.
The central server is a Raspberry Pi 4B (8GB RAM) running Ubuntu Server 24.04 LTS, hosting Node-RED with FlowFuse Dashboard 2.0. The main shed connects to the internet via Starlink, enabling remote access over SSH and remote dashboard monitoring. TP-Link LS109P PoE switches at each relay station handle local device networking. The five DAEnetIP2v2 relay boards each provide 8 configurable digital I/O ports controlled via HTTP API, managing the industrial pumps and motorised valves across the site.
// field photos
// key highlights
Replaced SNMP protocol with HTTP API, dramatically improving reliability. Built a 480x speed test mode that compresses a full 24-hour cycle into 3 minutes for rapid end-to-end validation. Implemented rate-limited diagnostics with loop detection to prevent runaway feedback scenarios. Achieved 60%+ memory reduction (400MB to ~150MB) and 70-90% log volume reduction through systematic performance engineering.
// tech stack
Node-RED
FlowFuse Dashboard 2.0
DAEnetIP2v2 Relay Boards
Ubiquiti Wireless Mesh
Victron MPPT 100|50
LiFePO₄ Battery
SNMP / HTTP API
Raspberry Pi 4B
Ubuntu Server 24.04
Starlink
ClickSend SMS
CronPlus Scheduling