Saltar al contenido

PoorSDR4All para uSDX: una experiencia SDR mucho más completa desde el PC

Documentación para PoorSDR4All 1.0.0a1 · Última actualización: septiembre de 2026

Desarrollo en el laboratorio de Acuántico Power · PoorSDR4All 1.0.0a1 · Alpha

Si tienes un uSDX v1, v2 o uno de tantos clones minimalistas, probablemente conoces bien esta escena:

MENU. EXIT/MODE. Encoder.

Frontal de un transceptor uSDX con pantalla, botones Menu y Mode y mando giratorio.

Quieres pasar de 40 m a 20 m. Cambias de banda y después tienes que comprobar el modo, porque en 40 m estabas en LSB y en 20 m normalmente querrás USB. Luego aparece una señal que quieres afinar mejor: bajas el salto de sintonía de 1 kHz a 0,5 kHz. Terminas y quieres volver a 1 kHz. Todo se puede hacer; lo que cansa es tener que recorrer menús para acciones que durante una operación normal repites constantemente.

Ahí entra PoorSDR4All

PoorSDR4All es una herramienta propia de Acuántico Power creada para que el ordenador se convierta en una consola de operación alrededor del uSDX y acerque su uso a la experiencia de un transceptor SDR mucho más completo. La radio sigue siendo la misma. La etapa de RF y la potencia siguen siendo las mismas. Lo que cambia es la forma de manejarla.

Operador utilizando PoorSDR4All en el ordenador junto a un transceptor uSDX.
PoorSDR4All convierte el ordenador en una consola de operación alrededor del uSDX.

Desde una sola interfaz puedes tener delante frecuencia, banda, modo, paso de sintonía, PTT, Tune, volumen, ganancia de micrófono, ANR, audio Radio/SDR, OpenWebRX+, waterfall, espectro, S-meter, spots, Digi, memorias, autollamadas y accesos rápidos. Por debajo, PoorSDR4All coordina CAT, audio, servicios de red e integraciones externas.

PoorSDR4All puede utilizarse parcialmente sin OpenWebRX+ para funciones como CAT, audio de la radio, memorias o autollamadas. Sin embargo, OpenWebRX+ es una parte fundamental del proyecto y resulta necesario para disfrutar de la experiencia completa: sin él se pierden la recepción SDR integrada, la waterfall, el espectro, el S-meter derivado y otras funciones asociadas al backend.

La idea es sencilla: que un uSDX pequeño y minimalista no tenga por qué sentirse pequeño cuando lo operas desde el PC.

PoorSDR4All no intenta convertir el uSDX en otro equipo ni atribuirle capacidades de RF que no tiene. Su objetivo es más práctico: eliminar gran parte de la fricción del frontal físico y aprovechar el ordenador para construir alrededor de la radio una estación más cómoda, visual e integrada.

No cambia la radio. Cambia la experiencia de usarla.

PoorSDR4All

Instalador gráfico oficial para Linux. Abre Releases, descarga el fichero .run de la versión más reciente y comprueba su integridad con el archivo SHA-256 publicado junto a él.

Versión
1.0.0a1 · Alpha
Plataforma
Arch Linux · Debian/Ubuntu · Raspberry Pi OS 64-bit

Manual rápido: de cero a operar con seguridad

Ruta recomendada

Configura primero CAT, confirma recepción y deja la transmisión para el final. Si la frecuencia de la pantalla no coincide con la radio, no pruebes PTT todavía.

1. Conectar el uSDX por CAT

ElementoQué debes hacer
ObjetivoConseguir que PoorSDR4All lea y cambie la frecuencia y el modo de la radio.
NecesitasEl uSDX apagado mientras realizas las conexiones, un puerto USB libre y un cable o interfaz CAT USB-serie adecuado para tu transceptor concreto. No todos los equipos comercializados como uSDX utilizan el mismo conector, distribución de pines o niveles eléctricos, y un cable USB destinado únicamente a alimentación no sirve para CAT. Antes de conectarlo, confirma que la interfaz corresponde exactamente a tu modelo y revisión de hardware, instala el controlador de su adaptador USB-serie si el sistema lo necesita y comprueba su esquema de conexiones. Puedes fabricar el cable siguiendo la información y los esquemas disponibles en Internet para tu variante concreta. Si prefieres adquirirlo preparado, puedes contactar por WhatsApp con EA5PR — Rubén: 608 890 714.
AjustesAjustes → Radio / CAT: selecciona puerto, perfil y velocidad.
ComprobaciónCambia unos pocos pasos de frecuencia y después USB/LSB. La consola y la radio deben seguirse.
Si fallaRevisa puerto, permisos, cable, velocidad y si otro programa está ocupando el serial.

2. Preparar la recepción

ElementoQué debes hacer
ObjetivoEscuchar sin enviar audio accidentalmente al transmisor.
NecesitasLa salida de audio del uSDX o un receptor SDR/OpenWebRX+.
AjustesEn Ajustes → Audio, asigna altavoz, micrófono y los endpoints de radio. En la consola selecciona Radio o SDR.
ComprobaciónSintoniza una señal conocida, empieza con volumen bajo y súbelo gradualmente.
Si fallaVerifica el endpoint real, frecuencia de muestreo, fuente RX y que otra aplicación no tenga bloqueado el dispositivo.

3. Sintonizar una señal

  1. Elige BAND para saltar a una banda.
  2. Elige MODE. En fonía HF suele usarse LSB en bandas bajas y USB en altas, pero manda el plan de bandas y la señal concreta.
  3. Selecciona el paso de sintonía.
  4. Mueve el VFO con rueda, teclado, cursores o controles de canal; para frecuencia exacta, edita el display.
  5. Confirma que el uSDX ha seguido el cambio.

4. Abrir la experiencia SDR

Antes de continuar, conecta a OpenWebRX+ un receptor SDR capaz de cubrir HF y una antena adecuada. Si el SDR comparte la antena del uSDX, no transmitas hasta haber instalado un conmutador automático de antena que lo aísle durante TX.

  1. Arranca o conecta OpenWebRX+.
  2. Pulsa OWRX.
  3. Selecciona la fuente de recepción SDR si quieres escuchar ese flujo.
  4. Cambia de banda y comprueba que la waterfall sigue el perfil correspondiente.
  5. Haz clic en una señal de la cascada para sintonizarla desde la consola.

5. Primera prueba de transmisión

TX: haz la primera prueba con margen

Utiliza carga ficticia o una antena adecuada, potencia y ganancia bajas y respeta la normativa de tu país. PoorSDR4All no sustituye las protecciones, el plan de bandas ni el criterio del operador.

  1. Configura el micrófono del PC y la salida de audio hacia la radio.
  2. Baja la Ganancia / Micrófono antes de empezar.
  3. Acciona PTT durante un instante y comprueba el estado TX.
  4. Suelta PTT y confirma que la radio vuelve a RX.
  5. Si el PTT no conmuta correctamente, detén la prueba y revisa la conexión CAT, el perfil, la velocidad y la compatibilidad del firmware.

6. Guardar una frecuencia

Abre Mem, guarda nombre, frecuencia y modo y recupérala cuando quieras volver a ese punto. Las memorias son locales de PoorSDR4All: sintonizan la radio, pero no programan la memoria interna del firmware.

↑ Volver al índice

Qué es uSDX y por qué existen tantas variantes

uSDX —también escrito µSDX en algunos proyectos— es una familia de transceptores QRP definida en gran parte por software. La idea original reduce mucho el hardware y desplaza funciones al firmware, de modo que el equipo puede ser pequeño y económico, pero su interfaz física suele ser igualmente minimalista.

Con el tiempo aparecieron continuaciones, placas derivadas y equipos comerciales bajo nombres como uSDX, (tr)uSDX, usDX, uSDR o QCX-uSDX. No conviene asumir que dos equipos que se venden como “uSDX” tengan el mismo firmware, el mismo conversor USB, los mismos conectores, la misma velocidad CAT o el mismo comportamiento de PTT.

Por qué esto importa en PoorSDR4All

La compatibilidad real depende del firmware y de la interfaz CAT de tu equipo. Si una radio responde al subconjunto Kenwood/TS-480 utilizado por PoorSDR4All, frecuencia, modo y PTT tienen una base compatible; eso no certifica automáticamente audio, filtros, conectores o todas las particularidades de cada clon.

uSDX original y (tr)uSDX

PoorSDR4All incluye un perfil genérico TS-480 a 38400 baudios y un perfil trusdx-115200 para firmware moderno de (tr)uSDX. En la Alpha actual, este último está implementado pero sigue marcado como pendiente de validación física completa en más equipos.

Como regla práctica: no cambies valores al azar sólo porque tu radio se llama uSDX. Identifica primero variante, firmware, puerto y velocidad.

↑ Volver al índice

Qué es PoorSDR4All

PoorSDR4All es una consola de operación de radio escrita en Python con interfaz Tkinter. Une en una sola aplicación de escritorio lo que normalmente exige tener media docena de programas abiertos a la vez:

  • Control CAT de la radio (protocolo Kenwood / emulación TS-480, el que hablan también equipos QRP como el µSDX).
  • Proxy rigctld y una capa de emulación TS-480 por red para integrar software externo sin que varias aplicaciones tengan que abrir directamente el mismo puerto serie físico.
  • Cascada SDR embebida (vía OpenWebRX+) que sigue a la consola: cambias de banda y el perfil SDR cambia solo; haces clic en la cascada y la consola sintoniza esa frecuencia.
  • Visor Digi para mostrar decodificaciones disponibles en el backend. Para realizar contactos FT8 con WSJT-X, éste se conecta al proxy rigctld de PoorSDR4All y usa su propia cadena de audio.
  • Servidor web remoto opcional para operar desde otro equipo o desde el móvil.
  • Macros de autollamada con audio pregrabado, y plugins — cuaderno de guardia con funciones de concurso, relés de filtro por WiFi.

Es un proyecto de Acuántico Power, con el código fuente disponible públicamente en GitHub bajo una licencia no comercial (más abajo, en Licencia, los detalles). No es software as a service: se instala en tu equipo, guarda su configuración en tu equipo, y no manda nada a ningún sitio que tú no hayas configurado explícitamente.

De un vistazo

FunciónQué hace
Radio / CATControl de frecuencia, modo y PTT mediante CAT.
rigctld + emulación TS-480Permite integrar software externo mediante rigctld o, cuando no dispone de soporte rigctld, mediante la capa de emulación compatible.
Cascada (OWRX)Waterfall SDR embebido que sigue banda y frecuencia de la consola en ambos sentidos.
S-meterSe alimenta del nivel dBFS de la cascada. Funciona por defecto con autocalibración y permite situar el QRM ambiente detectado en la unidad S elegida; también admite una escala fija basada en una referencia S9 medida por el usuario.
AudioEnrutado independiente de altavoz/micrófono del PC y de la radio, con reducción de ruido (ANR) opcional.
Modos digitalesVisor Digi para mostrar las decodificaciones de FT8, FT4, JT65, WSPR y otros modos que proporcione el backend instalado. Los contactos se realizan con el programa de radio correspondiente, como WSJT-X para FT8.
Spots / Cluster DXSpots por MQTT o telnet, con duración configurable en la cascada.
Servidor web remotoApagado por defecto; exige contraseña y secreto de firma antes de arrancar.
AutollamadaHasta 10 macros de audio (repeticiones + intervalo) asignables a los 4 botones de autollamada de la consola.
Atajos de teclado30 acciones de la consola, cada una asignable a la tecla que quieras.
Temas6 paletas de color: Executive, Devil Power, Bannana Cream, Acid Jungle, Mizuno Night y Fresh Squishee.
Bandas160 m a 10 m, incluida 11 m (CB) y 60 m.
PluginsFilter Relays se distribuye como plugin opcional. Nunca Más, Ni Una Más (NMN1M), que aporta el libro de guardia, es un proyecto independiente que se instala por separado.
IdiomasCadenas de interfaz preparadas en 12 idiomas (ver nota de estado en Interfaz).

