DEV Community

Cover image for ESP32 Plane Radar: firmware con OTA, clima y contexto de vuelo real
lu1tr0n
lu1tr0n

Posted on • Originally published at elsolitario.org

ESP32 Plane Radar: firmware con OTA, clima y contexto de vuelo real

Un ESP32-C3 de unos pocos dólares puede convertirse hoy en un radar de aviones en vivo con el proyecto ESP32 Plane Radar: basta soldarlo a una pantalla redonda de 1.28 pulgadas y flashear un firmware open source para ver, en tiempo real, cada avión que sobrevuela tu zona con datos ADS-B.

El proyecto lo mantiene el desarrollador conocido como ironicbadger, quien esta semana amplió su fork con contexto de vuelo, clima local y actualizaciones OTA autenticadas. El repositorio, publicado bajo licencia MIT, está disponible en GitHub.

TL;DR

  • ESP32 Plane Radar usa un ESP32-C3 y una pantalla redonda de 1.28 pulgadas para mostrar aviones cercanos por distancia y rumbo.- El firmware es open source, está escrito en C++ y se publica bajo licencia MIT en GitHub.- El armado toma unos 15 minutos con cables finos de silicona y algo de soldadura.- El flasheo se hace desde el navegador con la herramienta web de ESPHome, en menos de 30 segundos.- El fork más reciente agrega origen y destino del vuelo, tipos de aeronave más descriptivos como B737-800, clima local, hora y fecha.- Ahora se pueden cambiar opciones de la pantalla (unidades, pistas, clima, formato de hora) sin reconfigurar el WiFi.- Suma actualizaciones OTA autenticadas: ya no hace falta conectar el dispositivo por USB para instalar una nueva versión.- El modelo 3D original de MakerWorld tiene tolerancias demasiado ajustadas para varios lotes de placas ESP32-C3.

Qué pasó con ESP32 Plane Radar

El desarrollador construyó el proyecto durante un fin de semana libre, después de dar una charla en Devrelcon NYC. Las piezas le habían llegado mientras estaba de viaje, y el modelo apareció como destacado en MakerWorld unas semanas antes.

El armado requirió soldadura, algo que el autor describe como habitual para quien viene de construir drones de carreras. Usó cables finos de silicona para el cableado y completó el montaje físico en unos 15 minutos.

Para el firmware usó la herramienta de flasheo web de ESPHome, que permite instalar un binario en un ESP32 nuevo directamente desde el navegador, sin instalar un entorno de desarrollo. El proceso completo tomó menos de 30 segundos.

⚠️ Ojo: el modelo 3D original de MakerWorld (por matixovi) tiene tolerancias demasiado ajustadas para el lote de placas que usó el autor. No es un problema del firmware, sino de la impresión: si tu ESP32-C3 no encaja, probá con el modelo alternativo para Waveshare antes de lijar la carcasa.
El modelo original de MakerWorld suma 5.4K likes, pero encaja mal en varios lotes de ESP32-C3.

Contexto e historia

El ADS-B (Automatic Dependent Surveillance-Broadcast) es el protocolo que usan los aviones comerciales para transmitir posición, altitud y velocidad sin cifrado, en la frecuencia de 1090 MHz. Desde hace más de una década, radioaficionados y makers usan receptores baratos con chips RTL-SDR para captar esas señales con herramientas como dump1090 o PiAware, normalmente mostrando los datos en un dashboard web en una laptop o Raspberry Pi.

ESP32 Plane Radar toma esa misma idea de rastreo ADS-B, pero la reduce a un dispositivo dedicado, del tamaño de un reloj, con una única función: mostrar aviones cercanos como puntos en un radar tipo sonar. El firmware no incluye un receptor de radio propio: consulta tráfico ADS-B cercano desde una fuente de datos configurable en la red, y grafica cada aeronave por distancia y rumbo respecto a la ubicación configurada.

flowchart TD
A["Fuente de datos ADS-B (local o API)"] --> B["ESP32-C3"]
B --> C["Pantalla redonda 1.28 pulgadas"]
B --> D["Interfaz web de configuracion"]
subgraph Firmware
B
C
D
end
Enter fullscreen mode Exit fullscreen mode

