Recibiendo

Cómo construí mi primer receptor ADS-B, un domingo, en Bruselas

Publicado

Una Raspberry Pi 5, un dongle SDR USB y una antena con base magnética sobre una mesa de cocina

Escrito en mayo de 2026. El instalador del feeder ha cambiado desde entonces: para los pasos actuales, siga el taller en radar.dataero.eu.

Una guía no muy técnica escrita por alguien que, en rigor, no es muy técnico.


Bien, vamos allá.

El sábado pasado volví de un salto corto hasta Le Touquet. Viento del suroeste a 12 nudos, el tipo de tiempo que hace olvidar que el pronóstico iba a ser peor. De camino a casa, en algún punto sobre el Pas-de-Calais, viendo en SkyDemon una tranquila hilera de A320 varios miles de pies por encima de mí, tuve un pensamiento que he tenido al menos cuatro veces antes y sobre el que nunca había actuado.

Debería montar un receptor ADS-B.

Esta vez, en el tren de vuelta desde Grimbergen, pedí las piezas.

El domingo a la hora de comer estaba viendo aeronaves sobre Bruselas con mi propio equipo. Desde un alféizar. Con el hervidor puesto. Todo llevó unas dos horas y media, dos tazas de café y un breve momento de confusión que se resolvió solo cuando leí la línea de la documentación que me había saltado. Calculo que noventa minutos del total fueron yo leyendo con más atención de la que realmente necesitaba.

Este artículo es para cualquiera que haya abierto alguna vez una guía de Raspberry Pi y haya cerrado la pestaña en silencio. Es la versión de la guía que me habría gustado tener el sábado por la mañana.

La lista de la compra

Tenía una Raspberry Pi 5 en un cajón. No tengo una buena explicación de por qué; la compré la primavera pasada con la intención de hacer algo interesante y luego no lo hice. Si no tiene ya una Pi, consiga una Pi 5 (con 8 GB es más que suficiente) y una fuente de alimentación. Una Pi 4 más antigua funciona perfectamente; la Pi 5 es simplemente la que yo tenía.

A eso añadí dos cosas de Amazon.de:

  • Un dongle SDR USB NooElec NESDR Smart: carcasa de aluminio, chip R820T2, del tamaño de una memoria USB gruesa con un pequeño conector de antena en un extremo. Unos 30 €. (Es, para ser justos, el aparato más bonito de mi piso.)
  • Una antena Bingfu de doble banda con base magnética: 978 / 1090 MHz, 7 dBi, tres metros de cable, conector SMA. Unos 25 €. Parece un pequeño salero negro sobre un disco magnético. Está, en general, bien. Más sobre esto más abajo.

Más una tarjeta microSD que tuve que rescatar de un cajón del escritorio. (Llevaba allí desde aproximadamente 2019. Ha tenido una vida más interesante de lo que le he reconocido.)

Gasto total, dado que la Pi ya era mía: unos 55 € y una mañana de domingo. Los precios bailan: los anuncios de Amazon cambian con las existencias y los vendedores, así que compruébelo antes de comprar; tome las cifras de aquí como una orientación de orden de magnitud, no como un presupuesto.

El mito, y la realidad

El mito es que configurar una Pi es la parte del proyecto en la que descubre que en realidad no entiende los ordenadores, su wifi, ni a sí mismo.

La realidad se parece más a la preparación de un vuelo. Hay una lista de comprobación; se sigue en orden; si se salta un paso lo descubre en cuarenta segundos porque algo no funciona. A la gente de aviación la entrenan para que esto le guste. Cualquiera que haya volado un circuito y hecho una comprobación HASELL tiene el cerebro adecuado para esta afición.

Así que: lista de comprobación.

Qué pasa realmente en esta Pi

Dos piezas de software acaban viviendo en esta cajita.

La primera es readsb, un decodificador de código abierto mantenido por un pequeño grupo de personas que entienden de ingeniería de radio más de lo que es sano para un ser humano. Escucha las débiles ráfagas de 1090 MHz que su dongle capta de la antena, desenreda miles de transpondedores de aeronaves que se solapan cada segundo y escribe el resultado en un ordenado archivo JSON una vez por segundo. Es, en general, la parte difícil de todo el proyecto. Alguien ya la ha hecho.

La segunda es el feeder de Dataero, un pequeño servicio en Python que lee el archivo JSON de readsb y lo reenvía a la red de Dataero en radar.dataero.eu. Es la mitad fácil del problema; también es la mitad que hace que su equipo sea útil para alguien más que usted.

Primero instala readsb, confirma que está oyendo aeronaves y luego instala el feeder de Dataero encima.

Esa es toda la arquitectura. A partir de aquí, de verdad que es solo una lista de comprobación.

Paso 1 — Grabar la tarjeta SD

