PoorSDR4All para uSDX: una experiencia SDR mucho más completa desde el PC
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.

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.

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.
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
| Elemento | Qué debes hacer |
|---|---|
| Objetivo | Conseguir que PoorSDR4All lea y cambie la frecuencia y el modo de la radio. |
| Necesitas | El 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. |
| Ajustes | Ajustes → Radio / CAT: selecciona puerto, perfil y velocidad. |
| Comprobación | Cambia unos pocos pasos de frecuencia y después USB/LSB. La consola y la radio deben seguirse. |
| Si falla | Revisa puerto, permisos, cable, velocidad y si otro programa está ocupando el serial. |
2. Preparar la recepción
| Elemento | Qué debes hacer |
|---|---|
| Objetivo | Escuchar sin enviar audio accidentalmente al transmisor. |
| Necesitas | La salida de audio del uSDX o un receptor SDR/OpenWebRX+. |
| Ajustes | En Ajustes → Audio, asigna altavoz, micrófono y los endpoints de radio. En la consola selecciona Radio o SDR. |
| Comprobación | Sintoniza una señal conocida, empieza con volumen bajo y súbelo gradualmente. |
| Si falla | Verifica el endpoint real, frecuencia de muestreo, fuente RX y que otra aplicación no tenga bloqueado el dispositivo. |
3. Sintonizar una señal
- Elige BAND para saltar a una banda.
- 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.
- Selecciona el paso de sintonía.
- Mueve el VFO con rueda, teclado, cursores o controles de canal; para frecuencia exacta, edita el display.
- 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.
- Arranca o conecta OpenWebRX+.
- Pulsa OWRX.
- Selecciona la fuente de recepción SDR si quieres escuchar ese flujo.
- Cambia de banda y comprueba que la waterfall sigue el perfil correspondiente.
- 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.
- Configura el micrófono del PC y la salida de audio hacia la radio.
- Baja la Ganancia / Micrófono antes de empezar.
- Acciona PTT durante un instante y comprueba el estado TX.
- Suelta PTT y confirma que la radio vuelve a RX.
- 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.
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.
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ón | Qué hace |
|---|---|
| Radio / CAT | Control de frecuencia, modo y PTT mediante CAT. |
| rigctld + emulación TS-480 | Permite 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-meter | Se 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. |
| Audio | Enrutado independiente de altavoz/micrófono del PC y de la radio, con reducción de ruido (ANR) opcional. |
| Modos digitales | Visor 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 DX | Spots por MQTT o telnet, con duración configurable en la cascada. |
| Servidor web remoto | Apagado por defecto; exige contraseña y secreto de firma antes de arrancar. |
| Autollamada | Hasta 10 macros de audio (repeticiones + intervalo) asignables a los 4 botones de autollamada de la consola. |
| Atajos de teclado | 30 acciones de la consola, cada una asignable a la tecla que quieras. |
| Temas | 6 paletas de color: Executive, Devil Power, Bannana Cream, Acid Jungle, Mizuno Night y Fresh Squishee. |
| Bandas | 160 m a 10 m, incluida 11 m (CB) y 60 m. |
| Plugins | Filter 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. |
| Idiomas | Cadenas 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.
| Área | Sí hace | No debe interpretarse como |
|---|---|---|
| CAT | Lee/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 / waterfall | Coordina OpenWebRX+, perfiles de banda, waterfall, espectro y sintonía. | Una waterfall generada por el CAT básico del uSDX. |
| S-meter | Deriva 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. |
| Digi | Muestra decodificaciones disponibles en el entorno de OpenWebRX+/WSJT-X. | Decodificador universal autónomo incluido dentro del ejecutable. |
| Memorias | Guarda y recupera memorias locales. | Programación de la EEPROM o memorias internas del uSDX. |
| Seguridad | Incluye 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.
Compatibilidad con uSDX, (tr)uSDX y sistemas operativos
| Perfil | Uso previsto | Baud | PTT | Estado |
|---|---|---|---|---|
custom | Configuración manual | Configurable | CAT | Predeterminado |
generic-ts480 | uSDX/(tr)uSDX con dialecto TS-480 común | 38400 | CAT | Perfil de referencia del proyecto |
trusdx-115200 | (tr)uSDX con firmware moderno | 115200 | CAT | Implementado; validación física amplia aún pendiente |
| Plataforma | Estado de la Alpha | Alcance |
|---|---|---|
| Arch Linux x86-64 | Validación funcional del mantenedor | Plataforma principal |
| Debian/Ubuntu x86-64 y arm64 | Compilación y pruebas automatizadas | Pendiente de validación con más hardware real |
| Raspberry Pi OS 64-bit | Instalación prevista sobre arm64 | Pendiente de validación física amplia |
| Windows 10/11 x86-64 | Experimental | CAT/audio Python; OpenWebRX+ remoto o WSL2 |
| macOS | No anunciado como plataforma soportada | No 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.
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:
| Plataforma | Estado de la Alpha | Alcance |
|---|---|---|
| Arch Linux x86-64 | Validación funcional del mantenedor | Plataforma principal |
| Debian/Ubuntu x86-64 y arm64 (incl. Raspberry Pi OS 64-bit) | Compilación y pruebas automatizadas | Pendiente de validación con hardware real |
| Windows 10/11 x86-64 | Paquete Python, pruebas y acelerador C en CI | Experimental; 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.
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:
| Variable | Efecto |
|---|---|
SKIP_OWRX_BUILD=1 | No compila/instala OpenWebRX+ (solo la consola). |
SKIP_SPIDER=1 | No instala owrx-spider (cluster DX). |
INSTALL_WEB_EXTRAS=1 | Instala también las dependencias del servidor web remoto. |
OWRX_BUILD_JOBS=4 | Paralelismo de la compilación (ajusta al número de núcleos). |
RESET_OWRX_CONFIG=1 | Antes 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:
| Linux | Windows | |
|---|---|---|
| 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.
- Conecta el cable CAT con la radio apagada. Si utilizarás audio físico, conecta también entrada y salida de audio.
- Enciende el uSDX y abre PoorSDR4All. Puedes ejecutar
poorsdropython -m poorsdr. - Abre Ajustes → Radio / CAT. Selecciona el puerto real. En Linux será normalmente
/dev/ttyUSB*o/dev/ttyACM*; en Windows, unCOM. - Selecciona perfil y velocidad. Usa los valores de tu firmware; no copies los de una captura de otra instalación.
- Guarda y verifica frecuencia/modo. Si el dial no sigue a la consola, detente aquí y resuelve CAT.
- Configura Ajustes → Audio. Asigna los cuatro roles de audio y empieza con niveles bajos.
- Elige Radio o SDR. Radio escucha la entrada física; SDR usa el flujo de OpenWebRX+.
- Comprueba recepción. Sintoniza una señal conocida y confirma frecuencia, modo y audio.
- Configura OWRX si quieres waterfall/espectro/Digi.
- 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.
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.
| Control | Qué hace | Cuándo lo usarás |
|---|---|---|
| WEB OFF / WEB ON | Activa o detiene el servidor web opcional. | Cuando quieras control desde otro navegador/equipo. |
| EDIT | Activa 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. |
| Ajustes | Abre todas las pestañas de configuración. | CAT, audio, OWRX, web, interfaz, autollamada, atajos y plugins. |
| S-meter | Indicador derivado del flujo SDR/dBFS, con autocalibración o escala fija opcional. | Comparar señales o realizar lecturas referenciadas después de calibrarlo. |
| ANR | Activa/desactiva reducción de ruido. | Mejorar inteligibilidad cuando el filtro ayuda. |
| Tune | Genera un tono de prueba y utiliza la cadena TX. | Ajustes y comprobaciones breves, con sistema de antena preparado. |
| Miniwaterfall | Vista compacta de actividad alrededor de la frecuencia. | Ver rápidamente dónde hay energía sin abrir el visor grande. |
| Frecuencia | Display/editor del VFO. | Sintonía exacta desde teclado, rueda o cursores. |
| Paso | Define cuánto cambia el VFO por movimiento. | Pasar de barrido rápido a ajuste fino sin entrar en menús. |
| Ganancia / Micrófono | Nivel de la cadena TX. | Ajustar audio transmitido sin saturar. |
| Volumen / Altavoz | Nivel de escucha RX. | Ajustar recepción. |
| OWRX | Abre/cierra la experiencia SDR vinculada a OpenWebRX+. | Waterfall, espectro, S-meter y seguimiento de banda. |
| Spots | Abre filtros/opciones de spots. | Ver actividad DX sobre la cascada. |
| Digi | Abre/cierra el visor digital. | FT8 y otros decodificadores disponibles. |
| Radio / SDR | Elige 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. |
| PTT | Conmuta RX/TX. | Transmisión manual. |
| BAND | Cambia banda/preset y puede coordinar el perfil OWRX. | Saltar de 40 m a 20 m sin recorrer menús. |
| MODE | Recorre LSB, USB, CW, FM y AM según la operación. | Cambiar de modo de forma directa. |
| 1 · 2 · 3 · 4 | Accesos a cuatro autollamadas asignadas. | Llamadas repetitivas o macros de audio. |
| Mem | Abre memorias locales. | Guardar/recuperar frecuencias y modos. |
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.
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

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.
| Ajuste | Para qué sirve | Cómo usarlo | Valor inicial / nota |
|---|---|---|---|
| Puerto CAT | Puerto 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 radio | Aplica 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. |
| Baudios | Velocidad 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 control | Define 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 rigctld | Activa 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 host | Direcció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 puerto | Puerto 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-480 | Activa 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. |
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

