El chip LoRa Semtech LR2021 se convierte en SDR y cubre de 100 MHz a 2,74 GHz

A principios de este mes vimos cómo el humilde ESP32-S3 podía transformarse en un transmisor y receptor SDR; poco después conocimos el proyecto w1700k-sdr, que convierte un router Wi-Fi 7 Gemtek W1700K en un receptor SDR de banda ancha.

El proyecto de código abierto LR2021-SDR, obra de Samuel Reynolds (SAMS0N1TE), aplica la misma idea y convierte el transceptor LoRa Semtech LR2021 en una radio definida por software (SDR) capaz de recibir señales desde 100 MHz hasta 2,74 GHz. Mediante un comando no documentado de la ROM del chip, el proyecto expone muestras I/Q en bruto de 16 bits, lo que permite al software decodificar voz digital P25 Phase 1, mensajes de buscapersonas POCSAG y señales de FM analógica sin necesidad de un dongle SDR externo.

Transceptor LoRa Semtech LR2021 utilizado como SDR para captura I/Q en bruto y análisis de señal (imagen generada por IA)

Características del firmware LR2021-SDR:

  • Hardware compatible: Semtech LR2021 con ROM 1.24; la variante SX1262 no permite el acceso a I/Q en bruto.
  • Rango de recepción: de 100 MHz a 2,74 GHz (probado experimentalmente), más allá de las bandas de 150–960 MHz y 1,5–2,5 GHz que especifica la hoja de datos.
  • Rango de transmisión: de 100 MHz a 2,74 GHz (probado experimentalmente), también por encima de las bandas documentadas.
  • Captura I/Q: muestras I y Q de 16 bits a través de SPI, con capturas cortas limpias de hasta 250.000 muestras complejas por segundo.
  • Recepción continua: 125.000 muestras/s durante hasta 391 segundos sin pérdidas de FIFO ni bloques de muestras descartados.
  • Decodificación de señales: voz digital P25 Phase 1, mensajes de buscapersonas POCSAG y FM analógica mediante LakeShark.
  • Bluetooth LE: recepción de paquetes de publicidad BLE 1M en los canales 37, 38 y 39 con el motor de paquetes BLE integrado en el chip.
  • Grabación: capturas I/Q en bruto para análisis, decodificación y reproducción sin conexión, incluidas grabaciones con disparador y muestras previas al evento.
Rango de recepción probado del LR2021 SDR, de 100 MHz a 2,74 GHz
Rango de recepción probado del LR2021 SDR, de 100 MHz a 2,74 GHz. Cada punto es una señal real que se desplazaba al reajustar el receptor; las zonas sombreadas son las bandas que promete la hoja de datos.

Normalmente, el LR2021 se encarga de LoRa, FSK, FLRC y otras modulaciones, y entrega al procesador anfitrión los paquetes ya decodificados. El proyecto LR2021-SDR se salta ese funcionamiento mediante un comando ROM no documentado que deja al descubierto la señal de banda base en bruto. El procesador puede entonces tratar las muestras I/Q por software y recibir señales que la interfaz de paquetes estándar del chip no admite directamente.

El desarrollador probó el receptor en todo el intervalo de 100 MHz a 2,74 GHz, usando los armónicos del reloj de la placa y señales independientes generadas por un HackRF One dentro de un recinto apantallado. Las pruebas confirmaron la recepción a 100 MHz, 1,3 GHz, 2,6 GHz y 2,74 GHz. Sin embargo, las mediciones se realizaron en una única placa, por lo que no permiten establecer una sensibilidad de receptor calibrada ni garantizar la misma cobertura de frecuencias en otro hardware.

Captura I/Q en bruto de una señal de voz P25 Phase 1 a 154,785 MHz
Grabación de una llamada de un segundo a 154,785 MHz. Esas mismas muestras se decodificaron sin conexión en 27 tramas de voz IMBE.

También se probó la captura I/Q continua a 125.000 muestras por segundo, con tres sesiones de hasta 391 segundos sin pérdidas de FIFO ni rechazos de cola. Las capturas cortas de hasta 250.000 muestras por segundo funcionaron igualmente, pero las velocidades superiores de 500.000 y 1.000.000 de muestras por segundo provocaron desbordamientos de FIFO, ya que la interfaz SPI de 16 MHz no era capaz de transferir los datos con la suficiente rapidez.

LR2021-SDR admite además transmisión experimental de señales, como tonos de prueba de voz P25, datos de sensores de temperatura y señales de mando a distancia OOK/FSK. En una prueba, un receptor independiente decodificó correctamente 72 tramas de voz P25 y recuperó el tono de prueba original. Otros ensayos consistieron en enviar datos de un sensor de temperatura recibidos por rtl_433 y en reproducir señales de mando a distancia decodificadas con un Flipper Zero. Por ahora, la transmisión se limita a ráfagas cortas, y el soporte de transmisión continua y voz en tiempo real sigue en desarrollo.

El LR2021 SDR decodifica un paquete 2-FSK de 2400 baudios a 433,1985 MHz
Una ráfaga del grabador I/Q con disparador de LakeShark, decodificada sin conexión: 2-FSK a 2400 baudios, sincronismo D391 D391, carga útil de 4 bytes y comprobaciones CRC-16.

LakeShark (utilizado en las pruebas anteriores) es un proyecto de firmware de código abierto del mismo desarrollador que convierte la LilyGO T-Display P4 en un escáner SDR portátil con un dongle RTL-SDR externo. Con LR2021-SDR, el desarrollador ha habilitado ahora la captura I/Q en bruto directamente desde el transceptor Semtech LR2021 integrado, lo que permite a LakeShark recibir y decodificar voz P25, mensajes POCSAG y FM analógica sin necesidad de un dongle SDR externo.

El repositorio de GitHub del proyecto incluye la biblioteca en C con licencia GPL-3.0, el firmware de captura independiente para ESP32-P4, herramientas en Python, instrucciones de compilación y resultados detallados de las pruebas. Los usuarios pueden instalar LakeShark para decodificar en tiempo real y usar el dispositivo de forma portátil, o bien emplear el firmware independiente para capturar muestras I/Q por USB y analizarlas en un ordenador. El proyecto sigue siendo experimental y requiere una placa equipada con LR2021 y una antena adecuada.

Vía Hackaday

Traducido del artículo en inglés «Semtech LR2021 LoRa chip gets the SDR treatment, supports 100 MHz to 2.74 GHz» de Debashis Das.