Descargue Raspberry Pi Imager en su portátil. Existe para Windows, Mac y Linux, y es discretamente uno de los mejores instaladores que he usado nunca. Conecte la tarjeta SD al portátil. Elija Raspberry Pi OS Lite (64-bit); Lite, porque no hace falta un escritorio en un aparato que va a vivir en un alféizar y nunca verá un monitor.

Antes de hacer clic en Write, abra los ajustes del icono del engranaje. Defina el nombre de host (el mío es radar-etterbeek, porque no soy nada sutil), defina un nombre de usuario y una contraseña, pegue las credenciales de su wifi y marque Enable SSH. Esto deja preparado todo lo que necesita; no tendrá que conectar una pantalla a la Pi en ningún momento.

Haga clic en Write. Tómese un café. Vuelva en cinco minutos.

Paso 2 — Arrancar la Pi

Expulse la tarjeta SD del portátil. Deslícela en la ranura de la parte inferior de la Pi. Conecte la fuente de alimentación.

Hay un silencio particular que se instala en una cocina cuando una Raspberry Pi arranca por primera vez. En la mía duró unos noventa segundos. Con Brothers in Arms de banda sonora, que parecía lo apropiado.

Cuando la Pi haya terminado de pensar, localícela en su red. La página de administración del router es la forma más fácil: busque radar-etterbeek (o como la haya llamado) y anote la dirección IP.

Paso 3 — Entrar por SSH y actualizar

Desde el terminal de su portátil:

ssh sandy@192.168.1.42

(Use su nombre de usuario y la IP de su Pi.) La primera vez le preguntará si confía en el host. Sí confía. Después:

sudo apt update && sudo apt upgrade -y

Esto tarda unos minutos. Prepárese un segundo café.

Paso 4 — Conectar el dongle y la antena

Apague la Pi (sudo shutdown now). Conecte el dongle NooElec a uno de los puertos USB-A de la Pi. Enrosque el cable SMA de la antena en el extremo del dongle: apretado con los dedos y luego un cuarto de vuelta con dos dedos; no se ponga heroico con unos alicates.

Coloque la antena en algún sitio con vista al cielo. Yo puse la mía en el interior de la ventana del salón, con el disco magnético pegado a una lata de galletas de acero porque el alféizar es de madera. Lo que funcione.

Vuelva a encender la Pi. Entre de nuevo por SSH.

Paso 5 — Crear una cuenta de Dataero y obtener su clave API

Dos pasos cortos en el navegador que no ocurren en la Pi.

  1. Abra radar.dataero.eu en el navegador de su portátil. Haga clic en Register, rellene el formulario y confirme su correo electrónico si se lo pide.
  2. Una vez dentro, haga clic en su nombre de usuario en la esquina superior derecha, vaya a su Profile, busque la sección API Key y haga clic en Request API Key. Copie la clave en algún sitio donde pueda encontrarla en los próximos treinta segundos.

Eso es todo. Trate la clave como una contraseña: no la pegue en Discord, no la suba a un repositorio público, no la lea en voz alta durante la cena.

Paso 6 — Instalar el feeder de Dataero

De vuelta a la sesión SSH en la Pi. Debería seguir en la carpeta dataero-adsb-feeder del paso 5; si se ha alejado:

cd ~/dataero-adsb-feeder

Después ejecute el instalador del feeder:

sudo bash installer.sh

Le hará un par de preguntas educadas; la más importante, que pegue la clave API que acaba de copiar de su perfil de Dataero. El instalador crea un entorno virtual de Python en /usr/local/dataero-adsb-feeder, deja su clave en un archivo .env allí y registra el feeder como un servicio de systemd que arranca con el sistema.

Cuando termine, compruebe que está vivo:

sudo systemctl status dataero-feeder.service

El mismo procedimiento: active (running), en verde. Si no, la causa más común es una errata en la clave API, cosa que journalctl -u dataero-feeder.service -e mencionará con notable franqueza.

Paso 7 — Primer contacto

Abra de nuevo radar.dataero.eu, inicie sesión y busque su estación en el mapa. En uno o dos minutos desde que el feeder arranca debería ver cómo el marcador de su estación se pone verde y una pequeña constelación de aeronaves se despliega a su alrededor.

La primera aeronave que vi fue un A320 de Lufthansa ascendiendo desde Fráncfort a FL340, rumbo oeste. La segunda, un Boeing C-17 muy alto sobre los Países Bajos, rumbo este a FL310; presumiblemente el camino largo hacia algún lugar del Golfo. La tercera fue la que me hizo sonreír de verdad: un Cirrus SR22 (no el mío, pero casi) paseando por la costa belga.

Ese es el momento. Una vez que ha visto aparecer sus primeras tres o cuatro trazas en su propia pantalla, captadas por su propio equipo, la parte técnica del proyecto ha terminado y empieza la parte de aficionado.