| Ajuste | Para qué sirve | Qué debes seleccionar | Nota |
|---|---|---|---|
| Fuente RX | Selecciona 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

| Ajuste | Para qué sirve | Cómo configurarlo | Valor inicial / nota |
|---|---|---|---|
| OWRX habilitado | Activa o desactiva toda la integración con OpenWebRX+. | Desactívalo si sólo quieres usar PoorSDR4All como consola CAT/audio sin backend SDR. | Activado. |
| Host | Direcció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. |
| Puerto | Puerto 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. |
| Runtime | Indica cómo está desplegado OpenWebRX+. | native para la instalación local gestionada como servicio; docker cuando OWRX está en contenedor. | native. |
| Abrir cascada al iniciar | Decide 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 app | Controla 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 calibrado | Selecciona 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
| Ajuste | Para qué sirve | Cómo configurarlo | Valor 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. |
| Fuente | Elige de dónde llegan los spots. | mqtt usa broker/topics; telnet usa un cluster DX clásico. | mqtt. |
| MQTT URL | Direcció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 topics | Topics a los que se suscribe el cliente. | Escribe los topics separados por comas. | Lista preconfigurada en la plantilla. |
| MQTT usuario | Usuario del broker. | Déjalo vacío si no se exige autenticación. | Vacío. |
| MQTT contraseña | Contraseña del broker. | Déjala vacía si no hace falta. | Vacío. |
| Telnet host | Servidor del cluster DX por Telnet. | Introduce el host del cluster que utilices. Sólo se usa con Fuente = Telnet. | Vacío. |
| Telnet puerto | Puerto TCP del cluster Telnet. | Usa el puerto publicado por el cluster. | 7300. |
| Telnet indicativo | Indicativo con el que te identificas. | Escribe tu indicativo cuando el servicio lo requiera. | Vacío. |
| Telnet contraseña | Contraseñ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
| Ajuste | Para qué sirve | Cómo configurarlo | Valor inicial / nota |
|---|---|---|---|
| Servidor web | Habilita el panel de control remoto. | Actívalo cuando hayas configurado una contraseña y necesites acceder desde un navegador. | Desactivado. |
| Host | Direcció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. |
| Puerto | Puerto TCP del panel web. | Conserva 8080 salvo que esté ocupado o necesites asignar otro. | 8080. |
| Permitir WAN | Permite 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ático | Genera 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. |
| Usuario | Nombre de usuario del panel web. | Puedes conservarlo o sustituirlo por otro. | admin. |
| Contraseña | Protege 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
| Ajuste | Para qué sirve | Opciones / uso | Valor inicial |
|---|---|---|---|
| Idioma | Selecciona 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. |
| Tema | Cambia 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 defecto | Modo con el que arranca la consola. | Opciones: LSB, USB, CW, FM y AM. | USB. |