Qué hace y qué no hace PoorSDR4All

PoorSDR4All intenta reunir la operación alrededor del uSDX, pero una documentación útil también debe dejar claro dónde termina el programa y dónde empiezan la radio, el SDR auxiliar y los servicios externos.

ÁreaSí haceNo debe interpretarse como
CATLee/fija frecuencia y modo, consulta estado/ID y conmuta TX/RX dentro del subconjunto implementado.Control completo de cada menú o parámetro interno de todos los clones uSDX.
SDR / waterfallCoordina OpenWebRX+, perfiles de banda, waterfall, espectro y sintonía.Una waterfall generada por el CAT básico del uSDX.
S-meterDeriva la indicación desde dBFS del flujo SDR: relativa y con el nivel S del suelo de ruido configurable en modo autocalibrado, o referenciada a S9 cuando el usuario realiza una calibración fija.Una medición RF absoluta sin calibrar ni una lectura CAT proporcionada por el transceptor.
DigiMuestra decodificaciones disponibles en el entorno de OpenWebRX+/WSJT-X.Decodificador universal autónomo incluido dentro del ejecutable.
MemoriasGuarda y recupera memorias locales.Programación de la EEPROM o memorias internas del uSDX.
SeguridadIncluye controles para el servidor web y viene cerrado por defecto.Un servicio que debas exponer directamente a Internet sin diseñar la red.

En esta Alpha tampoco se documentan como control CAT específico del uSDX: RIT, filtros IF, ganancia RF, volumen interno de radio, AGC, SWR, potencia RF o telemetría general.

↑ Volver al índice

Compatibilidad con uSDX, (tr)uSDX y sistemas operativos

PerfilUso previstoBaudPTTEstado
customConfiguración manualConfigurableCATPredeterminado
generic-ts480uSDX/(tr)uSDX con dialecto TS-480 común38400CATPerfil de referencia del proyecto
trusdx-115200(tr)uSDX con firmware moderno115200CATImplementado; validación física amplia aún pendiente
PlataformaEstado de la AlphaAlcance
Arch Linux x86-64Validación funcional del mantenedorPlataforma principal
Debian/Ubuntu x86-64 y arm64Compilación y pruebas automatizadasPendiente de validación con más hardware real
Raspberry Pi OS 64-bitInstalación prevista sobre arm64Pendiente de validación física amplia
Windows 10/11 x86-64ExperimentalCAT/audio Python; OpenWebRX+ remoto o WSL2
macOSNo anunciado como plataforma soportadaNo presentar como validado en esta Alpha

CI no es una radio conectada

Que el paquete instale, pase pruebas o compile en CI no equivale a comprobar CAT, audio, SDR o PTT con hardware real. La Alpha necesita precisamente informes de usuarios con diferentes radios, interfaces y sistemas.

Requisitos

Para usar sólo CAT y la consola

  • Python 3.11 o posterior.
  • Tkinter, PortAudio y PySerial junto con las dependencias Python del proyecto.
  • Un uSDX o variante con CAT compatible.
  • Cable/interfaz USB-serie de datos reconocido por el sistema.

Para audio físico

  • Entrada de audio del PC para recibir desde la radio.
  • Salida de audio del PC hacia el transceptor.
  • Cableado apropiado a los niveles y conectores de tu variante.

Para la experiencia SDR completa

  • OpenWebRX+ local o remoto.
  • Un pincho o receptor SDR compatible con OpenWebRX+ y capaz de recibir las bandas de HF que quieras utilizar. Es imprescindible tanto si OpenWebRX+ se ejecuta localmente como si reside en otro equipo.
  • Una antena de recepción adecuada conectada al SDR.
  • Si el SDR y el transceptor comparten antena, un conmutador automático de antena para RX/TX que desconecte y aísle el SDR antes de transmitir.
  • Decodificadores externos instalados para los modos digitales que quieras utilizar.
  • SpeexDSP 1.2.1 si quieres ANR.
  • Compilador C sólo si quieres construir el acelerador nativo opcional.

Protege el receptor SDR durante la transmisión

La experiencia ideal consiste en que el uSDX y el SDR reciban desde la misma antena, pero no deben conectarse directamente a ella al mismo tiempo cuando vas a transmitir. La energía de RF del transmisor puede dañar la entrada del SDR. Es obligatorio utilizar un conmutador automático de antena adecuado para la frecuencia y potencia de trabajo, con aislamiento suficiente y conmutación coordinada para retirar el SDR antes de activar TX. Un divisor pasivo común no sustituye esa protección.

↑ Volver al índice

Estado actual de la versión Alpha

Esta es la primera versión pública, 1.0.0a1 — Alpha. Funciona en el entorno principal de desarrollo del autor, pero todavía necesita validación de la comunidad con más radios, tarjetas de audio y sistemas operativos distintos. La tabla dice exactamente hasta dónde llega hoy cada plataforma — nada más, nada menos:

PlataformaEstado de la AlphaAlcance
Arch Linux x86-64Validación funcional del mantenedorPlataforma principal
Debian/Ubuntu x86-64 y arm64 (incl. Raspberry Pi OS 64-bit)Compilación y pruebas automatizadasPendiente de validación con hardware real
Windows 10/11 x86-64Paquete Python, pruebas y acelerador C en CIExperimental; OpenWebRX+ debe ser remoto o correr en WSL2

Los resultados de CI comprueban que el código se instala, se prueba y se compila — no equivalen a una prueba física de radio, CAT, SDR o audio. Si algo falla en tu hardware, un informe en el gestor de incidencias de GitHub es exactamente el tipo de ayuda que este proyecto necesita ahora mismo.

PoorSDR4All

Código fuente completo y documentación para instalación manual, revisión y contribuciones.

Versión
1.0.0a1 · Alpha
Plataforma
Arch Linux · Debian/Ubuntu · Raspberry Pi OS 64-bit · Windows 10/11 (experimental)

Cómo instalar PoorSDR4All

PoorSDR4All se distribuye como código fuente y también ofrece para Linux un instalador gráfico autoextraíble en formato .run. OpenWebRX+ y su pila (csdr, pycsdr, owrx_connector…) no se incluyen precompilados: el instalador los descarga desde sus repositorios oficiales en revisiones fijadas, los compila en el equipo y conserva sus licencias GPL/AGPL.

Instalación gráfica recomendada en Linux

La forma más sencilla de instalar PoorSDR4All en Linux es el instalador gráfico oficial: un único fichero ejecutable que se ocupa de las dependencias del sistema, OpenWebRX+, la fuente LED del frecuencímetro y el acceso directo en el menú de aplicaciones, sin tener que utilizar la terminal.

✔ Compatible con Arch Linux, Debian, Ubuntu y Raspberry Pi OS de 64 bits.
✔ Instalación automática con progreso en vivo; no hace falta utilizar la terminal.
✔ Cada versión incluye a su lado un fichero .sha256 para verificar la integridad de la descarga.

¿Qué instala exactamente?

El asistente permite elegir mediante casillas OpenWebRX+ y la cascada SDR —recomendado—, el servicio de spots/DX Cluster y los extras del servidor web remoto para operar desde el navegador. Las tres opciones aparecen marcadas por defecto. Cuando termina, crea un acceso directo con el logotipo de PoorSDR4All en el menú de aplicaciones.

Requisitos: una sesión gráfica X11 o Wayland y conexión a Internet durante la instalación. El código de PoorSDR4All está incluido en el fichero .run, pero el asistente necesita descargar paquetes del sistema y compilar OpenWebRX+ desde sus fuentes oficiales.

¿Prefieres instalar a mano o revisar el script antes de ejecutarlo? Continúa con la instalación manual. El instalador gráfico es un asistente que ejecuta ese mismo scripts/install.sh con las opciones seleccionadas.

Instalación manual en Linux (con OpenWebRX+)

La instalación manual utiliza scripts/install.sh. El script detecta Arch o Debian, instala las dependencias del sistema, compila el acelerador, clona la pila OpenWebRX+ en revisiones exactas, aplica los parches publicados en patches/ y configura sus servicios systemd. Requiere sudo y modifica paquetes, grupos, udev, polkit y systemd; revísalo antes de ejecutarlo, como con cualquier instalador que modifica el sistema.

Instalación manual para Arch, Debian, Ubuntu o Raspberry Pi OS:

git clone https://github.com/Acuantico/poorsdr4all.git
cd poorsdr4all
scripts/install.sh

Opciones avanzadas del instalador

Variables de entorno que cambian su comportamiento:

VariableEfecto
SKIP_OWRX_BUILD=1No compila/instala OpenWebRX+ (solo la consola).
SKIP_SPIDER=1No instala owrx-spider (cluster DX).
INSTALL_WEB_EXTRAS=1Instala también las dependencias del servidor web remoto.
OWRX_BUILD_JOBS=4Paralelismo de la compilación (ajusta al número de núcleos).
RESET_OWRX_CONFIG=1Antes de instalar, hace copia fechada de la config actual en /var/lib/openwebrx/backup-poorsdr-* y aplica la plantilla limpia.

Una actualización normal (sin RESET_OWRX_CONFIG) conserva settings.json, usuarios y marcadores de OpenWebRX tal cual estaban.

Arch Linux

Los siguientes procedimientos instalan manualmente la consola. Son útiles para desarrollo o instalaciones personalizadas; para disponer también de la pila local de OpenWebRX+ utiliza el instalador recomendado anterior.

sudo pacman -S --needed python tk portaudio git base-devel
git clone https://github.com/Acuantico/poorsdr4all.git
cd poorsdr4all
python -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install .
python scripts/build_native.py       # acelerador opcional
python -m poorsdr

Debian / Ubuntu / Raspberry Pi OS (64-bit)

sudo apt update
sudo apt install python3 python3-venv python3-tk portaudio19-dev git build-essential
git clone https://github.com/Acuantico/poorsdr4all.git
cd poorsdr4all
python3 -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install .
python scripts/build_native.py       # acelerador opcional
python -m poorsdr

Windows 10/11

Instala Python 3.11 o posterior y Git. Para el acelerador opcional hace falta Visual Studio Build Tools con la carga de trabajo de C++, clang o MinGW. El audio usa WASAPI mediante PyAudioWPatch y el CAT habla por puertos COM. OpenWebRX+ no se instala de forma nativa en Windows: apunta a un servidor OpenWebRX+ remoto o ejecútalo dentro de WSL2.

git clone https://github.com/Acuantico/poorsdr4all.git
Set-Location poorsdr4all
py -3.11 -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install .
python scripts\build_native.py       # opcional; requiere MSVC, clang o gcc
python -m poorsdr

Plugins

Los plugins son paquetes Python independientes, opcionales, que se instalan aparte:

python -m pip install ./plugins/filter-relays

Nunca Más, Ni Una Más (NMN1M), el cuaderno de estación que aporta el botón «Log», no forma parte del árbol de PoorSDR4All: es un proyecto independiente, con repositorio, licencia y ciclo de publicación propios. Debe instalarse por separado siguiendo sus instrucciones. Sin extensiones instaladas, la consola funciona igual, pero no muestra el botón «Log» ni la pestaña «Relés» en Ajustes. Más detalle en la sección Plugins.

Funciones opcionales que dependen de software externo

  • Servidor web remoto: python -m pip install ".[web]".
  • FT8 / FT4 / JT65 / WSPR: necesitas tener instalados los decodificadores oficiales de WSJT-X.
  • ANR (reducción de ruido): necesita SpeexDSP 1.2.1 instalado en el sistema.
  • Visores GTK (cascada y panel Digi como procesos GTK aparte): opcionales; si no están, la cascada cae a su versión Tkinter.