Comandos útiles que querrá más adelante

Una breve tarjeta de referencia para cuando vuelva el fin de semana que viene y lo haya olvidado todo:

# Status
sudo systemctl status readsb
sudo systemctl status dataero-feeder.service
# Live logs
sudo journalctl -u readsb -f
sudo journalctl -u dataero-feeder.service -f
# Restart after editing config
sudo systemctl restart dataero-feeder.service
# Edit the feeder's config (API key, paths, debug)
sudo nano /usr/local/dataero-adsb-feeder/.env

Poner DEBUG=TRUE en el .env y reiniciar el servicio es el primer paso correcto cuando algo no va bien y la razón no es evidente. Vuelva a ponerlo en FALSE cuando lo haya resuelto; así los registros están más tranquilos.

Qué le da en realidad una antena interior

¿Sinceramente? Más de lo que esperaba y menos de lo que me gustaría.

Desde mi ventana en Etterbeek veo, con la geometría adecuada, casi todo lo que vuela por encima de 5.000 pies en un radio de unas 100 millas náuticas. Eso cubre las principales llegadas a Zaventem, el tráfico europeo de alta cota que cruza Bélgica y la mayor parte de la aviación general que sale de Grimbergen y Charleroi una vez que se ha librado de los edificios.

Lo que me pierdo es lo bajo y lo cercano: el trabajo de circuito en los campos pequeños, los helicópteros por debajo de 1.500 pies, los vuelos sanitarios nocturnos que se mantienen bajos. La Bingfu hace el trabajo para el que está diseñada, que es ser pequeña, de interior y razonable. No está diseñada para ser lo mejor que se puede conseguir.

Así que he hecho lo que todo feeder de ADS-B ha hecho antes que yo. Ya le estoy echando el ojo a una antena exterior. La Auratrove 1090 SMA outdoor, unos 60 €, es el siguiente paso realista: más ganancia, preparada para la intemperie, se monta en la barandilla de un balcón. El salto de recepción de interior a exterior no es, según cuentan todos, nada sutil. Ya contaré.

Una pequeña reverencia hacia readsb

Estaría mal cerrar esto sin decirlo claramente: la parte realmente ingeniosa de este proyecto no es la Pi, y tampoco es el feeder de Dataero. Es readsb. La parte de Dataero, incluido este artículo entero, es la mitad fácil.

readsb es lo que escucha débiles ráfagas de radio de 1090 MHz procedentes de aeronaves a potencialmente 200 millas náuticas, desenreda miles de mensajes de transpondedor Mode S que se solapan cada segundo y convierte todo eso en un archivo JSON limpio en un pequeño ordenador que cuesta menos que una cena decente. Desciende de dump1090, lo continuó Mictronics y actualmente lo mantienen wiedehopf y una comunidad de colaboradores. Nadie en Dataero escribió nada de eso. Nosotros pasamos los bytes.

Si este software fuera una banda, readsb sería el cantante, el guitarrista solista, el batería, el bajista, el productor, el técnico de sonido y la persona que escribió todas las canciones. El feeder de Dataero es el que reparte folletos en la puerta.

Así que: una pequeña reverencia, sinceramente.

Una nota sobre Dataero

Apunté mi feed hacia Dataero, la red ADS-B europea construida por la comunidad que gestionamos, en parte porque es donde trabajo y en parte porque integrar mi receptor en una red que es de las personas que la hacen funcionar me atrae más que entregar mis datos a una empresa con la que nunca hablaré. La instalación no es distinta de cualquier otra; lo que cambia es lo que ocurre con los datos después.

Si ya alimenta otra red, no necesita cambiar. Dataero funciona en paralelo.

Lo que le diría a la Sandy del sábado por la mañana

Que la Raspberry Pi es, en general, solo un pequeño ordenador Linux que hace una cosa muy bien si se lo pide con educación. Que el dongle SDR es del tamaño de una memoria USB. Que la antena es del tamaño de un utensilio de cocina. Que las dos piezas de software que necesita se instalan ambas con scripts; que una de ellas es magia de código abierto y la otra un relé de sesenta líneas; que nada de esto es irrecuperable. Si un paso no funciona, relea la línea de arriba y vuelva a intentarlo.

Que la satisfacción de abrir una pestaña del navegador y ver aeronaves reales, captadas por su propio equipo, colocado en su alféizar, en su piso, es, discretamente, del todo desproporcionada respecto al trabajo que supone.

En fin. Una taza de té, y de vuelta a ello.


Si quiere añadir su nodo a Dataero, el repositorio del feeder está en github.com/dataero-adsb/dataero-adsb-feeder y la red a la que se une está en radar.dataero.eu. Yo estaré en ella esta noche.

Véalo con sus propios datos

Cuéntenos cómo es su aeropuerto, autoridad o flota y le mostraremos lo que la red ya ve allí.