La banda a 868MHz usata da Meshtastic, LoRaWAN e molti altri dispositivi IoT in Europa è una banda libera (ISM), ma "libera" non significa "senza regole". Le normative ETSI (EN 300 220) impongono un duty cycle massimo, cioè una percentuale di tempo entro cui un dispositivo può effettivamente trasmettere in una data sotto-banda: superarlo è una violazione normativa, indipendentemente dalla potenza usata.
Cosa dice davvero la norma
La banda 868MHz è suddivisa in sotto-bande con limiti di duty cycle diversi, i più comuni per LoRa sono:
- 868.0–868.6 MHz: duty cycle 1% (il canale più usato da Meshtastic/LongFast in Europa)
- 868.7–869.2 MHz: duty cycle 0,1%
- 869.4–869.65 MHz: duty cycle 10%, ma potenza massima più alta (fino a 500mW ERP) — usata tipicamente per applicazioni specifiche, non per il traffico generico dei nodi mesh
Un duty cycle 1% significa, in pratica, che su una finestra di un'ora un dispositivo può trasmettere al massimo 36 secondi totali su quel canale. Non è un limite "al giorno" applicato in modo elastico: i firmware conformi tengono un contatore scorrevole e bloccano la trasmissione (accodando o scartando il pacchetto) quando il budget è esaurito.
Come si traduce per un nodo Meshtastic
Il firmware Meshtastic implementa il rispetto del duty cycle a livello di stack LoRa: se un nodo genera troppo traffico (messaggi ripetuti, telemetria troppo frequente, un ruolo Router/Repeater in una mesh molto attiva) può iniziare a "silenziarsi" temporaneamente per restare nei limiti, con effetto percepito come perdita di pacchetti o latenza aumentata — non è un bug, è la normativa che sta facendo il suo lavoro. Il canale di default LongFast lavora nella sotto-banda all'1%, quindi mesh molto dense con molti nodi "chiacchieroni" (telemetria a intervalli brevi, troppi hop di rebroadcast) sono le prime a saturare il budget disponibile.
Perché conviene ridurre la telemetria e i rebroadcast inutili
Oltre a rispettare la norma, restare ben sotto al limite di duty cycle migliora anche l'affidabilità pratica della mesh: più margine per gli ACK, meno collisioni, e meno probabilità che un messaggio importante (es. un messaggio di testo o una posizione) venga ritardato perché il canale è "impegnato" dal budget esaurito di un nodo che manda telemetria ogni 30 secondi invece che ogni 15-30 minuti.
LoRaWAN: stesso principio, gestito dal gateway/rete
In LoRaWAN il rispetto del duty cycle è responsabilità del device end-node, ma reti gestite (es. The Things Network) aggiungono ulteriori limiti "fair use" (spesso più stringenti del solo obbligo ETSI) proprio per evitare che pochi dispositivi molto attivi saturino il canale condiviso da tutti gli utenti della rete in una zona.
In sintesi: se un nodo LoRa sembra "sparire" a intermittenza pur avendo buona copertura radio, prima di sospettare un problema hardware vale la pena controllare quanta telemetria/rebroadcast sta generando — potrebbe semplicemente aver esaurito il proprio budget di duty cycle.