Primer arranque y dónde vive cada cosa

PoorSDR4All nunca guarda configuración, logs ni bases de datos dentro del paquete instalado — todo va a las rutas estándar del usuario:

LinuxWindows
Configuración~/.config/poorsdr/config.json%APPDATA%
Datos~/.local/share/poorsdr/%LOCALAPPDATA%
Caché~/.cache/poorsdr/

PoorSDR4All se ejecuta con python -m poorsdr o con el comando instalado poorsdr. La configuración, los datos y los logs se guardan en los directorios del usuario, separados del paquete instalado.

Los puertos serie más habituales en Linux son /dev/ttyUSB0 y /dev/ttyACM0; en Windows son COM1, COM2, etc. La ventana de Ajustes los enumera automáticamente al abrirse (junto con los dispositivos de audio), pero los combos siguen siendo editables a mano por si la detección falla o el equipo está desconectado en ese momento.

Primera conexión: cómo conectar un uSDX al PC

Haz esta primera puesta en marcha con calma. El objetivo es validar cada capa por separado: primero CAT, después recepción, luego SDR si lo vas a usar y, sólo al final, transmisión.

  1. Conecta el cable CAT con la radio apagada. Si utilizarás audio físico, conecta también entrada y salida de audio.
  2. Enciende el uSDX y abre PoorSDR4All. Puedes ejecutar poorsdr o python -m poorsdr.
  3. Abre Ajustes → Radio / CAT. Selecciona el puerto real. En Linux será normalmente /dev/ttyUSB* o /dev/ttyACM*; en Windows, un COM.
  4. Selecciona perfil y velocidad. Usa los valores de tu firmware; no copies los de una captura de otra instalación.
  5. Guarda y verifica frecuencia/modo. Si el dial no sigue a la consola, detente aquí y resuelve CAT.
  6. Configura Ajustes → Audio. Asigna los cuatro roles de audio y empieza con niveles bajos.
  7. Elige Radio o SDR. Radio escucha la entrada física; SDR usa el flujo de OpenWebRX+.
  8. Comprueba recepción. Sintoniza una señal conocida y confirma frecuencia, modo y audio.
  9. Configura OWRX si quieres waterfall/espectro/Digi.
  10. Prueba TX al final. Ganancia baja, carga/antena adecuada y pulsación breve de PTT.

No copies los valores de las capturas

Puertos como /dev/ttyUSB0, nombres de tarjetas de audio, IP, frecuencias o rutas corresponden a una instalación concreta. La captura sirve para localizar el campo; el valor correcto es el de tu equipo.

↑ Volver al índice

La consola principal: control por control

Ésta es la parte que cambia de verdad la experiencia del uSDX. La pantalla principal concentra los controles que más se repiten durante una sesión de radio, de modo que el menú físico del equipo deja de ser el centro de la operación.

ControlQué haceCuándo lo usarás
WEB OFF / WEB ONActiva o detiene el servidor web opcional.Cuando quieras control desde otro navegador/equipo.
EDITActiva el modo avanzado de edición del layout.No aparece en una instalación normal. Es una herramienta de desarrollo y sólo se muestra al iniciar PoorSDR4All con la variable de entorno POORSDR_DEV_LAYOUT=1.
AjustesAbre todas las pestañas de configuración.CAT, audio, OWRX, web, interfaz, autollamada, atajos y plugins.
S-meterIndicador derivado del flujo SDR/dBFS, con autocalibración o escala fija opcional.Comparar señales o realizar lecturas referenciadas después de calibrarlo.
ANRActiva/desactiva reducción de ruido.Mejorar inteligibilidad cuando el filtro ayuda.
TuneGenera un tono de prueba y utiliza la cadena TX.Ajustes y comprobaciones breves, con sistema de antena preparado.
MiniwaterfallVista compacta de actividad alrededor de la frecuencia.Ver rápidamente dónde hay energía sin abrir el visor grande.
FrecuenciaDisplay/editor del VFO.Sintonía exacta desde teclado, rueda o cursores.
PasoDefine cuánto cambia el VFO por movimiento.Pasar de barrido rápido a ajuste fino sin entrar en menús.
Ganancia / MicrófonoNivel de la cadena TX.Ajustar audio transmitido sin saturar.
Volumen / AltavozNivel de escucha RX.Ajustar recepción.
OWRXAbre/cierra la experiencia SDR vinculada a OpenWebRX+.Waterfall, espectro, S-meter y seguimiento de banda.
SpotsAbre filtros/opciones de spots.Ver actividad DX sobre la cascada.
DigiAbre/cierra el visor digital.FT8 y otros decodificadores disponibles.
Radio / SDRElige la fuente de audio de recepción.Escuchar el uSDX físico o el receptor SDR.
CH − / CH +Navega por la lógica de canales.Moverte rápidamente entre posiciones.
PTTConmuta RX/TX.Transmisión manual.
BANDCambia banda/preset y puede coordinar el perfil OWRX.Saltar de 40 m a 20 m sin recorrer menús.
MODERecorre LSB, USB, CW, FM y AM según la operación.Cambiar de modo de forma directa.
1 · 2 · 3 · 4Accesos a cuatro autollamadas asignadas.Llamadas repetitivas o macros de audio.
MemAbre memorias locales.Guardar/recuperar frecuencias y modos.
Referencia rápida de la consola principal de PoorSDR4All.

Ejemplo real: 40 m → 20 m

En un uSDX con tres controles, el cambio puede obligarte a navegar banda, modo y después volver a ajustar el paso. En PoorSDR4All esos controles permanecen visibles: BAND → MODE → paso. El objetivo del programa es exactamente reducir ese tipo de fricción repetitiva.

↑ Volver al índice

Ajustes de PoorSDR4All: referencia completa, campo por campo

Esta sección documenta todos los controles que puede encontrar el usuario en la ventana Ajustes. No se limita a enumerarlos: explica para qué sirve cada campo, qué debe poner normalmente el usuario y qué opciones conviene dejar sin tocar.

Ajustes funciona como referencia de campos. Los capítulos posteriores explican cómo utilizar cada función en una operación real — sintonía, audio, OpenWebRX+, spots, autollamadas, servidor web e integraciones — y enlazan el procedimiento con esos parámetros.

Guardar y Cancelar

Guardar valida los valores y aplica la nueva configuración. Los servicios afectados se reconfiguran cuando es necesario. Cancelar cierra la ventana sin aplicar los cambios. En Plugins, los cambios de activación se aplican después de reiniciar PoorSDR4All.

Las capturas son ejemplos

Puertos serie, nombres de dispositivos de audio, direcciones IP, frecuencias, rutas y credenciales dependen de cada estación. Usa las capturas para localizar los campos; usa los valores reales de tu equipo.

Radio / CAT — conexión con el uSDX y servicios de control

Ajustes Radio CAT de PoorSDR4All con puerto serie, perfil uSDX, proxy rigctld y emulador TS-480.
Pestaña Radio/CAT de PoorSDR4All con el control directo del uSDX y el proxy rigctld para programas externos.

Configuración recomendada para la mayoría de usuarios

Usa Modo de control = direct para que PoorSDR4All controle físicamente el uSDX y deja Proxy rigctld activado si quieres conectar WSJT-X u otros programas compatibles. No cambies Modo de control a hamlib sólo para usar WSJT-X. Son dos funciones distintas.

AjustePara qué sirveCómo usarloValor inicial / nota
Puerto CATPuerto serie por el que PoorSDR4All habla con el uSDX.Selecciona el dispositivo que aparece al conectar la radio: por ejemplo /dev/ttyUSB0, /dev/ttyACM0 o un COM en Windows. El desplegable se rellena con los puertos detectados y admite edición manual.Vacío hasta seleccionar la radio.
Perfil de radioAplica una plantilla de comunicación.custom permite ajuste manual. generic-ts480 está pensado para el dialecto habitual usado por uSDX. trusdx-115200 está previsto para firmware moderno de (tr)uSDX a 115200.custom. El perfil moderno de (tr)uSDX sigue necesitando validación física amplia.
BaudiosVelocidad del enlace serie CAT.Usa la que requiera tu firmware. Con un perfil con nombre, la plantilla puede fijar la velocidad; en custom la defines tú.38400.
Modo de controlDefine quién abre la radio física.direct: PoorSDR4All abre directamente el puerto CAT; es la opción normal. hamlib: escenario avanzado en el que PoorSDR4All llega a la radio mediante un rigctld externo ya existente.direct.
Frecuencia inicial (Hz)Frecuencia de respaldo al iniciar la consola.Se usa si la radio no responde correctamente cuando PoorSDR4All intenta obtener su estado inicial. Se escribe en hercios.7074000 Hz.
Paso (Hz)Paso inicial de sintonía del VFO.Es el incremento inicial al mover el VFO. Después puedes cambiarlo desde el selector de paso de la consola.500 Hz.
Proxy rigctldActiva el servidor TCP para programas externos compatibles con rigctld.Actívalo para conectar WSJT-X y otros clientes sin darles el puerto serie físico. PoorSDR4All sigue siendo el dueño del CAT real.Activado.
rigctld hostDirección en la que escucha el proxy.127.0.0.1 permite conexiones sólo desde el mismo ordenador. Para otro equipo de la LAN tendrás que usar una dirección accesible y configurar la red correctamente.127.0.0.1.
rigctld puertoPuerto TCP del proxy.Usa este mismo número como Network Server en el programa externo. Si lo cambias aquí, cámbialo también en el cliente.4536.
Emulador TS-480Activa una segunda interfaz de red para programas que no usan rigctld pero sí un flujo compatible con Kenwood TS-480.Déjalo apagado si todos tus programas pueden usar rigctld. Actívalo sólo para software que realmente necesite esa emulación.Desactivado.
Host (Emulador TS-480)Dirección de escucha del emulador.Normalmente 127.0.0.1 si el cliente está en el mismo PC.127.0.0.1.
Puerto (Emulador TS-480)Puerto TCP del emulador.El programa externo deberá conectar aquí usando el transporte de red que admita para una radio compatible.4532.
Todos los campos visibles de Ajustes → Radio / CAT.

WSJT-X: el ajuste importante es Proxy rigctld

Si PoorSDR4All controla el uSDX en modo direct, WSJT-X no debe abrir el puerto serie del uSDX. Se conecta al proxy de PoorSDR4All, normalmente en 127.0.0.1:4536. Consulta la guía completa de WSJT-X.

Audio — qué entra, qué sale y qué escucha el operador

Ajustes de audio de PoorSDR4All con altavoz, micrófono y conexiones de entrada y salida del uSDX.
Configuración de los dispositivos de audio del PC y de la radio en PoorSDR4All.
AjustePara qué sirveQué debes seleccionarNota
Fuente RXSelecciona la fuente que PoorSDR4All utiliza para la recepción.radio: audio recibido físicamente del uSDX. sdr: flujo procedente de OpenWebRX+/SDR.sdr como valor inicial del software.
Altavoz del PC (salida)Dispositivo en el que escuchas la recepción.Altavoces, auriculares o una salida virtual donde quieras monitorizar RX.Sin dispositivo seleccionado hasta configurar la estación.
Micrófono del PC (entrada)Fuente de voz que PoorSDR4All puede utilizar para transmitir.Tu micrófono físico o una entrada virtual.Sin dispositivo seleccionado.
Audio recibido de la radio (entrada)Entrada del PC por la que llega el audio RX del uSDX.La entrada física o virtual conectada a la salida de audio de la radio.Sin dispositivo seleccionado.
Audio enviado a la radio (salida)Salida del PC que alimenta el audio de transmisión del uSDX.La salida física o virtual conectada a la entrada de audio de la radio. Empieza con niveles bajos.Sin dispositivo seleccionado.

rigctld no transporta audio

