Het project LR2021-SDR is een verzameling C-tools en een library die de Semtech LR2021 LoRa-chip transformeert in een Software Defined Radio (SDR). Door gebruik te maken van een niet-gedocumenteerd commando in de ROM, kan de chip raw 16-bit I/Q-data streamen over SPI.
Belangrijkste technische details:
- Frequentiebereik: De chip ondersteunt ontvangst van 100 MHz tot 2,74 GHz, wat breder is dan de officiële specificaties.
- Sample rate: Stabiele streaming is mogelijk tot 250.000 samples/s, waarbij de maximale snelheid beperkt wordt door de 16 MHz SPI-bus.
- Functionaliteiten: De library maakt het mogelijk om P25 Phase 1 spraak, POCSAG-pagers en analoge FM te ontvangen en te decoderen. Daarnaast is er ondersteuning voor het verzenden van aangepaste waveforms en het herhalen (replay) van signalen.
Het project is nauw verbonden met LakeShark, waarbij een ESP32-P4 op een LilyGO T-Display-P4 board wordt gebruikt om de data live te verwerken en audio af te spelen. Het project is open source en gelicentieerd onder GPL-3.0.
LR2021-SDR
De Semtech LR2021 is een LoRa-chip die kan afstemmen van 100 MHz tot 2,74 GHz en 16-bit I/Q-data streamt. Hiermee is het mogelijk om P25-spraak, pagers, FM, Bluetooth LE en aangepaste transmissies te realiseren vanaf een handheld apparaat, zonder dat er een externe SDR-dongle nodig is.
Belangrijkste Kenmerken
- Frequentiebereik: 100 MHz tot 2,74 GHz
Continue ontvangst is mogelijk, wat ruim verder gaat dan de in het datasheet vermelde bereiken van 150 tot 960 MHz en 1,5 tot 2,5 GHz. Dit omvat onder andere de luchtvaartband, de bovenkant van de FM-band en het gebied tussen 2,5 en 2,7 GHz.
- Sample rate tot 250.000 samples/s
16-bit I/Q via plain SPI. Bij 125.000 samples/s is streaming gedurende meer dan zes minuten getest zonder dataverlies.
Live gesprekken kunnen worden gedecodeerd en afgespeeld op de handheld.
De eigen BLE-engine van de chip pikt advertising-signalen op alle drie de kanalen op.
Het versturen van aangepaste waveforms, P25-testbursts en het herhalen van signalen (replays), bevestigd door onafhankelijke ontvangers.
Opmerking: De genoemde waarden zijn gemeten op één LilyGO T-Display-P4 LR2021-board. Het bereik is afhankelijk van de front-end van de module en kan verschillen per board. De maximale sample rate wordt bepaald door de host-verbinding: de SPI van de chip stopt bij 16 MHz en dit board leest de FIFO met de CPU. Een snellere leesmethode of een compacter sample-formaat zou dit kunnen veranderen.
Hoe het werkt
Normaal gesproken demoduleert de Semtech LR2021 intern modi zoals LoRa, FSK en FLRC. Echter, een niet-gedocumenteerd commando in de ROM stelt de gebruiker in staat om de raw baseband over te nemen: 16-bit I- en Q-samples, waarbij amplitude en fase intact blijven. Dit transformeert de chip in een Software Defined Radio (SDR), waardoor ontvangers in software kunnen worden geschreven.
In het project LakeShark draait een ESP32-P4 deze ontvangers op de LilyGO T-Display-P4. Hierdoor kunnen P25 Phase 1 spraak, POCSAG-pagers en analoge FM via de ingebouwde LR2021 worden verwerkt, inclusief decodering en audio op het handheld apparaat. Samples kunnen tevens worden opgeslagen voor offline analyse.
Wat betreft transmissie heeft de chip P25-testbursts, temperatuurpakketten en aangepaste waveforms verzonden op 915 MHz en 433,92 MHz. Een onafhankelijke ontvanger herstelde 72 P25-spraakframes uit één transmissie. Ook kunnen opnames opnieuw worden verzonden: een Flipper Zero decodeerde Princeton-afstandsbedieningscodes die door de LR2021 werden herhaald, en FSK-replays behouden hun volledige afwijking (deviation).
Deze repository bevat de radio-access library, de capture-firmware, waveform-tools en meetgegevens. LakeShark voorziet in de live-decoders, audio en de handheld-interface.
Functionaliteiten
| Functie | Wat werkt er | Gids |
| Ontvangen | P25 Phase 1 spraak, POCSAG en analoge FM via de LR2021 in LakeShark. | Receive |
| Opnemen | Raw I/Q vastleggen voor offline decodering, replay en signaalanalyse. | Recording |
| Verzenden | Aangepaste waveforms uploaden en verzenden via het experimentele playback-pad, en OOK- en FSK-captures herhalen. | Transmit |
Aan de slag
- Gebruik als handheld: Begin met LakeShark op de LR2021-versie van de LilyGO T-Display P4.
- I/Q vastleggen: Gebruik de standalone capture-firmware en volg de handleiding voor aan de slag gaan.
- Ontwikkelen: Verken de portable C-library en de developer guide.
- Waveform-transmissie proberen: Lees de transmit-gids en de huidige mogelijkheden.
De standalone capture-firmware is bedoeld voor het opnemen van I/Q. Gebruik LakeShark voor live decodering, audio en de handheld UI. Het project is experimenteel en is getest op LR2021 ROM 1.24.
Gedetailleerde Resultaten
P25 ontvangst en verzending
Live ontvangst heeft geleid tot hoorbare P25 Phase 1-gesprekken. Een opname van één seconde op 154,785 MHz kon offline worden gedecodeerd naar 27 IMBE-spraakframes.
Transmissietests verstuurden P25-spraakdata-bursts met een testtoon. Een onafhankelijke ontvanger herstelde 72 spraakframes en reconstrueerde de verwachte toon. Dit betreft experimentele burst-transmissie.
Meetresultaten ontvanger
Continue capture
Drie separate sessies draaiden tot 391 seconden zonder meldingen van FIFO-verlies of queue-afwijzingen. Deze runs meten de continuïteit van de capture terwijl de decoder-input verwerking actief blijft.
Ontvangstbereik
Retuning-tests tegen de klokharmonischen van het board tonen aan dat de ontvangstketen werkt van 100 MHz tot 2740 MHz, wat ruim boven de bands uit het datasheet ligt. Onder de 100 MHz faalt de image-kalibratie, en boven de 2750 MHz lukt het de synthesizer niet om te locken.
Sample rates en controle van bekende tonen
- Sample rates: Schattingen voor vier geteste bandbreedtes varieerden van ongeveer 125.000 tot 1.000.000 complexe samples per seconde. Dit zijn korte-window metingen, geen limieten voor continue streaming. Schone captures draaien tot 250.000 samples per seconde; hogere rates veroorzaken een overflow van de chip FIFO omdat de 16 MHz SPI-bus deze niet kan transporteren.
- I/Q oriëntatie: Separate +25 kHz en −15 kHz RF-offset tonen verifiëren de frequentierichting in de vastgelegde I/Q. Spectra zijn afzonderlijk genormaliseerd en de amplitude is niet gekalibreerd.
Documentatie en Credits
Aanvullende documentatie
- Alle gidsen
- Hardware en setup
- Developer guide
- Onderzoek en metingen
- Transmissiemogelijkheden en resterend werk
- Bevindingen over TX sample rate en capture replay
Credits en licentie
Dit project is geïnspireerd door het werk van ESP-SDR en het ESPARGOS-team wat betreft het ontsluiten van raw radio-access. Er is geen ESP-SDR code opgenomen. De oorspronkelijke LR2021-capture en hardware-integratie zijn ontwikkeld voor LakeShark.
Dit project is gelicentieerd onder GPL-3.0.
LR2021-SDR
De Semtech LR2021 is een LoRa-chip die kan afstemmen van 100 MHz tot 2,74 GHz en 16-bit I/Q-data streamt. Hiermee is het mogelijk om P25-spraak, pagers, FM, Bluetooth LE en aangepaste transmissies te realiseren vanaf een handheld apparaat, zonder dat er een externe SDR-dongle nodig is.
Belangrijkste Kenmerken
- Frequentiebereik: 100 MHz tot 2,74 GHz
Continue ontvangst is mogelijk, wat ruim verder gaat dan de in het datasheet vermelde bereiken van 150 tot 960 MHz en 1,5 tot 2,5 GHz. Dit omvat onder andere de luchtvaartband, de bovenkant van de FM-band en het gebied tussen 2,5 en 2,7 GHz.
- Sample rate tot 250.000 samples/s
16-bit I/Q via plain SPI. Bij 125.000 samples/s is streaming gedurende meer dan zes minuten getest zonder dataverlies.
Live gesprekken kunnen worden gedecodeerd en afgespeeld op de handheld.
De eigen BLE-engine van de chip pikt advertising-signalen op alle drie de kanalen op.
Het versturen van aangepaste waveforms, P25-testbursts en het herhalen van signalen (replays), bevestigd door onafhankelijke ontvangers.
Opmerking: De genoemde waarden zijn gemeten op één LilyGO T-Display-P4 LR2021-board. Het bereik is afhankelijk van de front-end van de module en kan verschillen per board. De maximale sample rate wordt bepaald door de host-verbinding: de SPI van de chip stopt bij 16 MHz en dit board leest de FIFO met de CPU. Een snellere leesmethode of een compacter sample-formaat zou dit kunnen veranderen.
Hoe het werkt
Normaal gesproken demoduleert de Semtech LR2021 intern modi zoals LoRa, FSK en FLRC. Echter, een niet-gedocumenteerd commando in de ROM stelt de gebruiker in staat om de raw baseband over te nemen: 16-bit I- en Q-samples, waarbij amplitude en fase intact blijven. Dit transformeert de chip in een Software Defined Radio (SDR), waardoor ontvangers in software kunnen worden geschreven.
In het project LakeShark draait een ESP32-P4 deze ontvangers op de LilyGO T-Display-P4. Hierdoor kunnen P25 Phase 1 spraak, POCSAG-pagers en analoge FM via de ingebouwde LR2021 worden verwerkt, inclusief decodering en audio op het handheld apparaat. Samples kunnen tevens worden opgeslagen voor offline analyse.
Wat betreft transmissie heeft de chip P25-testbursts, temperatuurpakketten en aangepaste waveforms verzonden op 915 MHz en 433,92 MHz. Een onafhankelijke ontvanger herstelde 72 P25-spraakframes uit één transmissie. Ook kunnen opnames opnieuw worden verzonden: een Flipper Zero decodeerde Princeton-afstandsbedieningscodes die door de LR2021 werden herhaald, en FSK-replays behouden hun volledige afwijking (deviation).
Deze repository bevat de radio-access library, de capture-firmware, waveform-tools en meetgegevens. LakeShark voorziet in de live-decoders, audio en de handheld-interface.
Functionaliteiten
| Functie | Wat werkt er | Gids |
| Ontvangen | P25 Phase 1 spraak, POCSAG en analoge FM via de LR2021 in LakeShark. | Receive |
| Opnemen | Raw I/Q vastleggen voor offline decodering, replay en signaalanalyse. | Recording |
| Verzenden | Aangepaste waveforms uploaden en verzenden via het experimentele playback-pad, en OOK- en FSK-captures herhalen. | Transmit |
Aan de slag
- Gebruik als handheld: Begin met LakeShark op de LR2021-versie van de LilyGO T-Display P4.
- I/Q vastleggen: Gebruik de standalone capture-firmware en volg de handleiding voor aan de slag gaan.
- Ontwikkelen: Verken de portable C-library en de developer guide.
- Waveform-transmissie proberen: Lees de transmit-gids en de huidige mogelijkheden.
De standalone capture-firmware is bedoeld voor het opnemen van I/Q. Gebruik LakeShark voor live decodering, audio en de handheld UI. Het project is experimenteel en is getest op LR2021 ROM 1.24.
Gedetailleerde Resultaten
P25 ontvangst en verzending
Live ontvangst heeft geleid tot hoorbare P25 Phase 1-gesprekken. Een opname van één seconde op 154,785 MHz kon offline worden gedecodeerd naar 27 IMBE-spraakframes.
Transmissietests verstuurden P25-spraakdata-bursts met een testtoon. Een onafhankelijke ontvanger herstelde 72 spraakframes en reconstrueerde de verwachte toon. Dit betreft experimentele burst-transmissie.
Meetresultaten ontvanger
Continue capture
Drie separate sessies draaiden tot 391 seconden zonder meldingen van FIFO-verlies of queue-afwijzingen. Deze runs meten de continuïteit van de capture terwijl de decoder-input verwerking actief blijft.
Ontvangstbereik
Retuning-tests tegen de klokharmonischen van het board tonen aan dat de ontvangstketen werkt van 100 MHz tot 2740 MHz, wat ruim boven de bands uit het datasheet ligt. Onder de 100 MHz faalt de image-kalibratie, en boven de 2750 MHz lukt het de synthesizer niet om te locken.
Sample rates en controle van bekende tonen
- Sample rates: Schattingen voor vier geteste bandbreedtes varieerden van ongeveer 125.000 tot 1.000.000 complexe samples per seconde. Dit zijn korte-window metingen, geen limieten voor continue streaming. Schone captures draaien tot 250.000 samples per seconde; hogere rates veroorzaken een overflow van de chip FIFO omdat de 16 MHz SPI-bus deze niet kan transporteren.
- I/Q oriëntatie: Separate +25 kHz en −15 kHz RF-offset tonen verifiëren de frequentierichting in de vastgelegde I/Q. Spectra zijn afzonderlijk genormaliseerd en de amplitude is niet gekalibreerd.
Documentatie en Credits
Aanvullende documentatie
- Alle gidsen
- Hardware en setup
- Developer guide
- Onderzoek en metingen
- Transmissiemogelijkheden en resterend werk
- Bevindingen over TX sample rate en capture replay
Credits en licentie
Dit project is geïnspireerd door het werk van ESP-SDR en het ESPARGOS-team wat betreft het ontsluiten van raw radio-access. Er is geen ESP-SDR code opgenomen. De oorspronkelijke LR2021-capture en hardware-integratie zijn ontwikkeld voor LakeShark.
Dit project is gelicentieerd onder GPL-3.0.