Autollamada — los 10 perfiles y los 4 botones de la consola
| Control | Para qué sirve | Cómo se usa |
|---|---|---|
| # 1…10 | Nú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. |
| Nombre | Etiqueta para reconocer la macro. | Escribe un nombre útil. No se envía a la radio. |
| Audio | Archivo 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 1 | Asigna una macro al primer botón circular. | Elige 1–10 o “sin asignar”. |
| Botón 2 | Asigna una macro al segundo botón. | Elige 1–10 o “sin asignar”. |
| Botón 3 | Asigna una macro al tercer botón. | Elige 1–10 o “sin asignar”. |
| Botón 4 | Asigna 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

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ón | Qué hace | Tecla inicial |
|---|---|---|
| PTT | Conmuta RX/TX mediante el PTT CAT de PoorSDR4All. | Space |
| Tono de Tune | Ejecuta 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 siguiente | Pasa al siguiente modo disponible. | Sin asignar |
| Modo anterior | Pasa al modo anterior. | Sin asignar |
| Banda siguiente | Pasa a la siguiente banda. | Next / Av Pág |
| Banda anterior | Vuelve a la banda anterior. | Prior / Re Pág |
| Paso siguiente | Selecciona el siguiente paso de sintonía. | Sin asignar |
| Paso anterior | Selecciona el paso anterior. | Sin asignar |
| ANR on/off | Activa 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: Radio | Cambia la recepción a la entrada física del uSDX. | Sin asignar |
| Fuente RX: SDR | Cambia la recepción al flujo SDR/OpenWebRX+. | Sin asignar |
| Spots (menú) | Abre el menú/filtros de spots. | s |
| Digi on/off | Abre o cierra el visor Digi. | d |
| OpenWebRX (cascada) | Abre o cierra la waterfall. | c |
| Nunca Más, Ni Una Más | Sólo está disponible si se ha instalado por separado el proyecto/plugin NMN1M. Abre su libro de guardia cuando PoorSDR4All lo detecta. | l |
| Memorias | Abre la ventana de memorias. | m |
| Autollamada 1 | Dispara el primer acceso de autollamada. | 1 |
| Autollamada 2 | Dispara el segundo acceso de autollamada. | 2 |
| Autollamada 3 | Dispara el tercer acceso de autollamada. | 3 |
| Autollamada 4 | Dispara el cuarto acceso de autollamada. | 4 |
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
| Elemento | Qué significa |
|---|---|
| PoorSDR4All | Nombre del programa. |
| Versión | Indica la versión visible de la aplicación; en esta documentación, Alpha 1.0 / paquete 1.0.0a1. |
| Autor | Identifica a Acuántico Power como autor del proyecto. |
| acuanticopower.com/poorsdr4all | Enlace a la página oficial del proyecto. |
| Licencia | Abre la información de licencia de PoorSDR4All. |
| Agradecimientos | Bloque informativo del proyecto; no modifica ninguna opción. |
| Ko-fi | Enlace 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:
| Ajuste | Para qué sirve | Valor inicial / nota |
|---|---|---|
| Relés WiFi | Activa el control de la placa de relés por banda. | Desactivado. |
| URL del ESP | Dirección HTTP de la placa que conmuta los relés. | Vacío hasta configurar tu hardware. |
| API key | Clave 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. |
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 UI | Incremento |
|---|---|
| 0.01 kHz | 10 Hz |
| 0.1 kHz | 100 Hz |
| 0.5 kHz | 500 Hz |
| 1 kHz | 1.000 Hz |
| 5 kHz | 5.000 Hz |
| 10 kHz | 10.000 Hz |
| 100 kHz | 100.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 CAT | Modo |
|---|---|
| 1 | LSB |
| 2 | USB |
| 3 | CW |
| 4 | FM |
| 5 | AM |
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
- Confirma primero que frecuencia y modo funcionan por CAT.
- Revisa el firmware y los comandos TX/RX compatibles.
- Comprueba que el firmware de tu radio admite correctamente las órdenes CAT de TX y RX utilizadas por PoorSDR4All.
- 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.

