Long Range IoT Network

I’ve got a 800ac. farm that has 7 irrigation “systems”. Each system will need about 20 sensors and 8 control out through relays. Each system covers about 120 acres and will have 4-5 argons. The argons will be anywhere from 300 to 1500 feet apart. On my place the distance between the farthest system and internet is about 2 miles.
Here’s what I’ve tried so far:
Lora - I had this up and running 2 summers ago, but the trouble is I was never able to figure out how to do OTA updates, and hauling a laptop all over the place gets really old real fast.
Particle Mesh - All I can say on this one is, I wished I’d never heard of it. Glad I quit as soon as they announced it was being discontinued.
Boron’s - I haven’t actually deployed any of these, but the few I’ve been testing have racked up such a bill that I’m still looking into building my own network.
I’m wanting to build out a sensor - control network where one argon test conditions and if out of range send to another argon in the system to make a small adjustment. Also, these systems move so I’m wanting to build in a “safety circuit” using a gps receiver. Each system will have 2 GPS devices that send their location to the “main” argon and if out of tolerance the main argon controller will stop the system before causing $1,000’s worth of damage.
So, as you can see there will be a lot of talking back and forth between the 5 argons on each system. I think I could push the gps readings out to every 5-10min. Going over 10 minutes you start to run the risk of equipment damage. Now, I’m in the process of setting up 1 system using the boron’s just to get something moving on this project as well as test out sim cost. In the meantime I’m continuing to scout out how to build my own network. after digging through post about WiFi, Cellular, LoRa, Bluetooth, mesh, and all the radio stuff eg. xBee I’ve come up with this device: sunMax. The only problem is the nearly $500 just in equipment to get 1 node connected.
So my question is, Is there anyone out there that’s ran into this issue where you have a particle device a few miles away that you’d like to connect to the internet without racking up cell bills?
Looks like someones figured it out. but how they doing that?

This personally seems like an application for LoRa or other sub GHz radios maybe xBee. Given the range you are talking about I’m guessing you are pushing the range capability of LoRa as well if you are thinking a single gateway. I’ve done some LoRa tests and got as far as 2 miles but that was with the receiver 80’ on the top of the silo with line of site.

You might consider a LoRaWAN solution with a single LoRAWAN gateway that is always powered on maybe cellular connected. If you really stuck on OTA updates then I don’t think that’s possible yet with LoRa/LoRaWAN.

I personally have done some LoRa wan prototyping while still using a Particle Boron as the data backhaul from multiple LoRa nodes. Seems to work well but that’s a smaller scale then what you are talking. If it was me, I’d seriously look at LoRaWAN but put more time into development to get the firmware right so you don’t have to go run around and re flash everything manually very often at all.

Not exactly sure how much data you are pumping up to the particle cloud but I’m taking sensor readings every 5 minutes and I don’t hit the 3 MB limit in a month. I wonder if something else is going on or other things you can do to better use the data you have. Unless you are talking data from many devices going through a single Boron?

Anyhow, I’m also interested in this space so interested to learn what others say and what road you go down.

There might be the option of 3rd party SIMs with considerably lower costs per MB. There even seem to be providers with “bundle contracts” where you have multiple SIMs for one account.

Alternatively you could use a hybrid cellular/LoRa approach where you do your default communication via LoRa while cellular stays disconnected. With some special command via LoRa you can instruct your devices to connect to the cloud for OTA updates or other heavier tasks.
Or with a strict data regime you could keep your devices offline most the time (only checking in with the cloud for very brief moments with only the most curcial data transfer) and do their thing autonomously unless an issue is detected which would cause an unscheduled reconnect.

1 Like


This is an interesting project. I have been working on a water tank monitoring system for remote locations at my friends cattle ranch using boron’s that are solar and sleep. I have a 15min sleep cycle and use ~4mb per boron/mo. This is fine for a few deployments, but I have found myself wishing for a more cost effective solution that can handle more sensors moderately close to each other without racking up cellular data as you have described (it can add up quick!). Also, I have been disappointed with only being able to use the Boron with ATT as here in Texas many of the rural locations thrive on Verizon.

