Field deployment — aquaculture LoRaWAN install, 2024.

LoRaWAN marketing material is unreasonably optimistic. “10 miles in open rural areas.” “10-year battery life.” “Multiple concurrent sensors.” All technically true under laboratory conditions. Almost never true in the field.

This is a short collection of things we’ve learned running LoRaWAN deployments at customer sites — aquaculture ponds, remote ag fields, metal-heavy industrial yards. Filed so that the next person deploying a gateway doesn’t have to re-learn them.

Range depends on what’s in the way, not what’s on the datasheet

The 10-mile number is a best-case line-of-sight measurement, usually quoted for the US915 band with default spreading factor. What we’ve measured in production:

  • Open farmland, no structures: ~6–8 miles is realistic for a roof-mounted gateway. Good enough for multi-pond deployments.
  • Wooded or hilly terrain: 1–3 miles. Foliage eats 2.4 GHz way worse than LoRa’s sub-GHz bands, but hills still block line-of-sight.
  • Industrial sites with steel and concrete: 200–600 meters in practice. The “urban” 1.5-mile spec assumes a much more favourable mix of buildings than a yard full of stacked shipping containers.

Plan your gateway count based on the worst-case terrain in your footprint, not the datasheet average.

Sensor nodes, realistically

The typical deployment we ship:

  • Multi-parameter probe node with RS485 input — in aquaculture, this is pH, dissolved oxygen, and electrical conductivity feeding one node. Sampled every 5–15 minutes. Running off 2 × 3.6V AA lithium cells, we see 2–3 years in practice, not the spec-sheet decade.
  • Ultrasonic level sensor — pond water level or tank fill. Solid for non-contact measurement in water that would destroy a float sensor.
  • Industrial cellular router with dual SIM and PoE for the gateway backhaul and any PoE cameras on the same pole.
  • LoRa concentrator gateway — we typically reach for the ILH-85 for any deployment over a few hundred devices or needing 10+ km of coverage.

The bottleneck on battery life is almost always the sample interval and the payload size. Sending 40 bytes every 15 minutes is one thing. Sending a 200-byte JSON blob every minute is another.

Dissolved oxygen is the metric that matters

For aquaculture specifically: if DO drops below ~3 mg/L for fish species we’ve worked with, you have minutes, not hours, before losses. Everything else — pH, temperature, EC — is trend data. DO is an incident.

We configure DO with an alert rule that fires aggressively (SMS + email + in-app badge) at 4 mg/L, not 3. The extra margin is worth the occasional false page.

Cameras solve different problems than sensors

Sites with fish, equipment, or anything theft-prone end up wanting cameras on the same pole as the gateway. This seems obvious in retrospect but we’ve seen customers try to run “IoT” deployments without a single camera and then wonder why they can’t tell whether an alert was a real event or a sensor fault.

IP cameras over PoE, backhauled through the same cellular router as the LoRaWAN gateway: it’s a boring, reliable setup. 24/7 recording with snapshot retention is usually enough.

What we wouldn’t build again

  • WiFi-to-LoRa bridges at a remote site. The WiFi always falls over and you’ve just added a single point of failure in front of your cellular link.
  • Battery nodes with sub-minute sample intervals. If you need per-second data, you need wired power. Budget for it upfront.
  • A single gateway “because coverage should reach.” Always plan for redundancy. Gateways get hit by lightning, by forklifts, by ambient water, by people who decide to “move this box over here.”

If you’re planning a LoRaWAN deployment and want a sanity-check on the design, we’re happy to look at the site plan. It’s usually cheaper than discovering the coverage gap after the hardware is screwed down.