La diferencia frente a un dashboard tradicional es la simplicidad: no hay navegador ni laptop prendida, solo una pantalla redonda de bajo consumo que podés dejar en un escritorio o una repisa.

Detalles técnicos y rendimiento

El hardware base de ESP32 Plane Radar es un ESP32-C3 combinado con un display redondo de 1.28 pulgadas. Existen al menos dos diseños de carcasa 3D en MakerWorld, con tolerancias y hardware objetivo distintos:
Modelo 3DCuándo usarlaVentajaLimitaciónESP32 Plane Radar (matixovi, 31 mayo 2026)Si querés el diseño original y más popular5.4K likes, 3.3K downloads, 15.1K saves, 2.4K makesTolerancias demasiado ajustadas para varios lotes de ESP32-C3ESP32-S3 1.28\" Waveshare Plane Radar (ThePrintableWatch, 10 junio 2026)Si tu placa es específicamente una Waveshare ESP32-S3Encaje pensado para ese hardware puntualComunidad más chica: 154 likes, 194 downloads, 470 saves, 102 makes
El fork más reciente agrega varias capas de contexto que el proyecto original no tenía. Donde antes solo se veía la matrícula de cada avión, ahora se muestra origen y destino del vuelo cuando el dato está disponible, con el callsign como respaldo si no hay ruta. Los tipos de aeronave también son más descriptivos: en vez de un código genérico como B737, el display muestra variantes como B737-800.

También se sumó clima local (temperatura, humedad, hora y fecha) en la misma pantalla que antes solo mostraba el radar. La interfaz web del dispositivo ahora permite modificar coordenadas después de la configuración inicial, algo que antes requería resetear el WiFi. Se pueden cambiar unidades, pistas, clima, formato de temperatura y reloj de 12 o 24 horas sin perder la conexión guardada. El tamaño de texto es 10% más grande por defecto, con un slider persistente de 80% a 130% para ajustarlo.

💭 Clave: la mejora más relevante para el mantenimiento a largo plazo no es visual: es el soporte de OTA autenticado. Antes, cada nueva versión del firmware exigía conectar el ESP32 por USB; ahora se instala desde el navegador, con usuario y contraseña.

Para confirmar que el OTA autenticado quedó activo, entrá a la IP local que le asignó tu router al dispositivo: debería pedirte usuario y contraseña antes de aceptar un archivo .bin nuevo. Si te deja subir firmware sin pedir credenciales, la protección no está activa y conviene revisar la configuración.

Cómo empezar

Lo más rápido para probar el firmware sin compilar nada es la herramienta de flasheo web de ESPHome, que corre en Chrome o Edge vía WebSerial: conectás el ESP32 por USB, entrás a web.esphome.io y seleccionás el binario. Si preferís compilar el fork con las mejoras (origen/destino, clima, OTA), el flujo con PlatformIO es el mismo en los tres sistemas operativos:

# Windows (PowerShell)
pip install platformio
git clone https://github.com/ironicbadger/ESP32-Plane-Radar.git
cd ESP32-Plane-Radar
pio run -t upload

# macOS
brew install platformio
git clone https://github.com/ironicbadger/ESP32-Plane-Radar.git
cd ESP32-Plane-Radar
pio run -t upload

# Linux
python3 -m pip install --user platformio
git clone https://github.com/ironicbadger/ESP32-Plane-Radar.git
cd ESP32-Plane-Radar
pio run -t upload
Enter fullscreen mode Exit fullscreen mode

El comando pio run -t upload compila el firmware y lo sube al ESP32 conectado por USB. Después del primer flasheo, el dispositivo abre un punto de acceso WiFi propio para que configures tu red y tu ubicación desde el navegador del celular.

La ubicación (latitud y longitud) es la que usa el firmware para calcular distancia y rumbo de cada avión. Un archivo de configuración típico en este tipo de proyectos ESP32 luce así:

// config.h (patron habitual en firmwares ESP32 con coordenadas fijas)
#define WIFI_SSID "mi_red_2.4ghz"
#define WIFI_PASSWORD "mi_password"
#define STATION_LAT 13.6929
#define STATION_LON -89.2182
#define RADAR_RANGE_KM 50
#define UNITS_METRIC true
Enter fullscreen mode Exit fullscreen mode

Con STATION_LAT y STATION_LON definidos, cada aeronave recibida se posiciona en la pantalla según su distancia real al punto configurado. Para confirmar que la calibración es correcta, comparás el rumbo mostrado en pantalla contra un avión que sepas que vuela en una dirección conocida, por ejemplo la ruta de aproximación de un aeropuerto cercano.
La interfaz web ahora permite cambiar unidades y clima sin resetear el WiFi guardado.

Impacto y análisis

ESP32 Plane Radar es un ejemplo pequeño pero representativo de algo más grande: cuánto bajó el costo de extender un firmware open source con asistentes de código. El propio autor describe las mejoras del día como hechas con la ayuda de puras vibes, es decir, iterando con un agente de IA en vez de escribir cada línea a mano. El resultado no es un prototipo frágil: el autor dice haber compilado, flasheado y probado todo en el dispositivo real antes de subirlo a la rama principal.

El otro punto relevante es de costo de entrada. Una estación ADS-B dedicada con antena, RTL-SDR y Raspberry Pi suele ocupar espacio permanente en el escritorio y requerir más piezas. Un ESP32-C3 con display redondo es una fracción de eso, y al depender de una fuente de datos externa en vez de un receptor de radio propio, el dispositivo en sí es más simple de replicar.

La licencia MIT también importa: cualquiera puede tomar el repositorio, hacer un fork como el de ironicbadger, y sumar sus propias features sin pedir permiso. Es el mismo patrón que sostiene buena parte del hardware open source para makers: un proyecto base simple, y una comunidad que lo extiende en direcciones que el autor original no había previsto.

Qué sigue

El propio autor adelantó los próximos pasos: portar el firmware a una pantalla más grande y diseñar una carcasa impresa en 3D a medida, en vez de depender de los modelos comunitarios existentes. Por ahora, todo el trabajo del fork ya está compilado, probado en el dispositivo real y mergeado en la rama principal del repositorio.

📖 Resumen en Telegram: Ver resumen

Probalo vos: conectá un ESP32-C3 por USB, abrí web.esphome.io en Chrome y flasheá el firmware en menos de 30 segundos para ver aviones reales en tu propia pantalla hoy mismo.

Preguntas frecuentes

¿Qué hardware necesito para armar el ESP32 Plane Radar?

Un microcontrolador ESP32-C3, una pantalla redonda de 1.28 pulgadas, cables finos de silicona para el cableado y una carcasa impresa en 3D. Existen dos modelos en MakerWorld, con distintas tolerancias según tu placa.

¿Necesito saber soldar para armarlo?

Sí, el proyecto requiere soldadura básica entre el ESP32-C3 y el conector del display. No es un armado sin herramientas tipo plug and play.

¿El ESP32 recibe las señales ADS-B por sí mismo?

El firmware muestra tráfico ADS-B cercano, pero el ESP32-C3 no trae un receptor de radio de 1090 MHz propio: depende de obtener los datos de vuelos desde una fuente externa configurable en la red.

¿Cómo actualizo el firmware sin desarmar el dispositivo?

El fork más reciente agrega OTA autenticado: se instala una nueva versión desde el navegador, con usuario y contraseña, sin volver a conectar el ESP32 por USB.

¿Cuánto tarda el flasheo inicial?

Usando la herramienta web de ESPHome desde un navegador compatible con WebSerial, el flasheo completo toma menos de 30 segundos.

¿El proyecto es de código abierto?

Sí, se publica bajo licencia MIT en GitHub, lo que permite a cualquiera clonarlo, modificarlo y redistribuirlo, incluyendo forks como el que agregó clima, rutas de vuelo y OTA.

Referencias

📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.

Top comments (0)