This has pushed me into the Digi Xbee world and I am very impressed with their hardware, but it has been a steep learning curve for me personally. Ultimately, I think you may be interested in the Xbee3 Digimesh which can allow you to have a mesh network with cyclic sleep with a Ethernet backhaul (no cell data).

The Xbee3 modules can be programmed in Python (this was the steep learning curve for me, but could be easy for you maybe).

Digi has claimed that a 900Mhz variant of the Xbee3 (Python programmable) is coming which would be most suited for your application. I am currently developing with the 2.4Ghz using the through hole components with UFL antenna so when the 900 comes out I can just swap the module and the antenna and get the benefit of the 900Mhz.

I can share more, but just wanted to provide enough for you to look into to see if its a viable option for you to even consider. The part I am concerned about is bringing GPS into the mix as there is not a totally clean solution to do this that I know of but there could be some workarounds.

What is the topography of the 800ac’s. Flat or no?

Is GPS going to be accurate enough? When you say “out of tolerance” are we talking 5ft or 50ft?

1 Like

Interesting use case and thanks for sharing! My application is similar or maybe somewhere in between the two use cases shared already. Tank monitoring on cattle ranches and irrigation systems. What immediately comes to mind is can you use the XBee3 module wired to via Serial or SPI to a Particle Boron to allow the Boron to be the Pseudo gateway. In other words, is the Zigbee gateway you linked to required for Mesh operation or can individual devices mesh with themselves. If so, can a XBee3 node hand over data from the mesh to a boron and let the boron be the backhaul. Although I’m guessing you loose the OTA updates and other functionality with this setup.

Interesting idea! I never thought about using a Boron for remote Lora Nodes buy keeping the cellular mostly off except for OTA and just let the LoRa device be the primary communications method. I currently just use the Boron + Lora as the pseudo gateway to LoRa only remote nodes. I love the idea of doing this to keep OTA updates possible by moving the device to an area with good cell service. What drives me to LoRa is more about lack of consistent and reliable cellular connectivity everywhere needed. I could possibly disable the SIM most of the year except in a month I wanted to do an OTA update to a LoRa node. Very interesting! I’ll have to keep this in mind.

@jgskarda thats really interesting thanks for that info. If you have time, I’d be interested in seeing just the snippet of code that’s sending those readings in. Maybe I could optimize mine in some way.

Good idea! I had thought of something down this line, but wasn’t sure how to bring it together as far as how to tell the boron connect to cell, you have an OTA. But that idea of sending the command through LoRa would be the key. I just wish now I could find a way around the $2.99 per boron as they won’t need to connect to cloud very often. (4-5 times a day through the first month, but than hopefully only twice a year after everythings working :stuck_out_tongue_winking_eye:) $2.99 doesn’t seem bad at first but… 7 systems time 4 borons each is nearly $85 a month than times 12 months and I’m nearly to the yearly cost of the commercial system that I’m currently using and I haven’t even bought any hardware yet.

How much is being sent every 15min? I have some things out there that are similar but not reporting as often and they are under a meg every month.

@Backpacker87 Great info!! Thanks!! I’m curious have you deployed any of these Digi systems yet? If you have I’d certainly be interested in what kind of range you can get and how much info you can pump through. Defiantly going to be digging through your links to see if this might fit the bill.

While hunting for a solution to my problem I came across Verizons Data Plans as well as info on how to use 3rd party sims. Not sure whats the latest on this project tho. Looks like there might have been issues in the past. @rickkas7 has this doc on it.

You will not be able to use the Boron LTE with Verizon. Well, you can for a couple days, until it gets blocked by Verizon because the Boron LTE is not certified for use on the Verizon network.

aaawww. Come on Verizon!! :expressionless:

It might be easier to just show you what the packet looks like in the cloud. It’s a JSON object but I am using a single number as a key vs long text. i.e. instead of Temperature_F, I use the integer value (as a string of course) of “1”.

Assembling the data as a JSON can be done pretty cleanly using JsonParserGeneratorRK from Rickkas7.

