Back to Homepage

iBlog

04/16/2024

16/04/2024 LORA GPS Transmitter/Receivers

Raspberry Pi 4 Model B - 8 GB RAM PID: 4564
SBC (single board computer)
sudo apt-get update (update list of available packages)
sudo apt-get upgrade (update all software)
sudo apt autoremove (remove packages/software that isn’t required)

Adafruit LoRa Radio Bonnet with OLED - RFM95W @ 915MHz - RadioFruit PID: 4074
Adafruit Feather 32u4 RFM95 LoRa Radio- 868 or 915 MHz - RadioFruit PID: 3078
SDR (software defined radio)
SX1276 LoRa® based module
TFT FeatherWing - 2.4" 320x240 Touchscreen for all Feathers PID: 3315
GPS
Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates - Version 3 PID: 746
Firmware version AXN_2.51_3339_17112000,0004,16165,1.0*56
NMEA (National Marine Electronics Association) to decimal degrees
DDMM.MMMM
(D)DD+(MM.MMMM/60)
+4708.9380N
47+(08.9380/60) = 47.1490
-9331.1494W
-93+(-31.1494/60) = 93.5192 //be careful of the negative sign
+47.1490N -93.5192W
LoRa Math

A byte = 8 bits

LoRaWAN protocol adds at least 13 bytes to the application payload

Note that all the combinations of spreading factors and bandwidth are not orthogonal

Spreading Factor (SF): Determines how much the signal is spread out in time. Higher SF means more spreading, which increases robustness but lowers data rate.

Modulation: Refers to how digital data is encoded onto the signal. In LoRa, it's done through a technique called chirp spread spectrum (CSS), where the signal's frequency changes over time.

chirps represent the frequency variation over time, and chips represent the basic unit of time used for encoding digital data

Data Rate (DR) = BW / (2^SF)
- DR is the data rate in bits per second (bps)
- BW is the bandwidth in Hertz (Hz) LoRa has three bandwidths (125kHz (125,000 Hz), 250kHz (250,000 Hz), & 500kHz (500,000 Hz))
- SF is the spreading factor, which is a unitless value typically ranging from 7 to 12
Chirp rate = BW*(Symbol rate)
Chirp rate = BW* BW / (2^SF)
symbol length in bits=2^sf
Number of symbols = (payload size in bytes*8)/(symbol length in bits)
In LoRa modulation, each chip is 1 bit

\[Maximum Payload Size = \frac{Symbol Rate * Bandwidth}{2^{sf}} - Overhead\]



https://www.semtech.com/design-support/lora-calculator *Firefox work well

Chirp: Imagine a sound going up or down in pitch steadily. That's like a chirp. In LoRa, this chirp is used to send information.

Chip: Think of a chip as a small piece of time. In LoRa, we divide time into tiny pieces called chips to send data. Each chip can represent either a 0 or a 1 in the digital signal.

https://www.airspayce.com/mikem/arduino/RadioHead/classRH__RF95.html#a9b402c77236b0dfe3ec68e953faa02dd

Calculate link budget

Used ChatGPT for help with code

Antenna analyzer

Github access tokens to use git with raspberry pi

End of blog. Thank you for reading!

Back to Homepage

© 2024. This work by Isaiah Keating is openly licensed via CC BY-SA 4.0