📡 Guida completa a LoRa per radioamatori e maker
Dalla teoria alla configurazione pratica dei dispositivi
🧭 Cos’è LoRa
LoRa (acronimo di Long Range) è una tecnologia di modulazione radio sviluppata da Semtech per comunicazioni a bassa potenza e lunga distanza su bande ISM (es. 433 MHz, 868 MHz, 915 MHz).
A differenza di Wi-Fi o Bluetooth, LoRa privilegia la portata e la sensibilità: può raggiungere da 2 a 15 km in campo aperto con pochi milliwatt di potenza.
🔹 Bande tipiche per l’Europa:
- 433 MHz (radioamatori e applicazioni sperimentali)
- 868 MHz (LoRaWAN e IoT)
🔹 Caratteristiche principali:
- Modulazione Chirp Spread Spectrum (CSS)
- Alta immunità al rumore e multipath
- Sensibilità fino a −148 dBm
- Velocità dati 300 bps – 50 kbps
- Consumo bassissimo, ideale per sensori e dispositivi portatili
⚙️ Come funziona — principi tecnici
LoRa usa chirp (segnali con frequenza che varia linearmente nel tempo) per trasmettere bit.
Ogni simbolo è rappresentato da un “chirp” diverso, e il ricevitore decodifica in base al tempo/frequenza.
Parametri chiave:
| Parametro | Descrizione | Effetto |
|---|---|---|
| Spreading Factor (SF) | Da 7 a 12, indica quante volte i dati sono “spalmati” nel tempo | ↑ SF → più portata, meno velocità |
| Bandwidth (BW) | Larghezza di banda (125, 250 o 500 kHz) | ↑ BW → più velocità, meno sensibilità |
| Coding Rate (CR) | Livello di correzione errore (4/5, 4/6, 4/7, 4/8) | ↑ CR → meno errori, ma più lentezza |
| Tx Power | Potenza trasmessa (tipicamente 14 dBm = 25 mW) | più potenza → più distanza, ma più consumo |
👉 Questi parametri sono regolabili da software, quindi puoi adattare la comunicazione alle condizioni radio o all’uso radioamatoriale sperimentale.
🧩 Architettura e moduli hardware
I chip LoRa più diffusi sono:
- Semtech SX1276 / SX1278 → molto usati con Arduino e ESP32
- Semtech SX1262 / SX1268 → più moderni, consumi inferiori
- Moduli pronti all’uso:
- HopeRF RFM95 / RFM98
- Ai-Thinker Ra-01 / Ra-02 / Ra-02S
- Heltec WiFi LoRa 32, TTGO LoRa32 (ESP32 + LoRa integrato)


Connessioni base (per Arduino/ESP32)
LoRa Module -> MCU
------------------------
VCC (3.3V) -> 3.3V
GND -> GND
NSS (CS) -> GPIO (es. 18)
MOSI -> GPIO (23)
MISO -> GPIO (19)
SCK -> GPIO (5)
RST -> GPIO (14)
DIO0 -> GPIO (26)
⚠️ Importante: tutti i moduli LoRa lavorano a 3.3 V!
Mai collegarli a 5 V senza adattatori di livello logico.
🧪 Setup software — installazione e librerie
✅ Su Arduino IDE
- Apri Gestione librerie → cerca LoRa by Sandeep Mistry
- Installa la libreria ufficiale
- Carica un esempio base:
#include <SPI.h>
#include <LoRa.h>
void setup() {
Serial.begin(9600);
while (!Serial);
LoRa.setPins(18, 14, 26); // NSS, RST, DIO0
if (!LoRa.begin(868E6)) {
Serial.println("Errore avvio LoRa!");
while (1);
}
Serial.println("LoRa OK");
}
void loop() {
LoRa.beginPacket();
LoRa.print("CQ TEST LoRa!");
LoRa.endPacket();
delay(2000);
}
✅ Su ESP32 / TTGO / Heltec
- Librerie già integrate nei firmware Heltec ESP32 Library o TTGO LoRa32 Library.
- Permettono anche uso di OLED integrato per mostrare pacchetti e RSSI.
✅ Su Raspberry Pi (Linux)
Installazione tramite git:
sudo apt install git python3-pip
git clone https://github.com/sandeepmistry/python-lora.git
cd python-lora
sudo python3 setup.py install
Puoi poi usare script Python per inviare/ricevere pacchetti via SPI.
🌐 Reti LoRa e LoRaWAN (differenza)
- LoRa = solo il livello fisico (punto-punto o mesh).
- LoRaWAN = protocollo di rete sopra LoRa, con gestione di nodi, gateway, sicurezza e server di rete.
Per i radioamatori, il LoRa “puro” è spesso preferito per esperimenti diretti, APRS e telemetria.
LoRaWAN è utile se vuoi integrare sensori in reti IoT pubbliche o private.
🚀 Esempio pratico: link punto-punto LoRa
Due dispositivi con moduli SX1278.
Nodo TX
LoRa.beginPacket();
LoRa.print("Hello Radio!");
LoRa.endPacket();
delay(5000);
Nodo RX
int packetSize = LoRa.parsePacket();
if (packetSize) {
Serial.print("Ricevuto: ");
while (LoRa.available()) {
Serial.print((char)LoRa.read());
}
Serial.print(" RSSI: ");
Serial.println(LoRa.packetRssi());
}
Prova a variare:
- SF da 7 a 12 per testare la distanza
- Frequenze 433 MHz o 868 MHz (secondo normativa e licenza)
- Antenne diverse per valutare copertura
🛰️ Applicazioni radioamatoriali avanzate
- APRS via LoRa (LoRa-APRS): trasmissione di coordinate GPS e messaggi brevi in modalità packet.
- Reti Mesh (Meshtastic, ESP32 + SX1262): comunicazioni digitali tra più nodi senza infrastruttura.
- Telemetria per stazioni remote o ponti radio.
- Gateway LoRa → Internet con Raspberry Pi e MQTT.
Esempio:
→ ESP32 con GPS + LoRa trasmette posizione.
→ Altro nodo riceve e inoltra su rete APRS-IS o dashboard web.
🧰 Strumenti di misura e diagnostica
- RSSI / SNR monitor: valori ottenibili via
LoRa.packetRssi()eLoRa.packetSnr(). - Analizzatore di spettro: utile per verificare chirp e larghezza di banda.
- Software SDR (es. SDR# o GQRX): permette di “vedere” i segnali LoRa e capirne la struttura.
🧱 Costruisci il tuo nodo LoRa completo
Schema tipico:
- ESP32 + SX1276 + Antenna 868MHz
- Sensore BME280 (temperatura, umidità, pressione)
- Batteria Li-Ion + pannello solare 5 V
- Firmware che invia ogni 60 s:
- Dati sensore
- RSSI / SNR
- Tempo o posizione GPS
Puoi visualizzare tutto su dashboard web o su display OLED del modulo Heltec.
📑 Conclusione e risorse
LoRa rappresenta il punto d’incontro fra radiotecnica classica e IoT moderno.
Per i radioamatori è una palestra perfetta per imparare:
- modulazioni digitali evolute,
- trasmissione dati a bassa potenza,
- reti decentralizzate e mesh,
- sperimentazione hardware e software open-source.