That said, I don’t think this really saves me a TON of data. From my understanding, if you are sleeping/waking up, be sure to do it every 20 minutes or the cellular connection has to renegotiate from scratch which eats up quite a bit of data each and every time. In other words sleeping/waking up/publishing data every 20 minutes will actually use less power and data than sleeping/waking up/publishing every 30 minutes. There is other posts in the forums and I believe info in docs on this on specifically how much data each reconnect requires. I’d do some searching and minimizing data usage.

You can disable/enable the SIM Cards and not be charged the $3/month rate. I wonder if it’s practical, to have boron’s deployed with SIM cards disabled but have them wake up and try and connect maybe every 30 days. If they can not connect the SIM card must be deactivated so it then goes back to “Lora Only” mode. If/when a OTA update is required, you would first enable all the SIM Cards for the fleet (pay $3/device for that one month), deploy the OTA update, and then deactivate the SIM card the following month. Basically, paying $3/device/month you want to deploy an OTA update. Would be curious to hear what Particle would think about this use case of using Boron. On the plus side, they could sell WAY more hardware because what would have been somebody else LoRa node now is there Boron. Anyone from Particle want to chime in on this one? :slight_smile:

Just driving across it I’ve always thought it was pretty flat. I just pulled up google earth to check it and there’s nearly 100 ft difference between the highest and lowest point out there. There’s a small ravine that runs down through the middle but than on either side the majority of it is fairly flat. and both sides are within 30-40’ of each other.

Probably about 30’. from reading around and looking at adafruits GPS module, it looks like accuracy on most devices is around 5’. That’s plenty good enough for me. In fact I went out and pulled the cover off my commercial system and their GPS module looks exactly like these.

That’s interesting. I’ll have to study out that JsonParserGenerator and see if I can’t get something down that line working.

I’m amazed at what you can learn from the community, I’ll defiantly stick this one under my hat.

This just might be the ticket! I wasn’t aware of this, I’d always though once you added a boron to your account, you was stuck paying the $3 whether or not you was using it.
###LoRa or LoRaWAN on borons with SIMs disabled most of the time###

To be clear, I am talking mostly LoRa remote nodes. I am not sure what a LoRaWAN deployment on a particle Boron would look like. Since the Adafruit Feather RFM95 is capable of LoRaWAN, I’m guessing you physically “can” but you might be porting over a lot of libraries required for LoRaWAN yourself. I’m mostly talking about LoRa (i.e. device to device communication over spread spectrum modulation techniques derived from chirp spread spectrum) rather than actual LoRaWAN. Yes same physical layer but my understanding is alot more goes into LoRaWAN than just LoRa. (I’m still learning myself). That would be interesting though if you can have a remote LoRaWAN node be a Particle Boron with the SIM card disabled 11 months out of the year and only enabled for OTA updates to a LoRAWAN device the 1 month a year for OTA. This might be something I play with eventually. It’s been on my list of fun things to try and first build a LoRaWAN gateway from a raspberry PI mostly just as a challenge and to learn. If I can get that far, maybe I’ll see what can be done. Anyone else try making a Particle Device LoRaWAN?


I am currently working on a prototype for a 50+ node Digimesh network now so I will keep you posted.

I linked to that digi gateway because it is turn-key, but I have created two custom Xbee gateways, one that is Xbee to Electron and another that is Xbee to Xbee Cellular. For the record I have a Xbee Cellular (set to LTE-M only) running a hologram SIM. Also Digi’s cellular module is Verizon certified…

The both communicate over UART between the two modules that create the “gateway”.

Here is a quick detail on Digimesh vs. Zigbee https://www.digi.com/blog/post/what-are-the-differences-between-digimesh-and-zigb

With Digimesh any module can mesh with another so data can hop across many modules to get to the gateway.

Not much data just depth, bat %, bat. state, and temp. If I remove the OTA data usage its probably ~1mb a mo. but I have had to push to them a lot recently so I was around 4mb.

Ok I do not go over 1mb very often.

Hi @lsfarm,

I remember reading a topic about Lora from @RWB and it is here:

Perhaps is of use to you.

1 Like