LoRa Communications

Overview of Paketized Radio / LoRa Radio

LoRa (Long Range) is a low-power wide-area network technology.   It uses a license-free ISM frequency band at 433 MHz in ITU Europe or 900 MHz in ITU Americans.   These packet radios are simpler than WiFi or BLE for making a connection.   The modules do packetization, error correction, and can also automatically re-transmit.   They come in four variants (two modulation types, and two frequencies).   Range varies by variant.  

Location Variant Range Security
Europe RFM69 @ 433 MHz
RFM98 @ 433 MHz
350 m / 1148 ft
2000 m / 6562 ft
AES-128
Americas RFM69 @ 433 MHz
RFM95 @ 900 MHz
350 m / 1148 ft
2000 m / 6562 ft
 

The sub-GHz radio is not designed for streaming audio or video.   It's best used for small packets of data.   The data rate is adjustable but its common to stick to around 19.2 Kbps (thats bits per second). Lower data rates will be more successful in their transmissions.   Radios only talk to radios of the same part number.  

Use them in the packetized mode, so that a designated recipient, error correction, automatic re-transmit, and return-receipt is implemented.  

The cross platform RadioHead Library is well known, with good support notes.   Details from Adafruit on using the RadioHead library.  

 

Hardware

AF Radio FeatherWing

Adafruit RFM69HCW and RFM9X LoRa Packet Radio Breakouts

SF LoRa

 

Firmware

The data packet contents and transmission interval vary by application.   In general, they can be categorized into streaming and event based scenarios.  

 

Streaming

In this scenario, you transmit on a regular interval the value measured from a sensor(s), with the goal of providing the latest value to the recipient.   The data is sent as quickly as possible, recognizing that occasionally a packet will be dropped, sacrificing package receipt robustness for update speed.  

An example of this applications is a remote control with variable hand trigger input, or a user operated potentiometer.   Output from a sensor that typically changes slowly, like temperature & humidity could also utilize this coding protocol.  

I am easily able to send an encrypted 16 byte 256 AES encrypted message between two Adafruit Feather M4 Express (ATSAMD51 ) with a Adafruit Adafruit LoRa Radio FeatherWing - RFM95W 900 MHz every 91 ms or 11 Hz with a 0 % error rate (missed transmissions) measured over 12 hours.  

 

Event Based

When a sensor event occurs such as the triggering of a motion sensor, or when a particular temperature / acceleration threshold has been exceeded, then you want to transmit via LoRa one or more sensor values, and insure that the packet is received by the recipient.  

An example would be the monitoring of shock magnitudes for an asset being transported and tracked.   Each time an acceleration or temperature threshold is exceeded, the values of all sensors are recorded and sent via LoRa in a single packet.  

I am easily able to send an encrypted 16 byte 256 AES encrypted message using RadioHead reliable datagram and my own acknowledge persistance code between two Adafruit Feather M4 Express (ATSAMD51 ) with a Adafruit Adafruit LoRa Radio FeatherWing - RFM95W 900 MHz every 91 ms or 11 Hz with only a 0.2% error rate (missed transmission).  

 

 


Do you need help developing or customizing a IoT product for your needs?   Send me an email requesting a free one hour phone / web share consultation.  

 

The information presented on this website is for the author's use only.   Use of this information by anyone other than the author is offered as guidelines and non-professional advice only.   No liability is assumed by the author or this web site.  

Sensors

Sensor Calibration

Sensitivity, Resolution, Response Time, etc.

50000 PPM (5%) CO2 Sensors

MQ Gas Sensors

MQ Gas Sensors

MQ-6 LPG Gas Sensor

MQ-6 LPG Gas Sensor

MQ-7 carbon monoxide CO Gas Sensor

MQ-7 Carbon Monoxide Gas Sensor

Sensor to microcontroller / data acquisition device cables

Accelerometers

IMU / Gyroscope

Magnetometer

Audio

Thermocouple

AF Sensirion SHT40 Temperature & Humidity Sensor

Motion Sensors

object detection sensors

Object Detection Sensors

Strain Gauge

Color

Pressure

Liquid Flow Meter

Operational Amplifiers

Components

Tools

Basic Components

Suppliers

VAC

XBee I/O Line Passing

xBee wireless communication modules with Arduino

xBee wireless communication modules + Arduino

I2C bus / SPI / 1-Wire

UART TTL Serial RS-232

LoRa Communications

Triac

Light Emitting Diode (LED)

NeoPixels

4-20 mA Current Loops

Human Health & Electrical Power

HMI

imgAlt

Mobile Apps

Hall Effect Sensor

NTC Thermistor

Amplify an Analog Signal

Offset a input signal

Electric Motors

Laptop 12V Power Supply

MCP2515 CAN Bus Module

TJA1050 CAN Bus Module

1.2" 4-Digit 7-Segment LED Display

Batteries

2022 Character Display Comparison

Logic Level Converter

Circuit Protection

Diodes

PMOS / P-Channel MOSFET

Logic Level NMOS / N-Channel MOSFET

Voltage Measurement

Analog to Digital Conversion (ADC)

Variable output VDC

Turn On/Off Noisy DC Device

ADC Analog Input