El proxy rigctld sólo transporta control de radio. WSJT-X y otros programas deben configurar su entrada y salida de audio por separado usando las interfaces de sonido reales o virtuales de tu estación.

OWRX — integración con OpenWebRX+, waterfall y seguimiento de banda

Pestaña OWRX de PoorSDR4All con host, puerto, runtime y perfiles de banda de OpenWebRX Plus.
Integración de OpenWebRX+ con PoorSDR4All: conexión, runtime y perfiles de banda.
AjustePara qué sirveCómo configurarloValor inicial / nota
OWRX habilitadoActiva o desactiva toda la integración con OpenWebRX+.Desactívalo si sólo quieres usar PoorSDR4All como consola CAT/audio sin backend SDR.Activado.
HostDirección del servidor OpenWebRX+.127.0.0.1 si corre en el mismo PC; si OWRX está en otra máquina, usa su IP o nombre de red.127.0.0.1.
PuertoPuerto web/API de OpenWebRX+.Debe coincidir con el puerto real de tu instalación OWRX.8073.
Clave mágica (magic key)Clave usada para acceder/controlar la instancia OpenWebRX+ cuando corresponde.Introduce la clave configurada en tu OWRX. No es la contraseña del servidor web de PoorSDR4All.Campo oculto.
RuntimeIndica cómo está desplegado OpenWebRX+.native para la instalación local gestionada como servicio; docker cuando OWRX está en contenedor.native.
Abrir cascada al iniciarDecide si el visor waterfall se abre automáticamente al arrancar.Actívalo si siempre operas con la cascada; déjalo apagado si prefieres abrirla a mano.Desactivado.
OWRX solo sigue a la appControla el sentido de la sincronización.Activado: los cambios de PoorSDR4All se envían a OWRX pero los hechos desde la web de OWRX no deben mover la consola. Desactivado: la sincronización puede trabajar en ambos sentidos.Desactivado.
Receptor SDR (hint)Ayuda a identificar qué receptor de OWRX usar.Escribe el nombre sólo si necesitas desambiguar. Vacío permite la selección/autodetección prevista por la instalación.Vacío.
S-metro calibradoSelecciona una escala fija en lugar de la autocalibración basada en el ruido de fondo.Actívalo únicamente después de medir una señal S9 de referencia con la ganancia del receptor SDR fijada manualmente.Desactivado.
S9 de referencia (dBFS)Define qué lectura dBFS de OpenWebRX+ corresponde a S9.Introduce el valor medido con la señal de referencia. Sólo se utiliza cuando S-metro calibrado está activado.-30 dBFS inicialmente; sustitúyelo por tu medición real.
Suelo de ruido (S)Determina en qué unidad S se representa el ruido de fondo o QRM ambiente detectado automáticamente.Ajústalo entre S0 y S9 según el ruido habitual de tu estación. Sólo se utiliza con S-metro calibrado desactivado y se aplica en caliente.S5, igual que el comportamiento anterior.
Perfiles de banda (JSON)Relaciona cada banda de PoorSDR4All con el nombre exacto de su perfil en OpenWebRX+.Debe ser JSON válido, por ejemplo {"40m":"RTL 40m","20m":"RTL 20m"}. Los nombres deben coincidir exactamente con OWRX.Incluye el mapa de 160 m a 10 m de la plantilla de referencia.

Spots / Cluster — origen y duración de los avisos DX

AjustePara qué sirveCómo configurarloValor inicial / nota
Duración de cada spot (min)Tiempo que un spot permanece visible.Aumenta el valor si quieres conservar avisos más tiempo; redúcelo para una waterfall más limpia.10 min.
FuenteElige de dónde llegan los spots.mqtt usa broker/topics; telnet usa un cluster DX clásico.mqtt.
MQTT URLDirección del broker MQTT/WebSocket.Introduce la URL completa proporcionada por el servicio. Sólo se usa con Fuente = MQTT.Puede venir preconfigurada por el proyecto.
MQTT topicsTopics a los que se suscribe el cliente.Escribe los topics separados por comas.Lista preconfigurada en la plantilla.
MQTT usuarioUsuario del broker.Déjalo vacío si no se exige autenticación.Vacío.
MQTT contraseñaContraseña del broker.Déjala vacía si no hace falta.Vacío.
Telnet hostServidor del cluster DX por Telnet.Introduce el host del cluster que utilices. Sólo se usa con Fuente = Telnet.Vacío.
Telnet puertoPuerto TCP del cluster Telnet.Usa el puerto publicado por el cluster.7300.
Telnet indicativoIndicativo con el que te identificas.Escribe tu indicativo cuando el servicio lo requiera.Vacío.
Telnet contraseñaContraseña del cluster Telnet.Déjala vacía si el servidor no la solicita.Vacío.

Esta pestaña define la fuente y la retención. Los filtros de tipos de spot que se muestran se manejan desde el botón Spots de la consola principal.

Web — control remoto desde un navegador

AjustePara qué sirveCómo configurarloValor inicial / nota
Servidor webHabilita el panel de control remoto.Actívalo cuando hayas configurado una contraseña y necesites acceder desde un navegador.Desactivado.
HostDirección en la que escucha el servidor.Usa 127.0.0.1 para acceder sólo desde el propio PC. Para entrar desde otro dispositivo de tu LAN, usa 0.0.0.0.127.0.0.1.
PuertoPuerto TCP del panel web.Conserva 8080 salvo que esté ocupado o necesites asignar otro.8080.
Permitir WANPermite conexiones procedentes de fuera de la LAN.No abre ningún puerto del router ni configura el firewall. Debido al estado experimental del servidor, déjalo desactivado y utiliza una VPN si accedes desde Internet.Desactivado.
HTTPS automáticoGenera un certificado autofirmado y sirve el panel mediante https://.Actívalo para acceder desde otro dispositivo. Si está desactivado y no has indicado ssl_cert y ssl_key manualmente, el servidor utiliza http://.Desactivado.
UsuarioNombre de usuario del panel web.Puedes conservarlo o sustituirlo por otro.admin.
ContraseñaProtege el acceso al panel web.Es obligatoria: sin una contraseña configurada, el servidor no arranca. PoorSDR4All guarda únicamente el hash y el salt, nunca la contraseña en claro. Si ya existe una, dejar el campo vacío conserva la actual.Vacía en la primera ejecución.

Al pulsar Guardar, los ajustes se aplican en caliente. PoorSDR4All reinicia el servidor web cuando cambia algún parámetro que afecta a su funcionamiento; no es necesario reiniciar la consola completa.

No expongas los servicios de radio directamente a Internet

El servidor web, rigctld, la emulación TS-480 y OpenWebRX+ son servicios distintos. Mantén CAT y los puertos de control en localhost o en una LAN controlada siempre que sea posible.

Interfaz — idioma, tema y modo inicial

AjustePara qué sirveOpciones / usoValor inicial
IdiomaSelecciona el idioma de los textos.Español, inglés, francés, alemán, italiano, portugués, turco, polaco, ruso, gallego, catalán y euskera. En la Alpha algunos textos pueden seguir sin estar conectados al sistema de traducción.es.
TemaCambia la apariencia de la consola y la cascada.Executive, Devil Power, Bannana Cream, Acid Jungle, Mizuno Night y Fresh Squishee. Es una preferencia visual; no modifica CAT ni la RF.Devil Power.
Modo por defectoModo con el que arranca la consola.Opciones: LSB, USB, CW, FM y AM.USB.
Comparación de los temas Acid Jungle, Bannana Cream y Devil Power en la consola PoorSDR4All.
Temas Acid Jungle, Bannana Cream y Devil Power de PoorSDR4All.
Comparación de los temas Executive, Fresh Squishee y Mizuno Night en la consola PoorSDR4All.
Temas Executive, Fresh Squishee y Mizuno Night de PoorSDR4All.

Autollamada — los 10 perfiles y los 4 botones de la consola

ControlPara qué sirveCómo se usa
# 1…10Número fijo de la ranura de macro.El número identifica la macro y es el que eliges después en Botón 1…4. Una fila vacía puede dejarse sin configurar.
NombreEtiqueta para reconocer la macro.Escribe un nombre útil. No se envía a la radio.
AudioArchivo que se reproducirá al disparar la macro.Se selecciona con el botón . El selector admite WAV, MP3, OGG y FLAC.
Abre el selector de archivo.Úsalo para escoger el audio; la ruta se muestra en el campo.
Reps.Veces que se repite el archivo.Debe ser un entero positivo. Si un perfil válido no especifica otro valor, el comportamiento base es una repetición.
Interv. (s)Pausa entre repeticiones.Se expresa en segundos; puede ser 0.
Botón 1Asigna una macro al primer botón circular.Elige 1–10 o “sin asignar”.
Botón 2Asigna una macro al segundo botón.Elige 1–10 o “sin asignar”.
Botón 3Asigna una macro al tercer botón.Elige 1–10 o “sin asignar”.
Botón 4Asigna una macro al cuarto botón.Elige 1–10 o “sin asignar”.

Prueba las autollamadas antes de salir al aire

Comprueba el archivo, el nivel de audio, la ganancia y el retorno correcto a RX. PoorSDR4All conmuta PTT mediante CAT; una macro de audio no elimina la necesidad de vigilar la transmisión.

Atajos — cada acción asignable, sin excepciones

Pestaña de atajos de PoorSDR4All con las acciones de operación y sus teclas configurables.
Acciones operativas y atajos de teclado configurables en PoorSDR4All.

Haz clic en el campo de una acción y pulsa la tecla que quieras asignar. La × elimina la asignación. También puede dejarse una acción sin tecla.

AcciónQué haceTecla inicial
PTTConmuta RX/TX mediante el PTT CAT de PoorSDR4All.Space
Tono de TuneEjecuta Tune.Sin asignar
VFO +Sube la frecuencia un paso.Up
VFO −Baja la frecuencia un paso.Down
Canal +Avanza en la lógica de canales.KP_Add
Canal −Retrocede en la lógica de canales.KP_Subtract
Modo siguientePasa al siguiente modo disponible.Sin asignar
Modo anteriorPasa al modo anterior.Sin asignar
Banda siguientePasa a la siguiente banda.Next / Av Pág
Banda anteriorVuelve a la banda anterior.Prior / Re Pág
Paso siguienteSelecciona el siguiente paso de sintonía.Sin asignar
Paso anteriorSelecciona el paso anterior.Sin asignar
ANR on/offActiva o desactiva la reducción de ruido.Sin asignar
ANR intensidad +Aumenta la intensidad del ANR.Sin asignar
ANR intensidad −Reduce la intensidad del ANR.Sin asignar
Volumen +Sube el volumen RX.Sin asignar
Volumen −Baja el volumen RX.Sin asignar
Ganancia +Aumenta la ganancia de la cadena TX.Sin asignar
Ganancia −Reduce la ganancia de la cadena TX.Sin asignar
Fuente RX: RadioCambia la recepción a la entrada física del uSDX.Sin asignar
Fuente RX: SDRCambia la recepción al flujo SDR/OpenWebRX+.Sin asignar
Spots (menú)Abre el menú/filtros de spots.s
Digi on/offAbre o cierra el visor Digi.d
OpenWebRX (cascada)Abre o cierra la waterfall.c
Nunca Más, Ni Una MásSólo está disponible si se ha instalado por separado el proyecto/plugin NMN1M. Abre su libro de guardia cuando PoorSDR4All lo detecta.l
MemoriasAbre la ventana de memorias.m
Autollamada 1Dispara el primer acceso de autollamada.1
Autollamada 2Dispara el segundo acceso de autollamada.2
Autollamada 3Dispara el tercer acceso de autollamada.3
Autollamada 4Dispara el cuarto acceso de autollamada.4
Catálogo completo de acciones asignables desde Ajustes → Atajos.

Plugins — activar o desactivar extensiones