- 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.
- Deja S-metro calibrado desactivado.
- Sintoniza una zona de la banda sin señales presentes y deja que PoorSDR4All siga el ruido de fondo.
- 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.
- En Ajustes → OWRX → Suelo de ruido (S), introduce la unidad correspondiente, entre S0 y S9.
- 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.
- 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á enassets/owrx/settings.json. El campo del perfil esrf_gain. - 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. - Sintoniza la señal de referencia y anota el valor exacto en dBFS que muestra OpenWebRX+.
- Abre Ajustes → OWRX, escribe esa lectura en S9 de referencia (dBFS) y activa S-metro calibrado.
- 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

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ón | Acción |
|---|---|
| PTT | Tune |
| VFO + | VFO − |
| Canal + | Canal − |
| Modo siguiente | Modo anterior |
| Banda siguiente | Banda anterior |
| Paso siguiente | Paso anterior |
| ANR on/off | ANR intensidad + / − |
| Volumen + | Volumen − |
| Ganancia TX + | Ganancia TX − |
| Fuente RX: Radio | Fuente RX: SDR |
| Spots | Digi on/off |
| OpenWebRX / cascada | Memorias / 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)
- Servidor web: actívalo.
- Usuario: el valor inicial es
admin; puedes cambiarlo. - 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.
- Host: conserva
127.0.0.1si el panel sólo debe estar disponible en el propio equipo. Para acceder desde un móvil u otro ordenador de la misma LAN, usa0.0.0.0, que escucha en todas las interfaces. - Puerto: el valor inicial es
8080. - 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.
- HTTPS automático: actívalo para que PoorSDR4All genere un certificado autofirmado y sirva el panel mediante
https://. Si lo desactivas y no configurasssl_certyssl_keymanualmente, el panel se sirve mediantehttp://.
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
- 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
- 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:localhosty127.0.0.1sólo sirven desde ese mismo ordenador. - 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.
- Inicia sesión con el usuario y la contraseña configurados en Ajustes → Web.
- 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.
| Camino | Para quién es | Qué configura el programa externo |
|---|---|---|
| Proxy rigctld | Programas 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-480 | Otros 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
- Configura primero el uSDX en PoorSDR4All hasta que frecuencia, modo y PTT funcionen.
- En Ajustes → Radio / CAT, deja Modo de control = direct.
- Activa Proxy rigctld.
- Si el cliente está en el mismo ordenador, usa
127.0.0.1como host. - Anota el puerto; el valor inicial es
4536. - En el programa externo selecciona su opción de Hamlib NET rigctl, Network rigctl o equivalente y apunta al host/puerto de PoorSDR4All.
- No configures en ese programa el puerto serie físico del uSDX: el serial lo mantiene abierto PoorSDR4All.
Otros programas sin soporte rigctld
- Activa Emulador TS-480 en Ajustes → Radio / CAT.
- Configura su Host y Puerto; por defecto queda en
127.0.0.1:4532. - 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.
- 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
- Abre PoorSDR4All y comprueba que el uSDX está conectado por CAT.
- Cambia la frecuencia desde la consola y confirma que la radio la sigue.
- Cambia LSB/USB y confirma que el modo responde.
- 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 / CAT | Valor típico para WSJT-X en el mismo PC | Por qué |
|---|---|---|
| Modo de control | direct | PoorSDR4All controla directamente el puerto CAT físico. |
| Proxy rigctld | Activado | Levanta el servidor al que se conectará WSJT-X. |
| rigctld host | 127.0.0.1 | Limita la conexión al mismo ordenador. |
| rigctld puerto | 4536 | Es el puerto que debes repetir en WSJT-X. |
| Emulador TS-480 | No necesario | WSJT-X puede utilizar Hamlib NET rigctl directamente. |
3. Configura WSJT-X
En WSJT-X abre File → Settings → Radio y configura el control así:

| Campo en WSJT-X | Qué poner | Explicación |
|---|---|---|
| Rig | Hamlib NET rigctl | WSJT-X hablará con el proxy de PoorSDR4All en vez de abrir el uSDX directamente. |
| Network Server | 127.0.0.1:4536 | Usa exactamente el host y puerto configurados en PoorSDR4All. |
| Serial Port | No uses el puerto físico del uSDX | El puerto CAT real ya está abierto por PoorSDR4All. |
| Baud / Data / Stop bits | No forman el enlace físico en este esquema | La conexión entre WSJT-X y PoorSDR4All es TCP mediante rigctld. |
| PTT Method | CAT | La 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
- Pulsa Test CAT en WSJT-X. Si funciona, la conexión TCP al proxy está operativa.
- 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.
- Si Test CAT falla, revisa Proxy rigctld, host, puerto, firewall local y que PoorSDR4All esté abierto.
- 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.
| Flujo | Camino |
|---|---|
| CAT / frecuencia / modo / PTT | WSJT-X → proxy rigctld de PoorSDR4All → CAT → uSDX |
| Audio RX para decodificar | uSDX o cadena de recepción → dispositivo de entrada → WSJT-X |
| Audio TX | WSJT-X → dispositivo de salida → entrada de audio del uSDX |
6. Para trabajar FT8
- Sincroniza con precisión el reloj del ordenador.
- Comprueba la banda y la frecuencia de trabajo.
- Verifica que WSJT-X recibe audio y que aparecen señales en su waterfall.
- Ajusta niveles para evitar saturación.
- Antes de transmitir, verifica CAT y PTT con las pruebas anteriores.
- 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 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
| Problema | Qué comprobar |
|---|---|
| Test CAT falla inmediatamente | PoorSDR4All abierto, Proxy rigctld activado, host/puerto correctos y puerto TCP no ocupado. |
| WSJT-X intenta abrir el COM/tty | Has seleccionado una radio serie normal en lugar de Hamlib NET rigctl. |
| CAT funciona pero PTT no | Prueba PTT directamente en PoorSDR4All; revisa firmware y comandos CAT TX/RX. |
| La frecuencia cambia y vuelve atrás | Comprueba 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 decodifica | El 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 otro | El proxy probablemente escucha sólo en 127.0.0.1; revisa bind, firewall y dirección LAN. |
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ón | Comando |
|---|---|
| Consultar frecuencia | FA; |
| Fijar frecuencia | FA###########; |
| Consultar modo | MD; |
| Fijar modo | MDn; |
| Consultar estado | IF; |
| Consultar identificación | ID; |
| Transmitir | TX; |
| Recibir | RX; |
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.
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
| Elemento | Linux | Windows |
|---|---|---|
| Configuración | ~/.config/poorsdr/ | %APPDATA%\poorsdr |
| Datos | ~/.local/share/poorsdr/ | %LOCALAPPDATA%\poorsdr |
| Caché | ~/.cache/poorsdr/ | Según componentes/runtime |
| Archivo | Función |
|---|---|
config.json | Configuración principal. |
layout.json | Posiciones/layout de interfaz. |
memory.json | Memorias locales. |
poorsdr.log | Log principal. |
cat_runtime.log | Diagnóstico CAT. |
waterfall_state.json | Estado/geometría del visor waterfall. |
digi_state.json | Estado/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
- Conecta CAT.
- Selecciona banda.
- Elige LSB o USB.
- Selecciona Radio o SDR.
- Ajusta volumen.
- Activa ANR sólo si ayuda.
- Sintoniza.
- Ajusta ganancia TX.
- PTT.
- Vuelve a RX y verifica.
Recibir con SDR y transmitir con uSDX
- Arranca OpenWebRX+.
- Pulsa OWRX.
- Selecciona RX = SDR.
- Elige banda.
- Busca actividad en waterfall.
- Haz clic/sintoniza.
- 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.
- Sincroniza el reloj del ordenador.
- Comprueba que PoorSDR4All controla frecuencia, modo y PTT del uSDX.
- Activa Proxy rigctld; para el mismo PC, usa normalmente
127.0.0.1:4536. - En WSJT-X selecciona Hamlib NET rigctl y usa ese host/puerto como Network Server.
- Pon PTT Method = CAT y ejecuta Test CAT / Test PTT.
- Configura aparte la entrada y salida de audio de WSJT-X.
- 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
- Sitúate en frecuencia/modo deseados.
- Abre Mem.
- Pon un nombre.
- Guarda.
- Recupérala más tarde para volver a sintonizar.
Solución de problemas uSDX + PoorSDR4All
| Síntoma | Qué revisar |
|---|---|
| PoorSDR4All no inicia | Python 3.11+, Tkinter y dependencias instaladas. |
| El uSDX no aparece en Puerto CAT | Cable de datos, driver, /dev/ttyUSB*//dev/ttyACM* o puerto COM. |
| Permission denied en Linux | Grupo serie de la distribución (dialout, uucp, etc.) y nueva sesión. |
| Puerto ocupado | Otro rigctld, WSJT-X/flrig abriendo serial directamente, terminal serie u otra instancia. |
| WSJT-X: Test CAT falla | Comprueba 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 falla | Verifica primero PTT desde PoorSDR4All y después la compatibilidad CAT de TX/RX del firmware. |
| WSJT-X en otro PC no conecta al proxy | 127.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 frecuencia | Perfil, baud, firmware, cable y cat_runtime.log. |
| PTT por CAT no funciona | Confirma primero frecuencia y modo por CAT; después revisa perfil, velocidad, firmware y comandos TX/RX compatibles. |
| La radio queda en TX | Detén TX desde la propia radio y no continúes hasta revisar la comunicación CAT y el estado TX/RX. |
| No se oye audio | Fuente RX, endpoint de entrada, altavoz, volumen y bloqueo del dispositivo. |
| Audio entrecortado | Frecuencia de muestreo, canales, carga de CPU y backend de audio. |
| ANR empeora la señal | Reduce intensidad o desactívalo. |
| OpenWebRX no abre | Host/puerto, servicio y nombres de perfiles. |
| Waterfall en banda incorrecta | Mapa banda→perfil y nombres reales de OpenWebRX+. |
| RTL-SDR no recibe HF | Driver, direct sampling/upconverter/offsets según el receptor real. |
| Digi vacío | Señal, decodificador, audio/demodulación del backend y modo seleccionado. |
| FT8 no decodifica | Reloj, frecuencia, señal, ancho de banda y decodificadores instalados. |
| No aparecen spots | Fuente MQTT/Telnet, red, credenciales y filtros. |
| Servidor web no arranca | Extra web, puerto, usuario/contraseña y secreto de firma. |
| Web sólo funciona en localhost | Es normal con bind 127.0.0.1; cambiarlo implica una decisión de red y seguridad. |
| Configuración dañada | Haz copia de config.json, renómbralo y deja que PoorSDR4All genere una configuración limpia. |
| Memorias dañadas | Retirar 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érmino | Significado |
|---|---|
| ANR | Reducción de ruido aplicada al audio RX. |
| CAT | Control digital del transceptor mediante comandos. |
| COM | Nombre habitual de un puerto serie en Windows. |
| dBFS | Nivel digital relativo al máximo representable. |
| Digi | Visor de actividad/modos digitales de PoorSDR4All. |
| DSP | Procesamiento digital de señal. |
| FFT | Transformación utilizada para representar energía por frecuencia. |
| FT8 | Modo digital muy usado en HF. |
| Hamlib | Biblioteca/ecosistema de control de equipos de radio. |
| LSB / USB | Banda lateral inferior / superior. |
| MQTT | Protocolo de mensajería usado aquí como una fuente de spots. |
| OpenWebRX+ / OWRX | Servidor receptor SDR externo coordinado por PoorSDR4All. |
| PTT | Push To Talk: paso de recepción a transmisión. |
| rigctld | Servidor de Hamlib que expone control de radio por red. |
| RTL-SDR | Familia de receptores SDR USB. |
| RX / TX | Recepción / transmisión. |
| S-meter | Indicador de nivel; en PoorSDR4All se deriva del SDR. |
| Spot DX | Aviso de una estación activa en una frecuencia. |
| uSDX | Familia/proyecto de transceptor QRP definido en gran parte por software. |
| VFO | Control de la frecuencia de trabajo. |
| Waterfall | Representació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.
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:
- Abre una incidencia describiendo los cambios grandes antes de implementarlos.
- Mantén cada contribución enfocada, con pruebas cuando proceda.
- 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.
- Declara expresamente cualquier código, dato o recurso de terceros: origen, versión y licencia.
- 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.