Comment by amatecha
2 days ago
Looks pretty cool, though kinda "cheating" by pulling from adsb.fi - though I think you'd need something a lot more powerful than an ESP32 to receive and decode ADS-B ;)
2 days ago
Looks pretty cool, though kinda "cheating" by pulling from adsb.fi - though I think you'd need something a lot more powerful than an ESP32 to receive and decode ADS-B ;)
Using ADS-B and calling it a "radar" feels wrong to me.
(But is is a cool project)
Agreed, and even SSR always felt like cheating imo. I wanna see someone build a primary radar on an esp 32.
Gotta admit that's what I clicked through hoping for.
I've seen a few projects that use SDR to detect doppler shifts of reflections of broadcast FM radio station off planes as "passive radar". But that doesn't get much in the way of direction info, just approach velocity. I've pondered building something that uses that and correlates it with an ADS-B receiver, to see it it can detect aircraft that are not transmitting ADS-B. But that'd get me on another "list" if I published it I suspect...
This is not the project I remember, but it's the same idea and technique: https://github.com/Max-Manning/passiveRadar
4 replies →
And not actually receiving ADS-B which requires some radio module tunnable to specific frequencies
I would actually expect the math to decode ads-b traffic is substantially less complex than, for example, a TLS connection.
TLS is supported in hardware, so it takes no more processing power than moving the data around without encryption.
In the US, ADS-B in uses 1.3 MHz of bandwidth, which would require 2.6 Msps. The ESP32-C3 running at 160 Mhz would have ~70 instructions per sample to process the data. That's probably doable, but the ESP32-C3 is one of the less capable variations of the line, and there are dual-core versions running at more than double the frequency, and those should be able to handle ADS-B in without issue.
> TLS is supported in hardware, so it takes no more processing power than moving the data around without encryption.
Specifically, common PC CPUs support AES acceleration, so you can get the ongoing encryption for an established connection with minimal overhead. There is still some initial overhead for establishing the TLS connection due to the need to do key exchange (with asymmetric cryptography primitives typically based on Diffie-Hellman with finite fields or elliptic curves).
GPS is over 1 GHz, but I don't think you need to have a microcontroller running that fast to decode it?
1 reply →
Except on small memory / processing devices (like ESP32) it's not actually that simple. Processing ADS-B on an ESP32 would, likely, be easier.
Part of the reason I've come to understand how finicky TLS is on ESP32 is because there have been a ton of TLS issues with these devices in Home Assistant [0]. The linked issue just being one of them that's still not fully resolved.
[0] https://github.com/esphome/home-assistant-voice-pe/issues/31...
It is trivial to decode, but don’t forget that tls is extensively optimised on most networking stacks.
Actually possible to receive and decode ADS-B on ESP32, but MLAT is failing (tried hard but not found a trick yet).
Biggest problem isn’t that it’s not powerful enough, but the USB port bandwidth don’t match most SDR.
Using some clever tricks you can receive parts of the message on a slower USB and be able to decode ADS-B
Why do you need to send the samples over USB?
The built-in ADC doesn't have a high enough sample rate to decode ADS-B in, so an external one is needed, and USB ADCs are readily available with built-in demodulators, for use as DVB-TV receivers.
1 reply →
Something like this: https://github.com/CoolNamesAllTaken/adsbee
You could fit a pi zero and rtl in an enclosure not much larger than the one they’ve printed.