La pestaña lista los plugins detectados. Cada plugin aparece con una casilla: marcada significa activo; desmarcada significa desactivado. Los cambios se aplican al reiniciar PoorSDR4All.

  • Nombre del plugin: identifica la extensión detectada.
  • Casilla de activación: decide si PoorSDR4All debe cargarla en el próximo arranque.
  • Texto informativo: muestra el identificador del plugin. La guía no depende del estado concreto mostrado en una captura de ejemplo.
  • Sin plugins instalados: PoorSDR4All sigue funcionando; los plugins son opcionales y aditivos.

Acerca de — información del proyecto

ElementoQué significa
PoorSDR4AllNombre del programa.
VersiónIndica la versión visible de la aplicación; en esta documentación, Alpha 1.0 / paquete 1.0.0a1.
AutorIdentifica a Acuántico Power como autor del proyecto.
acuanticopower.com/poorsdr4allEnlace a la página oficial del proyecto.
LicenciaAbre la información de licencia de PoorSDR4All.
AgradecimientosBloque informativo del proyecto; no modifica ninguna opción.
Ko-fiEnlace opcional para apoyar el proyecto.

La pestaña Acerca de es informativa: no guarda parámetros de operación.

Pestaña opcional Relés — sólo si el plugin correspondiente está instalado y activo

PoorSDR4All puede añadir pestañas a Ajustes desde plugins. El plugin de relés de filtros añade Relés; por eso no aparece en todas las instalaciones. Si aparece, sus campos son:

AjustePara qué sirveValor inicial / nota
Relés WiFiActiva el control de la placa de relés por banda.Desactivado.
URL del ESPDirección HTTP de la placa que conmuta los relés.Vacío hasta configurar tu hardware.
API keyClave de autenticación del ESP si tu firmware la utiliza.Vacío.
Timeout (ms)Tiempo máximo de espera de una petición al controlador.700 ms.
Grupos de banda (JSON)Mapa que relaciona bandas con grupos/salidas del banco de filtros.JSON vacío hasta definir tu instalación.

↑ Volver al índice

Sintonía del uSDX desde el PC: frecuencia, pasos, bandas y modos

PoorSDR4All está pensado para que cambiar la frecuencia deje de depender continuamente del encoder físico. Puedes editar la frecuencia, moverla con teclado/rueda y elegir un paso apropiado antes de moverte.

Paso en la UIIncremento
0.01 kHz10 Hz
0.1 kHz100 Hz
0.5 kHz500 Hz
1 kHz1.000 Hz
5 kHz5.000 Hz
10 kHz10.000 Hz
100 kHz100.000 Hz

La aplicación expone presets para 160, 80, 60, 40, 30, 20, 17, 15, 11 y 10 metros. Seleccionar banda también puede coordinar el perfil correspondiente de OpenWebRX+.

Código CATModo
1LSB
2USB
3CW
4FM
5AM

La banda de la aplicación no es una autorización para transmitir

PoorSDR4All no sustituye el plan de bandas ni impide por sí solo transmitir fuera de las frecuencias autorizadas. Comprueba siempre la normativa, modalidad y segmento aplicables.

PTT y Tune

El PTT de PoorSDR4All funciona exclusivamente mediante CAT. La aplicación envía los comandos TX; y RX; al uSDX compatible a través del mismo puerto y la misma conexión utilizados para controlar la frecuencia y el modo.

Si PTT por CAT no funciona

  1. Confirma primero que frecuencia y modo funcionan por CAT.
  2. Revisa el firmware y los comandos TX/RX compatibles.
  3. Comprueba que el firmware de tu radio admite correctamente las órdenes CAT de TX y RX utilizadas por PoorSDR4All.
  4. Si la radio queda en TX, vuelve a RX desde la propia radio y no continúes hasta identificar la causa.

Tune

Tune no es un botón visual. Genera un tono de prueba y utiliza la cadena de transmisión. Úsalo de forma breve, con niveles moderados y con carga/antena adecuada.

Audio del uSDX en el ordenador: RX, TX, Radio/SDR y ANR

RECEPCIÓN DESDE EL uSDX
uSDX → entrada de audio del PC → PoorSDR4All → altavoz del PC

RECEPCIÓN DESDE SDR
SDR/OpenWebRX+ → PoorSDR4All → altavoz del PC / Digi

TRANSMISIÓN
micrófono o macro del PC → PoorSDR4All → salida de audio hacia la radio → uSDX

PoorSDR4All separa altavoz del PC, micrófono del PC, audio recibido de la radio y audio enviado a la radio. La fuente RX determina si escuchas la radio física o el SDR.

ANR

Con SpeexDSP disponible, el ANR puede activarse y ajustar su intensidad. No asumas que más intensidad siempre es mejor: empieza bajo y sube sólo si mejora la inteligibilidad.

uSDX + OpenWebRX+: waterfall, espectro y S-meter

OpenWebRX+ es una parte fundamental de PoorSDR4All. Aunque la consola puede utilizarse parcialmente sin él, la experiencia completa necesita este backend para incorporar la recepción SDR, la waterfall, el espectro y el S-meter. PoorSDR4All se ocupa de integrarlo con la operación: el cambio de banda puede seleccionar el perfil SDR, la cascada sigue la consola y un clic en la waterfall puede devolver la sintonía hacia la radio.

OpenWebRX+ necesita hardware de recepción real: un pincho o receptor SDR capaz de escuchar en HF, con una antena apropiada conectada. Instalar el servidor sin un SDR que cubra las bandas deseadas no proporciona la experiencia de recepción prevista.

Una antena compartida exige conmutación automática

Lo ideal es utilizar para el SDR la misma antena de HF que utiliza el equipo de radio, de modo que la cascada represente las señales que realmente llegan a la estación. Para hacerlo con seguridad es obligatorio incorporar un conmutador automático de antena RX/TX: antes de transmitir debe desconectar y aislar la entrada del SDR, y sólo debe devolvérsela a recepción cuando termine TX. El conmutador debe ser adecuado para la frecuencia y potencia empleadas y ofrecer aislamiento suficiente. Sin esta protección, la RF del transmisor puede dañar el receptor SDR.

Cascada de OpenWebRX+ integrada en PoorSDR4All mostrando el espectro de 40 metros, señales y marcadores de modos digitales.
Cascada y espectro de 40 metros en PoorSDR4All/OpenWebRX+, con señales y marcadores de actividad digital.
  • FFT y waterfall para ver actividad alrededor de la frecuencia.
  • Zoom y desplazamiento en el visor.
  • Perfiles por banda configurables.
  • Marcadores y spots superpuestos.
  • Sintonía bidireccional entre consola y waterfall.
  • S-meter derivado de dBFS, con autocalibración y suelo de ruido configurable, además de una escala fija opcional.

Sobre el S-meter

El S-meter de PoorSDR4All no procede del CAT del uSDX: se calcula a partir del nivel dBFS que entrega OpenWebRX+. De forma predeterminada se autocalibra siguiendo el ruido de fondo de la banda. El campo Suelo de ruido (S) permite decidir en qué unidad S se representa ese QRM ambiente detectado. Su valor inicial es S5, igual que antes de incorporar este ajuste, por lo que el comportamiento no cambia si el usuario no lo toca.

Hay dos formas de ajustar la indicación y no deben confundirse. En el modo autocalibrado, el seguimiento del ruido es relativo y Suelo de ruido (S) sólo coloca ese nivel detectado en la unidad S elegida. En el modo de escala fija, ese campo se ignora: el S-meter utiliza la convención de 6 dB por unidad entre S0 y S9 y 10 dB por unidad por encima de S9, anclada al valor dBFS que el usuario haya medido para una señal S9 conocida.

Cómo ajustar el modo autocalibrado

Este es el modo activo por defecto y no pretende convertir los dBFS en una medida absoluta de potencia. Sirve para que la escala resulte coherente con el nivel de QRM habitual de cada estación.

  1. Deja S-metro calibrado desactivado.
  2. Sintoniza una zona de la banda sin señales presentes y deja que PoorSDR4All siga el ruido de fondo.
  3. Determina qué nivel S representa normalmente ese QRM en tu estación. Puedes tomar como referencia un receptor o instrumento que ya esté calibrado y conectado en condiciones comparables. Si no dispones de una referencia fiable, conserva S5.
  4. En Ajustes → OWRX → Suelo de ruido (S), introduce la unidad correspondiente, entre S0 y S9.
  5. Pulsa Guardar. El seguimiento se reajusta y el cambio se aplica inmediatamente, sin reiniciar la consola.

Este valor no afirma que el ruido tenga una potencia absoluta determinada: únicamente fija dónde se representa el suelo detectado dentro de la escala relativa. Puede ser necesario cambiarlo si la antena, el entorno radioeléctrico o la banda utilizada presentan un nivel de QRM distinto.

Cómo calibrar la escala fija con una referencia S9

Utiliza este procedimiento si necesitas una lectura referenciada en vez de la escala relativa. La calibración sólo conserva su validez mientras permanezcan iguales la ganancia del receptor SDR y el resto de la cadena de recepción.

  1. Fija manualmente la ganancia del RTL-SDR en OpenWebRX+. No utilices ganancia automática. En una instalación del sistema se configura en /var/lib/openwebrx/settings.json; la plantilla incluida en el código fuente está en assets/owrx/settings.json. El campo del perfil es rf_gain.
  2. Aplica a la entrada de antena una señal de potencia conocida. Lo recomendable es un generador de señales calibrado. Para S9 en HF puede utilizarse como referencia -73 dBm; si no dispones de generador, necesitas una fuente y una atenuación cuyo nivel final puedas determinar con suficiente precisión.
  3. Sintoniza la señal de referencia y anota el valor exacto en dBFS que muestra OpenWebRX+.
  4. Abre Ajustes → OWRX, escribe esa lectura en S9 de referencia (dBFS) y activa S-metro calibrado.
  5. Pulsa Guardar. La nueva escala se aplica inmediatamente, sin reiniciar la consola.

Si cambias la ganancia del SDR, el receptor, el perfil, los atenuadores o cualquier elemento que afecte al nivel recibido, debes repetir la calibración. Una lectura fija con una cadena diferente deja de estar referenciada correctamente.

Para recuperar el modo autocalibrado, desactiva S-metro calibrado. El valor guardado en S9 de referencia (dBFS) se conserva, pero deja de utilizarse; el S-meter vuelve a colocar el ruido detectado en la unidad indicada por Suelo de ruido (S).

FT8 con uSDX: Digi y modos digitales

Visor Digi mostrando tramas FT8 decodificadas junto a la consola PoorSDR4All y la waterfall.
Digi muestra tramas FT8 decodificadas mientras permanecen visibles la consola y la waterfall.

Digi muestra la actividad digital que recibe del backend y de los decodificadores disponibles. Con FT8 activo en el backend, permite ver las tramas decodificadas mientras la consola y la waterfall permanecen visibles. Esta función es independiente de los cinco modos seleccionables de la consola: LSB, USB, CW, FM y AM.

La disponibilidad de FT8, FT4, JT65, WSPR u otros modos depende del entorno de decodificación instalado. PoorSDR4All no debe describirse como un decodificador universal autónomo que incluya todos esos motores dentro del paquete principal.

Para hacer QSOs FT8, utiliza WSJT-X y conéctalo a PoorSDR4All mediante el proxy rigctld. Consulta la configuración completa de WSJT-X.

Checklist para FT8

  • Reloj del PC correctamente sincronizado.
  • Frecuencia y modo adecuados.
  • CAT estable.
  • Señal visible en la waterfall.
  • Decodificador correspondiente disponible.
  • Niveles de audio sin saturación.
  • Si vas a transmitir: PTT, duty cycle, potencia y refrigeración bajo control.

Spots y DX Cluster

