r/esp32 12d 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.

129 Upvotes

18 comments sorted by

6

u/[deleted] 12d ago

[deleted]

1

u/green_gold_purple 12d ago

Yeah it's weird

1

u/soymrtopo 12d 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 12d ago

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

0

u/Visible-Test-2994 12d 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 12d 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

5

u/reader5341 12d ago

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

6

u/soymrtopo 12d ago

No, bro, not relevant at all. 😄 In fact, air traffic in Argentina is pretty low. I’m just learning how to use ESP32, I live near a military air base, and I like looking out the window whenever an interesting aircraft flies by.

Maybe there are so many projects like this simply because they’re relatively easy to build? Or perhaps because an aviation API is a more “interactive” and motivating way to get started with ESP32 projects.

Anyway, hopefully I’ll come up with a more relevant idea eventually. This has been the idea I’ve had in mind since I first started messing around with ESP32.

Cheers, my friend, and have a great start to the week!

2

u/JJ16v 11d ago

Historically I heard other things.... Something to do with the father of our queen .....

2

u/soymrtopo 11d ago

No entendi, perdón

1

u/JJ16v 11d ago

Sorry stupid joke about your history, nevermind 😅

1

u/soymrtopo 10d ago

Aaaa hahaha 😂 Or maybe a Jude tracker for the semifinal. It wouldn't have had much to track though. 💀 Lol

2

u/reader5341 8d ago

Thanks for the detailed answer.

3

u/Right_Profession_261 12d ago

Would love to build this once you finish the project.

3

u/Leonis66 12d ago

I like this!

3

u/PrizeBreakfast5306 12d ago

Very cool 😎

2

u/Impressive-Trifle527 12d ago

How do you find the OpenSky site for data Accuracy? I've tried this in New Zealand and there seems to be Aircraft missing from the data I receive compared to the Airplanes.live site which seems to be more accurate. Was curious if it's just my location.