Wireless long-range (~1km) network options?

For CircuitPython issues, ask in the Adafruit CircuitPython forum.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
MaverickSawyer
 
Posts: 2
Joined: Tue Feb 07, 2023 9:59 pm

Wireless long-range (~1km) network options?

Post by MaverickSawyer »

Hey, everyone. I'm new to the whole Arduino thing and I'm coming up with ideas for projects. Some of them involve transmitting data from a remote sensor station to a base station over distances well beyond Bluetooth or WiFi ranges. (Think feeding from a sensor station at the edge of a farm field to the farmhouse, or a creek to a visitor's center at a park, for example.) I noticed that there's a couple options in the store using either "packet radio" or LoRa. This has me curious, and I have a couple questions...
-What is the difference between the two types of radios? Is there any benefit to one over the other in terms of performance?
-I'm based in the US. Is there a particular frequency I should use for this, or can I choose either the 433MHz or the 900MHz?
-Can these units form a network on their own? For example, if I added another station further out, but within range of another one that is itself within range of a base station, can they forward data to another station to reach the base station?
-Is there any particular special software or coding required to take data from an Arduino-type device and turn it into something the radio can understand, and vice versa?
-What is the effective range of these radios on open, flat terrain, both with omnidirectional antennas and with directional/high-gain antennas?
-I noticed there are versions of the radio module that are standalone units, ones with breakout boards, and some, like the Adafruit Feather M0 with RFM95, have what I'm understanding to be an Arduino-type processor on it. Is there any benefit to using any particular one? I.E., should I use a dedicated processor unit and add the radio unit as an external item, or can I consolidate by buying that Feather with the processor already integrated?
-If I do opt for the integrated Feather, do I have to sacrifice some of my input and output pins to support the radio module, or is that already accounted for in the design of the board?

I know that's a lot of questions, but I'm completely new to this and I want to understand what's possible and what's not possible before I start doing detailed planning on my ideas.

Thanks in advance.

User avatar
sj_remington
 
Posts: 994
Joined: Mon Jul 27, 2020 4:51 pm

Re: Wireless long-range (~1km) network options?

Post by sj_remington »

Very complex subject! Two points are important to make up front:

It is best to assume that without clear, unobstructed line of sight between transmitter and receiver, none of the radios you mention will work at 1 km range. Relay node positions should be selected with line of sight as a foremost consideration.

For best range with any radio technology, properly designed antennas are also critical. High gain antennas are directional and need to be mounted and oriented properly.

Aside: the laws governing license free radio operation are very restrictive.

User avatar
adafruit_support_mike
 
Posts: 67391
Joined: Thu Feb 11, 2010 2:51 pm

Re: Wireless long-range (~1km) network options?

Post by adafruit_support_mike »

BANNED wrote: Mon Mar 06, 2023 5:25 pm What is the difference between the two types of radios
Packet radio is a fairly simple digital radio protocol. Its line-of-sight range is 100m to 200m.

LoRa is a proprietary software-defined radio protocol designed, as the name suggests, for long-range transmission. With dipole antennas the line-of-sight range is a few hundred meters up to 1km. Distances out to a few kilometers are possible with properly focused parabolic antennas.
BANNED wrote: Mon Mar 06, 2023 5:25 pm I'm based in the US. Is there a particular frequency I should use for this, or can I choose either the 433MHz or the 900MHz?
Both frequencies are legal in the US.

Generally speaking, higher frequencies are easier to detect in noisy conditions, but have a higher tendency to diffract. Lower frequencies naturally travel farther and are diffracted less by obscacles, but are easier to lose in noisy conditions.

Software defined radio is full of tricks to avoid interference from other sources, so 433MHz LoRa has a slight edge overall.
BANNED wrote: Mon Mar 06, 2023 5:25 pm Can these units form a network on their own? For example, if I added another station further out, but within range of another one that is itself within range of a base station, can they forward data to another station to reach the base station?
You can program a radio to relay messages from one source to another, but they don't do it automatically.

However, there's also a system known as LoRaWAN that connects LoRa devices to the internet through 'gateways':

https://www.adafruit.com/?q=lora+gateway&sort=BestMatch

The internet side forwards packets from one gateway to another automatically, so you can have microcontrollers with LoRa radios talking to each other from opposite sides of the planet as long as they're in range of a gateway.
BANNED wrote: Mon Mar 06, 2023 5:25 pm Is there any particular special software or coding required to take data from an Arduino-type device and turn it into something the radio can understand, and vice versa?
The existing code library can transmit 'datagrams'.. basically C data structures flattened out to a sequence of bytes. A receiver converts the bytes back to C data types by 'type punning' the buffer (basically typecasting the buffer of raw bytes to some other structure).
BANNED wrote: Mon Mar 06, 2023 5:25 pm -I noticed there are versions of the radio module that are standalone units, ones with breakout boards, and some, like the Adafruit Feather M0 with RFM95, have what I'm understanding to be an Arduino-type processor on it. Is there any benefit to using any particular one? I.E., should I use a dedicated processor unit and add the radio unit as an external item, or can I consolidate by buying that Feather with the processor already integrated?
The different boards are just for convenience. They're all interchangeable.

You need a microcontroller to configure the radio module and make it transmit/receive data, and if you're planning a packet radio project from the start, you can buy boards where the microcontroller and radio module are already wired together. OTOH, if you already have a microcontroller board and want to add radio communication ability, you can get one of the standalone radio modules.
BANNED wrote: Mon Mar 06, 2023 5:25 pm -If I do opt for the integrated Feather, do I have to sacrifice some of my input and output pins to support the radio module, or is that already accounted for in the design of the board?
You don't lose any pins.

The radio modules communicate with the microcontroller using the SPI protocol, so the boards with built-in radio modules have existing connections to the MOSI, MISO, and SCK pins at the edge of the board. That's okay, because SPI is a shared-bus protocol. The microcontroller uses Chip Select (CS) pins to identify the device it wants to talk to at any moment.

On boards with a pre-installed radio module, the radio's CS pin is connected to a GPIO pin not broken out to the edge of the board (GPIO-8). That pin has a pull-down resistor that makes the SPI connection to the radio enabled by default, which is a common gotcha for people who want to connect other SPI devices: you have to set GPIO-8 high before the microcontroller can talk to any other connected SPI device.

Locked
Please be positive and constructive with your questions and comments.

Return to “Wireless: WiFi and Bluetooth”