Los spots pueden llegar por MQTT o por un cluster Telnet. La utilidad no es sólo leer una lista: se pueden representar sobre la waterfall para convertir la información DX en parte del flujo de sintonía.

  • Duración configurable de cada spot.
  • Filtros por tipo desde la consola.
  • Fuente MQTT con URL, topics y credenciales.
  • Fuente Telnet con host, puerto, indicativo y contraseña.

Memorias de frecuencia

Las memorias de PoorSDR4All guardan localmente nombre, frecuencia y modo y permiten volver después a esa posición sin repetir toda la navegación. La aplicación puede inferir la banda por cercanía a sus frecuencias de referencia.

No son las memorias internas del uSDX

Recuperar una memoria hace que PoorSDR4All sintonice la radio. No escribe la EEPROM ni programa los canales internos del firmware.

Autollamada: macros de audio

Puedes definir hasta 10 macros con nombre, archivo de audio, repeticiones e intervalo, y asignar cuatro de ellas a los cuatro accesos visibles de la consola. La versión actual permite elegir archivos WAV, MP3, OGG o FLAC desde el diálogo de archivos.

  • Prueba primero el archivo fuera de RF.
  • Empieza con ganancia baja.
  • Verifica el nivel de salida hacia la radio.
  • Comprueba que PTT vuelve a RX al terminar.
  • Respeta las reglas de identificación y operación automática aplicables.

Atajos de teclado

Los atajos están pensados para que, una vez acostumbrado a la consola, muchas acciones puedan hacerse sin apartar la mano del teclado.

AcciónAcción
PTTTune
VFO +VFO −
Canal +Canal −
Modo siguienteModo anterior
Banda siguienteBanda anterior
Paso siguientePaso anterior
ANR on/offANR intensidad + / −
Volumen +Volumen −
Ganancia TX +Ganancia TX −
Fuente RX: RadioFuente RX: SDR
SpotsDigi on/off
OpenWebRX / cascadaMemorias / autollamadas según asignación

Control remoto mediante servidor web

PoorSDR4All incluye un servidor web opcional para operar desde otro equipo o desde el móvil. Viene apagado por defecto y el proyecto exige configurar las credenciales y el secreto de firma antes de arrancarlo.

Advertencia: acceso remoto en fase temprana

El servidor web y las funciones de acceso remoto de PoorSDR4All son experimentales y se encuentran en una fase muy temprana de desarrollo. Pueden contener errores, presentar comportamientos inesperados y tener funciones todavía incompletas o sin terminar. No deben exponerse directamente a Internet: no abras ni redirijas hacia ellos puertos del router. Activar “Permitir WAN” sólo habilita el acceso desde otras direcciones de red; no convierte el servicio en una aplicación preparada para Internet.

Si quieres experimentar desde fuera de casa, utiliza una VPN para acceder a tu red local y expón a Internet únicamente el servicio VPN correctamente configurado y actualizado. Una vez conectado a la VPN, accede a PoorSDR4All como si estuvieras dentro de la LAN. Tampoco expongas directamente los servicios CAT, rigctld, OpenWebRX+ o spiderd.

Configurar el servidor web remoto (Ajustes → Web)

  1. Servidor web: actívalo.
  2. Usuario: el valor inicial es admin; puedes cambiarlo.
  3. Contraseña: introduce una contraseña segura. Es obligatoria y, si no está configurada, el servidor no arranca. PoorSDR4All guarda sólo su hash y su salt, nunca la contraseña en claro.
  4. Host: conserva 127.0.0.1 si el panel sólo debe estar disponible en el propio equipo. Para acceder desde un móvil u otro ordenador de la misma LAN, usa 0.0.0.0, que escucha en todas las interfaces.
  5. Puerto: el valor inicial es 8080.
  6. Permitir WAN: no hace falta para el uso normal dentro de la LAN. Esta opción permite conexiones desde fuera de ella, pero no abre el puerto en el router o el firewall ni hace que el servicio sea seguro para Internet. Mientras esta función siga siendo experimental, déjala desactivada y utiliza una VPN para cualquier acceso exterior.
  7. HTTPS automático: actívalo para que PoorSDR4All genere un certificado autofirmado y sirva el panel mediante https://. Si lo desactivas y no configuras ssl_cert y ssl_key manualmente, el panel se sirve mediante http://.

Al pulsar Guardar, la configuración se aplica en caliente. Si ha cambiado un parámetro de funcionamiento del servidor, PoorSDR4All reinicia únicamente ese servicio.

Acceder desde otro dispositivo

  1. Con el servidor arrancado, consulta en el registro de la consola las direcciones disponibles. Por ejemplo:
https://<tu-ip-lan>:8080
https://<nombre-del-equipo>:8080
https://localhost:8080
  1. Desde el móvil u otro ordenador conectado a la misma red WiFi o LAN, abre https://<ip-del-equipo>:8080. Debes usar la IP LAN del ordenador que ejecuta PoorSDR4All: localhost y 127.0.0.1 sólo sirven desde ese mismo ordenador.
  2. Si utilizas HTTPS automático, el navegador advertirá la primera vez de que el certificado autofirmado no es de confianza. Comprueba que estás entrando en la dirección correcta y acepta continuar explícitamente.
  3. Inicia sesión con el usuario y la contraseña configurados en Ajustes → Web.
  4. Si el audio WebRTC está disponible y funciona correctamente en tu instalación, pulsa el botón de audio del panel para intentar establecer la conexión de recepción y transmisión. El navegador solicitará permiso para usar el micrófono la primera vez. Esta parte también es experimental y puede presentar errores o funciones todavía incompletas.

Integrar otros programas: rigctld y emulación TS-480

PoorSDR4All puede quedarse como único propietario del puerto CAT físico y ofrecer el control de la radio a otras aplicaciones por red local. Esto evita el problema clásico de dos programas intentando abrir el mismo puerto serie al mismo tiempo.

CaminoPara quién esQué configura el programa externo
Proxy rigctldProgramas que admiten Hamlib NET rigctl / rigctld.Se conectan al host y puerto del proxy de PoorSDR4All; no abren el puerto serie del uSDX.
Emulación TS-480Otros programas sin soporte rigctld que pueden hablar con una radio compatible mediante conexión de red.Se conectan al host/puerto del emulador y utilizan el subconjunto de comandos compatible.

La configuración típica no cambia el Modo de control

Para un uSDX conectado físicamente al PC de PoorSDR4All, lo normal es mantener Modo de control = direct y activar Proxy rigctld. El modo hamlib de PoorSDR4All sirve para otro escenario: cuando la propia aplicación debe llegar a la radio a través de un rigctld externo.

Programas compatibles con rigctld

  1. Configura primero el uSDX en PoorSDR4All hasta que frecuencia, modo y PTT funcionen.
  2. En Ajustes → Radio / CAT, deja Modo de control = direct.
  3. Activa Proxy rigctld.
  4. Si el cliente está en el mismo ordenador, usa 127.0.0.1 como host.
  5. Anota el puerto; el valor inicial es 4536.
  6. En el programa externo selecciona su opción de Hamlib NET rigctl, Network rigctl o equivalente y apunta al host/puerto de PoorSDR4All.
  7. No configures en ese programa el puerto serie físico del uSDX: el serial lo mantiene abierto PoorSDR4All.

Otros programas sin soporte rigctld

  1. Activa Emulador TS-480 en Ajustes → Radio / CAT.
  2. Configura su Host y Puerto; por defecto queda en 127.0.0.1:4532.
  3. En el programa externo utiliza su modo de radio/red compatible con Kenwood TS-480, siempre que admita una conexión TCP de este tipo.
  4. Recuerda que la emulación cubre el subconjunto implementado por PoorSDR4All; no convierte la aplicación en un TS-480 completo.

En ambos caminos, PoorSDR4All recibe los cambios del cliente, actualiza su estado y los aplica a la radio mediante su propio control CAT.

Usar WSJT-X con PoorSDR4All mediante el proxy rigctld

Éste es el método recomendado para usar WSJT-X con un uSDX controlado por PoorSDR4All. WSJT-X no compite por el puerto serie: PoorSDR4All conserva el CAT físico y WSJT-X se conecta por TCP al proxy rigctld.

Esquema de conexión

WSJT-X → Hamlib NET rigctl → 127.0.0.1:4536 → Proxy rigctld de PoorSDR4All → CAT → uSDX

El audio sigue otro camino: WSJT-X ↔ dispositivos de audio ↔ uSDX. rigctld no transporta sonido.

1. Comprueba primero PoorSDR4All

  1. Abre PoorSDR4All y comprueba que el uSDX está conectado por CAT.
  2. Cambia la frecuencia desde la consola y confirma que la radio la sigue.
  3. Cambia LSB/USB y confirma que el modo responde.
  4. Prueba el PTT desde PoorSDR4All y confirma que TX y RX funcionan antes de implicar a WSJT-X.

2. Configura el proxy en PoorSDR4All

Campo en Ajustes → Radio / CATValor típico para WSJT-X en el mismo PCPor qué
Modo de controldirectPoorSDR4All controla directamente el puerto CAT físico.
Proxy rigctldActivadoLevanta el servidor al que se conectará WSJT-X.
rigctld host127.0.0.1Limita la conexión al mismo ordenador.
rigctld puerto4536Es el puerto que debes repetir en WSJT-X.
Emulador TS-480No necesarioWSJT-X puede utilizar Hamlib NET rigctl directamente.

3. Configura WSJT-X

En WSJT-X abre File → Settings → Radio y configura el control así:

Configuración de radio de WSJT-X con Hamlib NET rigctl, servidor localhost 4536 y PTT mediante CAT.
WSJT-X configurado con Hamlib NET rigctl para conectarse al proxy rigctld de PoorSDR4All.
Campo en WSJT-XQué ponerExplicación
RigHamlib NET rigctlWSJT-X hablará con el proxy de PoorSDR4All en vez de abrir el uSDX directamente.
Network Server127.0.0.1:4536Usa exactamente el host y puerto configurados en PoorSDR4All.
Serial PortNo uses el puerto físico del uSDXEl puerto CAT real ya está abierto por PoorSDR4All.
Baud / Data / Stop bitsNo forman el enlace físico en este esquemaLa conexión entre WSJT-X y PoorSDR4All es TCP mediante rigctld.
PTT MethodCATLa orden de PTT viaja por el proxy y PoorSDR4All la aplica al uSDX mediante CAT.

No selecciones /dev/ttyUSB0 o COMx en WSJT-X si usas el proxy

Si WSJT-X abre directamente el puerto del uSDX mientras PoorSDR4All también intenta usarlo, uno de los dos fallará o tendrás un conflicto de control. El proxy existe precisamente para evitarlo.

4. Usa Test CAT y Test PTT

  1. Pulsa Test CAT en WSJT-X. Si funciona, la conexión TCP al proxy está operativa.
  2. Pulsa Test PTT durante el mínimo tiempo necesario y con la estación preparada. PoorSDR4All debe reflejar el estado y el uSDX debe pasar a TX mediante CAT.
  3. Si Test CAT falla, revisa Proxy rigctld, host, puerto, firewall local y que PoorSDR4All esté abierto.
  4. Si Test CAT funciona pero Test PTT falla, comprueba de nuevo que PTT funciona directamente desde PoorSDR4All y revisa la compatibilidad CAT de TX/RX del firmware.

5. Configura el audio en WSJT-X

En Settings → Audio de WSJT-X selecciona la entrada que recibe el audio del uSDX y la salida que alimenta el audio de transmisión. Si tu estación utiliza interfaces virtuales, selecciona esas interfaces. El proxy rigctld no lleva audio.

FlujoCamino
CAT / frecuencia / modo / PTTWSJT-X → proxy rigctld de PoorSDR4All → CAT → uSDX
Audio RX para decodificaruSDX o cadena de recepción → dispositivo de entrada → WSJT-X
Audio TXWSJT-X → dispositivo de salida → entrada de audio del uSDX

