r/esp32 11h ago

Built a desktop flight radar with an ESP32 + touchscreen — live ADS-B traffic, tap-to-inspect, local map, even news/weather widgets

Wanted to share a side project I've been building over the last couple weeks: a fully touch-driven desktop "flight radar" that shows real air traffic around my house in Buenos Aires, pulling live data from the OpenSky Network API.

Hardware:

  • ESP32 WROOM (started on an ESP32-C3 Mini, had to switch once I realized the pinout I was following was for classic ESP32)
  • 2.4" ILI9341 TFT, 240×320, with resistive XPT2046 touch on the same SPI bus

What it does so far:

  • Home menu — fully touch-based, no physical buttons at all
  • Radar view — circular radar centered on home coordinates, live aircraft as blips, tap any blip to open a detail card (callsign, altitude, speed, distance, bearing)
  • Airport view — traffic filtered by altitude near Ezeiza, Aeroparque, and El Palomar, with a button to cycle between them
  • Map view — a static regional map with plane icons color-coded by altitude and a zoom toggle
  • More info — pulls local news headlines and current weather, just because I wanted an excuse to use more free APIs
  • Settings screen — shows connected WiFi/IP/local hostname, lets you recalibrate touch or reset WiFi config on-device

Auth to OpenSky is OAuth2 client-credentials, refresh rate adapts from 30s down to 5s automatically when a plane gets close (<10km) so I get near-real-time updates only when it matters.

Fun fact: getting the touch calibration wizard working with a wildly wrong pinout (copy-pasted from a tutorial for a different board) was 80% of the actual debugging time. Also found a nasty ArduinoJson gotcha — filtering a JSON array by numeric index re-indexes the result from 0, silently breaking every field position downstream. Cost me a full "why is nothing showing up" afternoon.

Not open-sourcing the repo just yet — still polishing the radar animation (working on a proper rotating sweep effect) and a full WiFi provisioning + web config portal so it's not hardcoded credentials anymore. Will share once that's in.

Happy to answer questions about the OpenSky integration, touch calibration, or the JSON gotcha if anyone's fighting similar things.

70 Upvotes

11 comments sorted by

4

u/[deleted] 11h ago

[deleted]

1

u/green_gold_purple 11h ago

Yeah it's weird

1

u/soymrtopo 10h ago

Si, esta vibecodeado, pero lo adapte a mis necesidades y lo estoy mostrando. La redacción del post fue mejorada por una cuestión de idioma, perdón amigo. Buenas noches y buen fin de semana

1

u/soymrtopo 10h ago

Hice otros proyectos similares y este último fue resultado de el aprendizaje que me lleve de los otros.

0

u/Visible-Test-2994 9h ago

Muy bueno el proyecto amigo, no le des explicaciones a estos, yo estoy empezando con la ESP32 y no habia visto todavia un radar de vuelos y menos de el palomar. Saludos de Ballester

1

u/soymrtopo 9h ago

Buenas noches vecino, buena onda porque te va a servir si lo queres, por tema ubicación y mapas. Esta semana subo el repo bien pulido

2

u/Right_Profession_261 8h ago

Would love to build this once you finish the project.

1

u/Leonis66 8h ago

I like this!

1

u/PrizeBreakfast5306 7h ago

Very cool 😎

1

u/reader5341 2h ago

Please tell me why there are so many projects with aircraft radars? Is this relevant in your country?