6. Para trabajar FT8

  1. Sincroniza con precisión el reloj del ordenador.
  2. Comprueba la banda y la frecuencia de trabajo.
  3. Verifica que WSJT-X recibe audio y que aparecen señales en su waterfall.
  4. Ajusta niveles para evitar saturación.
  5. Antes de transmitir, verifica CAT y PTT con las pruebas anteriores.
  6. Realiza el contacto desde WSJT-X. El panel Digi de PoorSDR4All puede servir como visor adicional, pero no sustituye la interfaz de operación de WSJT-X.
WSJT-X operando FT8 junto a la consola PoorSDR4All y la waterfall del modo digital.
Operación de FT8 desde WSJT-X con PoorSDR4All controlando el uSDX mediante el proxy rigctld.

WSJT-X en otro ordenador de la misma red

También puedes ejecutar WSJT-X en otro equipo de la LAN. En ese caso el proxy de PoorSDR4All debe escuchar en una dirección accesible desde esa red y WSJT-X debe usar IP_DEL_PC_POORSDR:PUERTO como Network Server. Hazlo sólo dentro de una red que controles y aplica firewall; no publiques rigctld directamente en Internet.

Problemas habituales con WSJT-X + PoorSDR4All

ProblemaQué comprobar
Test CAT falla inmediatamentePoorSDR4All abierto, Proxy rigctld activado, host/puerto correctos y puerto TCP no ocupado.
WSJT-X intenta abrir el COM/ttyHas seleccionado una radio serie normal en lugar de Hamlib NET rigctl.
CAT funciona pero PTT noPrueba PTT directamente en PoorSDR4All; revisa firmware y comandos CAT TX/RX.
La frecuencia cambia y vuelve atrásComprueba que no haya otro cliente controlando la misma estación y que no estés mezclando acceso serial directo con el proxy.
WSJT-X no decodificaEl proxy CAT no resuelve el audio: revisa reloj, frecuencia, entrada de sonido, nivel y señal.
WSJT-X conecta en el mismo PC pero no desde otroEl proxy probablemente escucha sólo en 127.0.0.1; revisa bind, firewall y dirección LAN.

↑ Volver al índice

Referencia CAT de PoorSDR4All para uSDX

El transporte CAT utiliza texto ASCII terminado en ;, serie 8N1, sin control de flujo y con lógica de timeout/reconexión.

FunciónComando
Consultar frecuenciaFA;
Fijar frecuenciaFA###########;
Consultar modoMD;
Fijar modoMDn;
Consultar estadoIF;
Consultar identificaciónID;
TransmitirTX;
RecibirRX;

38400 o 115200

38400 es la referencia del perfil genérico TS-480 del proyecto. 115200 se reserva para el perfil moderno de (tr)uSDX cuando su firmware lo requiere. El nombre “uSDX” por sí solo no basta para elegir la velocidad.

↑ Volver al índice

Plugins

PoorSDR4All descubre al arrancar extensiones instaladas como paquetes Python independientes. Se activan o desactivan una a una desde Ajustes → pestaña Plugins; el cambio se aplica al reiniciar la consola. El árbol distribuido incluye Filter Relays. Otras integraciones, como NMN1M, se publican e instalan por separado.

Nunca Más, Ni Una Más (NMN1M)

Es el cuaderno de estación y registro de QSO que puede aportar el botón «Log» a la consola. No se distribuye dentro del repositorio de PoorSDR4All: tiene su propio repositorio, licencia, documentación y ciclo de publicación. Instálalo por separado en el mismo entorno siguiendo la wiki oficial de NMN1M para que PoorSDR4All pueda descubrirlo.

Filter Relays

Selecciona por banda un banco remoto de filtros mediante relés controlados por WiFi. Añade la pestaña «Relés» a Ajustes solo si está instalado y activo.

Escribir tu propio plugin

Un plugin expone un objeto con id, name y un método register(ctx) que puede añadir un servicio en segundo plano, un botón en la consola y/o una pestaña entera en Ajustes:

class MiPlugin:
    id = "mi_plugin"
    name = "Mi plugin"

    def register(self, ctx):
        ctx.add_service(MiServicio(ctx.bus, ctx.config))
        ctx.add_console_button("mi_boton", "Etiqueta", self._abrir)
        ctx.add_settings_tab("Mi pestaña", (
            Field("mi_seccion", "algo", "Etiqueta del campo", "bool"),
        ))

    def shutdown(self):  # opcional
        ...

PLUGIN = MiPlugin()

Y en el pyproject.toml del plugin, el entry point que lo hace descubrible:

[project.entry-points."poorsdr.plugins"]
mi_plugin = "mi_paquete.plugin:PLUGIN"

Sin ningún plugin instalado, la consola funciona exactamente igual — el sistema de plugins es puramente aditivo.

Dónde guarda PoorSDR4All la configuración y cómo hacer copia

ElementoLinuxWindows
Configuración~/.config/poorsdr/%APPDATA%\poorsdr
Datos~/.local/share/poorsdr/%LOCALAPPDATA%\poorsdr
Caché~/.cache/poorsdr/Según componentes/runtime
ArchivoFunción
config.jsonConfiguración principal.
layout.jsonPosiciones/layout de interfaz.
memory.jsonMemorias locales.
poorsdr.logLog principal.
cat_runtime.logDiagnóstico CAT.
waterfall_state.jsonEstado/geometría del visor waterfall.
digi_state.jsonEstado/geometría del visor Digi.

Para una copia de seguridad limpia, detén PoorSDR4All y OpenWebRX+, copia los directorios de configuración y datos y protege esas copias: pueden contener hashes, rutas locales o claves de servicios configurados por ti.

Flujos de trabajo recomendados

Operar SSB

  1. Conecta CAT.
  2. Selecciona banda.
  3. Elige LSB o USB.
  4. Selecciona Radio o SDR.
  5. Ajusta volumen.
  6. Activa ANR sólo si ayuda.
  7. Sintoniza.
  8. Ajusta ganancia TX.
  9. PTT.
  10. Vuelve a RX y verifica.

Recibir con SDR y transmitir con uSDX

  1. Arranca OpenWebRX+.
  2. Pulsa OWRX.
  3. Selecciona RX = SDR.
  4. Elige banda.
  5. Busca actividad en waterfall.
  6. Haz clic/sintoniza.
  7. Transmite con el uSDX cuando corresponda.

Trabajar FT8 con WSJT-X

El flujo correcto es: PoorSDR4All conserva el puerto CAT del uSDX y WSJT-X se conecta al proxy rigctld. No conectes WSJT-X directamente al mismo puerto serie.

  1. Sincroniza el reloj del ordenador.
  2. Comprueba que PoorSDR4All controla frecuencia, modo y PTT del uSDX.
  3. Activa Proxy rigctld; para el mismo PC, usa normalmente 127.0.0.1:4536.
  4. En WSJT-X selecciona Hamlib NET rigctl y usa ese host/puerto como Network Server.
  5. Pon PTT Method = CAT y ejecuta Test CAT / Test PTT.
  6. Configura aparte la entrada y salida de audio de WSJT-X.
  7. Opera FT8 desde WSJT-X. Digi y OpenWebRX+ pueden seguir abiertos como apoyo visual.

Consulta el procedimiento completo en Usar WSJT-X con PoorSDR4All mediante el proxy rigctld.

Crear una memoria

  1. Sitúate en frecuencia/modo deseados.
  2. Abre Mem.
  3. Pon un nombre.
  4. Guarda.
  5. Recupérala más tarde para volver a sintonizar.

Solución de problemas uSDX + PoorSDR4All

SíntomaQué revisar
PoorSDR4All no iniciaPython 3.11+, Tkinter y dependencias instaladas.
El uSDX no aparece en Puerto CATCable de datos, driver, /dev/ttyUSB*//dev/ttyACM* o puerto COM.
Permission denied en LinuxGrupo serie de la distribución (dialout, uucp, etc.) y nueva sesión.
Puerto ocupadoOtro rigctld, WSJT-X/flrig abriendo serial directamente, terminal serie u otra instancia.
WSJT-X: Test CAT fallaComprueba que Proxy rigctld esté activado, que WSJT-X use Hamlib NET rigctl, que Network Server coincida con host:puerto y que PoorSDR4All esté ejecutándose.
WSJT-X: Test CAT funciona pero Test PTT fallaVerifica primero PTT desde PoorSDR4All y después la compatibilidad CAT de TX/RX del firmware.
WSJT-X en otro PC no conecta al proxy127.0.0.1 sólo acepta el propio equipo. Revisa dirección de escucha, IP LAN y firewall; no expongas rigctld a Internet.
CAT abre pero no cambia frecuenciaPerfil, baud, firmware, cable y cat_runtime.log.
PTT por CAT no funcionaConfirma primero frecuencia y modo por CAT; después revisa perfil, velocidad, firmware y comandos TX/RX compatibles.
La radio queda en TXDetén TX desde la propia radio y no continúes hasta revisar la comunicación CAT y el estado TX/RX.
No se oye audioFuente RX, endpoint de entrada, altavoz, volumen y bloqueo del dispositivo.
Audio entrecortadoFrecuencia de muestreo, canales, carga de CPU y backend de audio.
ANR empeora la señalReduce intensidad o desactívalo.
OpenWebRX no abreHost/puerto, servicio y nombres de perfiles.
Waterfall en banda incorrectaMapa banda→perfil y nombres reales de OpenWebRX+.
RTL-SDR no recibe HFDriver, direct sampling/upconverter/offsets según el receptor real.
Digi vacíoSeñal, decodificador, audio/demodulación del backend y modo seleccionado.
FT8 no decodificaReloj, frecuencia, señal, ancho de banda y decodificadores instalados.
No aparecen spotsFuente MQTT/Telnet, red, credenciales y filtros.
Servidor web no arrancaExtra web, puerto, usuario/contraseña y secreto de firma.
Web sólo funciona en localhostEs normal con bind 127.0.0.1; cambiarlo implica una decisión de red y seguridad.
Configuración dañadaHaz copia de config.json, renómbralo y deja que PoorSDR4All genere una configuración limpia.
Memorias dañadasRetirar memory.json elimina la lista local; no modifica la radio.

Comandos rápidos de diagnóstico en Linux

python --version
python -c "import tkinter"
ls -l /dev/serial/by-id/
ls -l /dev/ttyUSB* /dev/ttyACM* 2>/dev/null

Preguntas frecuentes sobre uSDX y PoorSDR4All

¿Qué es PoorSDR4All?

La consola de operación desarrollada por Acuántico Power para trabajar con radios de la familia uSDX desde el PC, integrando CAT, audio, recepción SDR, waterfall, modos digitales, spots, memorias, macros e interfaces externas.

¿PoorSDR4All es software oficial del proyecto uSDX?

No. Es un proyecto independiente de Acuántico Power, diseñado específicamente alrededor de la operación con uSDX y variantes compatibles.

¿Qué software puedo usar para controlar un uSDX desde el PC?

Cualquier programa que entienda el subconjunto CAT compatible puede controlar determinadas funciones. PoorSDR4All está planteado como consola completa alrededor del uSDX, no sólo como cliente CAT.

¿Funciona con (tr)uSDX?

Existe un perfil específico a 115200 para firmware moderno de (tr)uSDX. En la Alpha actual la validación física amplia de ese perfil sigue pendiente.

¿Qué velocidad CAT debo usar: 38400 o 115200?

Depende de tu firmware. El perfil genérico TS-480 del proyecto usa 38400; el perfil moderno de (tr)uSDX usa 115200 cuando corresponde.

¿Necesito Hamlib?

No para el modo directo. Hamlib/rigctld es una integración avanzada para arquitecturas de estación con software externo.

¿Puedo usar WSJT-X?

Sí. La configuración recomendada es que PoorSDR4All mantenga el puerto CAT físico y que WSJT-X seleccione Hamlib NET rigctl apuntando al proxy de PoorSDR4All, normalmente 127.0.0.1:4536. El audio se configura aparte en WSJT-X. Consulta la guía paso a paso.

¿PoorSDR4All decodifica FT8?

Digi presenta las decodificaciones disponibles en el backend instalado. Con el decodificador de FT8 activo, muestra sus tramas mientras la operación del contacto se realiza desde WSJT-X.

¿Necesito OpenWebRX+?

Puedes utilizar parcialmente PoorSDR4All sin OpenWebRX+ para el control CAT básico, el audio de la radio, las memorias y otras funciones de consola. No obstante, OpenWebRX+ es fundamental para la propuesta del proyecto y resulta necesario para la experiencia completa de recepción SDR, waterfall, espectro, S-meter y funciones asociadas al backend.

¿Necesito un segundo SDR?

Para la experiencia completa necesitas un receptor SDR compatible con OpenWebRX+ que pueda recibir HF y tenga una antena adecuada conectada. Puede estar en el mismo ordenador o conectado a un servidor OpenWebRX+ remoto; el CAT básico del uSDX no genera por sí solo la waterfall.

¿Puedo conectar el SDR y el uSDX a la misma antena?

Sí, y es la configuración ideal, pero sólo mediante un conmutador automático de antena RX/TX que aísle el SDR antes de transmitir. No conectes directamente ambas entradas a la misma antena ni confíes esa protección a un divisor pasivo común: la energía transmitida puede dañar el frontal del receptor SDR.

¿Puedo escuchar el receptor del propio uSDX?

Sí. Selecciona la fuente RX Radio y configura el endpoint de audio recibido desde el transceptor.

¿Puedo recibir con SDR y transmitir con uSDX?

Sí; es uno de los flujos principales de PoorSDR4All: recepción visual con OpenWebRX+/SDR y transmisión/control con el uSDX.

¿El S-meter es el del uSDX?

No. Se deriva del nivel dBFS del flujo OpenWebRX+, no del CAT del uSDX. Por defecto es relativo y se autocalibra con el ruido de fondo; cada usuario puede elegir en qué unidad S se representa su QRM ambiente. También puede utilizar una escala fija referenciada a S9 si se calibra con una señal conocida y se mantiene fija la ganancia del SDR.

¿Puede leer SWR o potencia del uSDX?

No mediante el subconjunto CAT implementado en esta versión Alpha.

¿Programa las memorias internas del uSDX?

No. Mantiene memorias locales y sintoniza la radio al recuperarlas.

¿Funciona en Windows?

Existe soporte Python para Windows 10/11, considerado experimental. OpenWebRX+ debe ser remoto o ejecutarse en WSL2.

¿Funciona en Raspberry Pi?

Hay instalación prevista para Raspberry Pi OS 64-bit/arm64, pero la validación física amplia sigue pendiente.

¿Funciona en macOS?

No se anuncia como plataforma soportada o verificada en esta Alpha.

¿Dónde guarda la configuración?

En directorios del usuario: XDG en Linux y APPDATA/LOCALAPPDATA en Windows.

¿Qué licencia tiene?

El código original de Acuántico Power es source-available bajo PolyForm Noncommercial License 1.0.0. Los componentes de terceros mantienen sus propias licencias.

Glosario uSDX / PoorSDR4All

TérminoSignificado
ANRReducción de ruido aplicada al audio RX.
CATControl digital del transceptor mediante comandos.
COMNombre habitual de un puerto serie en Windows.
dBFSNivel digital relativo al máximo representable.
DigiVisor de actividad/modos digitales de PoorSDR4All.
DSPProcesamiento digital de señal.
FFTTransformación utilizada para representar energía por frecuencia.
FT8Modo digital muy usado en HF.
HamlibBiblioteca/ecosistema de control de equipos de radio.
LSB / USBBanda lateral inferior / superior.
MQTTProtocolo de mensajería usado aquí como una fuente de spots.
OpenWebRX+ / OWRXServidor receptor SDR externo coordinado por PoorSDR4All.
PTTPush To Talk: paso de recepción a transmisión.
rigctldServidor de Hamlib que expone control de radio por red.
RTL-SDRFamilia de receptores SDR USB.
RX / TXRecepción / transmisión.
S-meterIndicador de nivel; en PoorSDR4All se deriva del SDR.
Spot DXAviso de una estación activa en una frecuencia.
uSDXFamilia/proyecto de transceptor QRP definido en gran parte por software.
VFOControl de la frecuencia de trabajo.
WaterfallRepresentación temporal del espectro, también llamada cascada.

Seguridad

  • El servidor web remoto está apagado por defecto y se niega a arrancar sin contraseña y secreto de firma configurados.
  • No expongas directamente a Internet los puertos CAT, rigctld, spiderd ni OpenWebRX.
  • Solo la versión más reciente recibe correcciones de seguridad. OpenWebRX+, csdr, pycsdr, owrx_connector, SpeexDSP y demás proyectos externos mantienen sus propios canales.
  • ¿Encontraste una vulnerabilidad? No publiques detalles explotables en una incidencia pública: usa el canal privado Security advisories del repositorio de GitHub, o el formulario de contacto de Acuántico Power indicando «PoorSDR4All security». Incluye versión afectada, plataforma, impacto y pasos mínimos para reproducirlo.

↑ Volver al índice

Arquitectura, para quien quiera contribuir

PoorSDR4All está organizado en capas para separar la interfaz, la lógica de radio, la configuración y los servicios externos. Esta estructura permite trabajar en una parte del programa sin mezclarla con todas las demás.

poorsdr/
  infra/      rutas de usuario, logging y EventBus
  config/     modelo de configuración y persistencia
  core/       lógica de CAT, bandas, sintonía, memoria, waterfall y S-meter
  services/   radio, audio, OpenWebRX+, web, memorias e integraciones
  ui/         consola principal y ventana de Ajustes
  viewers/    waterfall y panel Digi
  i18n/       recursos de idioma
  runtime.py  composición y arranque de la aplicación

Los servicios se coordinan mediante un EventBus. De esta forma, un cambio de frecuencia, modo, PTT, memoria o estado de OpenWebRX+ puede propagarse a las partes que lo necesitan sin que la interfaz tenga que controlar directamente cada componente.

Al guardar Ajustes, la configuración se persiste y los servicios afectados se reconfiguran. Cuando un cambio requiere reiniciar internamente un dispositivo de audio, un socket o una conexión, el servicio correspondiente puede hacerlo sin obligar al usuario a cerrar toda la aplicación.

El repositorio incluye pruebas automatizadas y comprobaciones estáticas para reducir regresiones. Aun así, las pruebas de software no sustituyen la validación con radios, interfaces de audio y receptores SDR reales.

Cómo contribuir

Los informes de errores y propuestas se aceptan sin formalidades en el gestor de incidencias de GitHub. Para que código, documentación o recursos se incorporen al proyecto:

  1. Abre una incidencia describiendo los cambios grandes antes de implementarlos.
  2. Mantén cada contribución enfocada, con pruebas cuando proceda.
  3. Confirma en el pull request que has leído y aceptas la versión vigente del CLA (acuerdo de licencia de colaborador) — el mantenedor debe poder acreditar esa aceptación antes de fusionar nada.
  4. Declara expresamente cualquier código, dato o recurso de terceros: origen, versión y licencia.
  5. No incluyas claves, certificados privados, credenciales, logs ni datos de usuarios reales.

El CLA permite a Acuántico Power incluir tu contribución tanto en la edición no comercial como en la comercial — pero conservas el copyright de tu propia aportación. Las modificaciones sobre componentes GPL o AGPL se envían por separado y mantienen la licencia de ese componente: el CLA de PoorSDR4All no relicencia código de terceros. Las aportaciones hechas por cuenta de una empresa requieren autorización de esa empresa; el mantenedor puede pedir un acuerdo corporativo adicional.

Entorno de desarrollo

python -m pip install -e ".[dev,web]"
ruff check src tests
mypy src
pytest -q

Licencia

El código original de PoorSDR4All se ofrece bajo PolyForm Noncommercial License 1.0.0. Es código fuente disponible (source-available), no software de código abierto aprobado por la OSI: puedes usarlo, modificarlo y distribuirlo para fines no comerciales, pero el uso comercial requiere un acuerdo separado.

Algunos componentes y datos conservan sus propias licencias — AGPL, GPL, BSD, MIT, CC-BY o dominio público (OpenWebRX+, csdr, pycsdr, owrx_connector, owrx-spider, SpeexDSP, GeoNames, Natural Earth, flag-icons…). Las revisiones exactas, cambios, atribuciones y textos completos están en THIRD_PARTY_NOTICES.md y en el directorio LICENSES/ del repositorio.

Para uso comercial, contacta con Acuántico Power a través del formulario de contacto. Una licencia comercial de PoorSDR4All solo puede conceder derechos sobre el código cuyos derechos controla Acuántico Power: no convierte los componentes GPL o AGPL en software propietario ni elimina la obligación de proporcionar su código fuente cuando corresponda.

Registro de cambios

1.0.0a1 — Alpha inicial

Primera versión pública de PoorSDR4All.

  • Consola de operación para uSDX con control CAT de frecuencia, modo y PTT.
  • Gestión de audio RX/TX y selección de recepción desde Radio o SDR.
  • Integración con OpenWebRX+ para waterfall, espectro, S-meter autocalibrado con suelo de ruido configurable o referenciado a S9, perfiles de banda y sintonía coordinada.
  • Panel Digi para los decodificadores disponibles en el entorno instalado.
  • Spots / DX Cluster mediante MQTT o Telnet.
  • Memorias locales, autollamadas y atajos configurables.
  • Servidor web opcional y capas de integración para software externo.
  • Sistema de plugins independiente del núcleo.
  • Temas visuales y configuración centralizada.
  • Instalación en Linux y soporte experimental en Windows 10/11.
  • Pruebas automatizadas, análisis estático y proceso de construcción reproducible.

El historial completo de versiones se mantiene en CHANGELOG.md dentro del repositorio.

Otras herramientas del laboratorio

PoorSDR4All forma parte de un recorrido práctico por el laboratorio de radio de Acuántico Power: empieza por El primer equipo de radioaficionado, utiliza NMN1M para registrar los contactos o consulta IRCB si necesitas una interfaz de audio y PTT para otro transceptor. Otros proyectos son aprStar y Hamlib Launcher.

El uSDX sigue siendo pequeño; la estación ya no tiene por qué sentirse pequeña

El atractivo del uSDX está precisamente en su filosofía: mucho resultado con muy poco hardware. Pero esa simplicidad tiene un coste cuando cada cambio de banda, modo, paso o ajuste obliga a volver al mismo menú y al mismo encoder.

PoorSDR4All nació para resolver esa parte de la experiencia. No añade vatios, no mejora mágicamente los filtros de RF y no convierte el transceptor en otro equipo. Utiliza el ordenador para poner alrededor de la radio lo que el frontal no puede ofrecer cómodamente: control CAT inmediato, audio gestionado, una visión SDR de la banda, waterfall, spots, modos digitales, memorias, autollamadas, atajos e integraciones.

Que el uSDX conserve la sencillez que lo hace interesante, pero que usarlo desde el PC se sienta mucho más cerca de trabajar con una estación SDR completa.

PoorSDR4All es un proyecto propio de Acuántico Power. Esta Alpha se publica para que pueda utilizarse, probarse con más variantes de uSDX y mejorar con informes reproducibles de la comunidad.

PoorSDR4All

Código fuente y documentación del proyecto PoorSDR4All de Acuántico Power.

Versión
1.0.0a1 · Alpha
Plataforma
Linux · Raspberry Pi OS 64-bit · Windows 10/11 experimental

↑ Volver al índice